全省行政审批优化方案(一)
很久没写技术博客了,闲来无事和大家拉哈家常吧,就对我目前维护的这个项目聊聊, Just talk about it a little, 评论务必不包含人身攻击,TKS。
一、先介绍这个软件:
NAME: **省行政审批通用软件系统
用途:**省政务中心办件(通俗点说就是你去注册公司,资质审批等就是在这个系统上进行电子审批)
软件的大体框架:基本可以理解为无框架
代码质量:姑且用"坑爹"来概括
二、我的疑惑:
1、软件采用的winform+web的方式(就是一个winform程序中装载web页面,两边参数各种传,蛋黄都在疼),
我说哈他这样做的目的,登陆是直接读盘F下某个文件的两个加密文件来登陆,也就是说加密文件是通过后台生成的,然后管理人员给办公人员一个U盘里面放上加密文件,还有个目的是到出报表word,动态去统计的,通过存储过程,比如统计这个月的办件量,这个季度得办件量,各种指标,web页面也能操作word的!
登陆完全可以用数字加密、动态口令,ET99什么的,报表应该是个静态的数据,固定的时间去统计数据产生图表(之后我会说么为什么这个系统需要这样),SO 我觉得完全没得必要这两种模式的程序
2、部署情况是这样的,每个需要部署的区县,自备服务器然后有管理人员,比如全省有21个市,140个县需要部署,就需要161个服务器来部署,直接源代码丢在服务器上的,现在服务器上的代码很多都不一样,给维护和升级带来了很多麻烦. 有种想S的感觉。 我想了想他这样做是不是不至于所有的系统同时全部死掉????
我觉得只需要2太服务器就可以了,一台前置机+一台数据库服务器,当然要做安全防护、虚拟镜像,基础数据放一个数据库,办件递增的大数据量需要放另外一个数据库且必须要按地区、按年份横向分表,因为数据量太大,这样做只需要维护2个服务器上的代码和数据库,比起维护161台服务器太轻松了.
类似于这样:
分表查询数据大家会遇到一个问题,同一个地区的不同年份的表中主键如果是int的那么可能会出现两张表相同的主键,SO 大家要给表建一个GUID,这很重要!
行政区域表网上大家可以查到
3、有个系统权限管理器是专门给系统管理员用的,管理部门、人员、事项,设置流程等,我悄悄的告诉你是JAVA做的,艹,.NET程序员维护起来太坑爹了
我还有很多想疑惑,不过我也懒得去疑惑了,我想了哈,我还是自己来写一个,如有可能免费开放源码,仅仅作为技术研究,基础数据库以有初步的构想,等PD设计好后和大家分享,群策群力噶~
三、总结哈我的方案:
1、只部署一套代码
2、只维护2太服务器(其他双机热备、镜像、安全防护开发人员管不到,问维护)
3、数据库横向分表,按行政区域码和年份
未完待续......(晚,安)