1.机场员工排班项目
该项目主要为实现机场员工的班次管理、员工管理和排班、考勤打卡等功能。我在项目中主要承担项目搭建、架构、功能设计、后台开发、任务分配和跟踪、技术指导等工作。该项目以JEECG快速开发平台作为基础,采用SpringMVC + Hibernate + Minidao(类Mybatis) + Easyui(UI库)+ Jquery + Boostrap + Ehcache + Redis + Ztree + Vue + Boostrap-table + ElementUI等基础架构,项目通过分布式方式部署在多台linux服务器上,通过Nginx+keepalived实现负载均衡和主从热备的高可用(HA)部署。通过dubbo+zookeeper实现模块化分布式的架构和服务注册。使用Quartz和Job实现需要定时执行的任务。使用缓存技术memcache和数据库查询优化实现功能调用的快速响应。使用算法优化接口。使用JSON数据结构作为前后台数据传送的数据结构。
2.数据中心搭建开发
该项目是为机场信息公司提供的分布式数据服务中心,包括航班中心和产品中心。然后在数据中心的基础上,开发辐射机场各种应用所需的数据接口。我负责数据中心的开发和维护,具体有通过httpClient、爬虫、webservice等方式从第三方网站获取机场数据并持久化到数据库、维护。rabbitMq/AMQP消息队列从第三方提供的数据源异步获取多种机场数据。数据中心使用dubbo+zookeeper模块服务分布式+服务注册的形式向其他的应用分布式地提供数据接口,具体方式是使用REST方式向其他应用提供数据接口服务。使用JSoup技术对爬取的html页面进行解析,使用Spring的JDBCTemplate进行数据的持久化。大量使用多线程、并发地处理多个数据源。在提供数据接口上使用多种数据结构和算法。在处理字符串、分治算法、递归回溯算法、图算法、树算法、贪心算法等应用广泛。除了基本的数据结构之外,还用到比较高级DeQueue、PriorityQueue、TreeMap、还有List[]作为保存图或树的数据结构。在处理复杂问题的时候应用这些算法和减少循环的嵌套,使系统处理速度大幅度提高。