在民航机票行业从事多年,接触了一些大型的民航业务系统,以及PID共享放大软件。
因为本身是做民航业务系统开发,所以对这种PID放大软件的功能比较熟悉,其原理也耳闻已久:"解析eterm协议","模拟通讯","加密传输","会话管理"等。
但自己所用的编程语言是JAVA,而公司所使用的放大软件是VC++编写,所以并未有机会和动机对技术原理进行深思。
在离开待了数年的老东家之后,有幸参与到一个自主研发TMC系统的大项目中来。
在经过一年的艰苦研发之后,系统上线。
但是,使用的一款PID放大软件却频繁掉链子:崩溃频繁,一天多的时候,几十次崩溃,有的时候崩溃了无法自启动,需要人工远程服务器去操作。
权衡之后,为了能在出现问题的时候,有备选,选择加租一款公司在成都地区的PID放大软件,名字这里就不说了。
本以为这种软件在市场上成熟度应该很高,都大同小异,但这家供应商在试用阶段不提供部署,留下了巨大隐患。
等签订合同之后,才发现很QP,很多接口调用失败,不返回原因,而是返回“readTimeout”,不同工号,执行指令时,时不时出现串指令,
更别提软件操作UI和交互反人性,配置信息修改后需要重启软件才能生效等等。
PS:
我们的业务系统全部是在云linux系统,而市面上PID都需要window系统部署,还不能部署在一起,会出现莫名其妙的问题。
所以为此单独购买了一台服务器来部署(切换2个工号使用,试用不到一个月,遭投诉不少,目前已弃用,服务器已格式化为linux,用于其他业务应用服务的部署)
总体从正式开始合作,对接开发,上线,最后弃用,浪费了两个月,费用还各种理由不退。
经此一事,才开始正视内部研究其技术和业务原理的重要性。
事先,从网上也找了一些零散的资料,但是相对比较古老,而且是针对350端口的,只有登录部分的原理介绍。
而后,从进入大厂的多名前同事处了解,他们内部也有基于JAVA进行开发,但是使用场景比较简单,无法独立商用。
但是这释放了一个积极的探索信号,最少有公司或者个人是基于JAVA技术实现了该软件系统的,只此一点,就足够了。
接下来,正式进入了该系统的研发探索。总体分为以下几个部分和过程,如果有兴趣研究的,可以交流。
核心层:
1.实现TLSv1传输(广州地区要特别注意)
2.解析eterm报文协议
3.PID池化管理
4.PID调度管理
5.会话管理
技术框架:省略...
业务功能:基于核心层,需要啥功能,都可以自己实现。
目前上线已4个多月,功能已趋于完善。对稳定这块有较强的自信,事实也是如此。
基于B/S开发的放大系统,比之C/S模式的放大系统,在维护,使用上明显优势,极大提高了IT运维人员和开发人员的使用效率。
有兴趣,可查看软件相关功能介绍,或者加博客账号中的扣扣与我交流。
原文:https://www.cnblogs.com/shenjianxin/p/13047741.html