• 几十套业务系统集中统一授权管理、几十万账户同步多系统实现经验分享


       由于这几年互联网电商的快速崛起,快递行业也进入了高速发展的绝好成长期。随着全社会强劲需求快递公司业绩年年攀新高。快速发展的快递公司需要有强大的IT信息系统,硬件设备基本上款到了货也可以到了,但是软件系统就不是那么简单了,需要长期的改进测试维护完善才能平稳运行。

       公司有几十套业务系统需要快速开发、开发队伍的建设、软件系统的建设、基础平台的建设都堆在了一起,由于用了成熟的通用快速开发平台,所有的用户都能集中统一授权管理、所有的业务系统都有统一的管理后台配置管理,几乎很多开发精力都放在业务模块的开发上就可以了,通用部分可以节约很多精力,减少重复投入。

       我们大致用了2年时间就把公司的核心业务系统重新构造了一遍,全部平稳上线成功。一个公司的核心信息系统甚至是公司的主要资产,也是评估上市竞争力的核心资产。安全稳定可控的信息系统是一个公司平稳运行、快速成长的基本根基。

       由于全国各地有10-30多万用户在线操作,还有各种网络环境,网络不稳定等因素,所以需要能支持离线作业,数据下载上传等处理优化。 几十套业务系统有序、统一,需要一个强大的后台管理工具、集中配置权限、支持cs, bs系统之间的单点登录等等。

       虽然说说是很简单,但是足足耗费了2年时间才真正稳定成熟、感觉这2年时间没浪费。公司耗费了巨大的人力、物力、财力,没有让公司的项目失败,按计划、有条有理的完成了,还是付出了艰苦的努力。接着可以放松几年了,学习学习新技术,完善完善细节就可以了。

       开发一套庞大的软件系统很累,但是后续改进维护就容易了、不用天天加班了,接近2年全部的精力都投入在这个项目了,经常晚上加班到11-12点是经常的事情,还有周末、节假日的时间,大多都在处理这些。其实技术上也不是有多少艰难,就是数据量大了需要有很硬的功夫,能优化每个细节,毕竟每天有30多万人在用,经常在线的用户就有10来万人。业务数据量就更庞大,我主要负责的基础数据部分,相对数据量还少一些,压力小一些。

       专业从事软件编成事业也有15年时间了, 有这么庞大的系统整合亲自操刀、并有全国各地这么多人天天用,而且往后还要用很多年,甚至10年以上,也有一种满足感、成就感产生。生命没浪费。

    同步几十万用户到不同的信息系统中的接口方法参考如下,往往几十万数据获取时接口超时,返回信息过多,接口调用超时,数据库连接超时等等,分批次获取数据效率就会高很多了。

    公司数据、用户数据的基础数据获取所有数据的方法、同步初始数据的方法、以下方法只能在内网里调用

    方法一

    http://jirigala.com.cn/WebApiV46/API/Organize/GetIds

    获取所有公司的Id主键列表

    http://jirigala.com.cn/WebApiV46/API/Organize/GetObject?Id=xxxx

    获取某个id的公司的json序列化信息

    http://jirigala.com.cn/WebApiV46/API/User/GetListByCompany?CompanyId=xxx

    可以按某个公司获取这个公司下的所有用户,这样接口不会超时一次返回的数据不会太多

    方法二

    // 用户数据量不大的,也可以用下面的方法进行用户数据同步

    http://jirigala.com.cn/WebApiV46/API/User/GetIds

    获取所有用户的Id主键列表

    http://jirigala.com.cn/WebApiV46/API/User/GetObject?Id=xxxx

    获取某个id的用户的json序列化信息

    方法三,后去某个时间段被修改的数据,从几号到几号有修改的变动数据获取

    http://172.1.100.119/WebApiV46/API/User/GetList?CompanyId=xxx&start=2018-05-01&end=2018-05-02

    获取某一时间段被修改的用户的json序列化信息(CompanyId可以不传递)

    http://172.1.100.119/WebApiV46/API/Organize/GetList?start=2018-05-01 &end=2018-05-02

    获取某一时间段被修改的公司的json序列化信息(pageIndex=0、pageSize=500 可以不传递)

  • 相关阅读:
    Python max() 函数
    Python log10() 函数
    Python log() 函数
    Python fabs() 函数
    Java开源-astar:A 星算法
    9款超绚丽的HTML5/CSS3应用和动画特效
    Java中处理异常的9个最佳实践
    Java泛型
    Android界面性能调优手册
    正确使用Android性能分析工具——TraceView
  • 原文地址:https://www.cnblogs.com/jirigala/p/4549066.html
Copyright © 2020-2023  润新知