现在华中电网做过几个项目的linux上的开发,包括一些文件传输通讯程序,大多是c语言的socket接口的服务端和客户端,以及shell脚本和python的编写,大多写的shell脚本是对服务器状态的实时监控,包括服务器的实时负载以及文件系统的使用情况等,python脚本大多是为了数据分析,包括文件分析,实时数据分析等。在银行的项目中使用的proc,在写过c程序里面写过exec嵌入式sql来实现相关银行业务逻辑。关键字:Linux,C语言,shell,python。
说明,1,2项目是在湖北鑫英泰公司做的,3项目在高伟达公司做的。
1.华中电网wftp传输项目改造
项目描述:
Wftp是一种文件仿ftp传输工具,目的是将文件从linux端发送至windows端,在liunx端wftp功能是将主机上的文件发送至windows机器上。
责任描述:
实现后台挂起该客服端服务后能每隔一段时间发送指定下的目录文件后能通知其他目录下的同名文件的删除,实现后投运到生产环境。发送文件的过程包括,首先发送验证windows的用户名和密码是否合法,再切换windows端接收文件的目录,接着才进行文件的发送,先发文件名,文件内容的发送过程中是分段发送。
每次读取并发送文件的固定字节数进行发送,因为文件较大,如果一次性发送的字节数过多,在接收端可能会丢包,所以每次发送的文件字节数不宜过大,在每次发送的包头有一个表示是否文件读取结束的标志位,windows那一端每接受一个文件后后会给个应答,来分别表示接受失败和接受成功,也就是linux端在每次发送结束后会接受一个应答来记录文件的发送是否成功。因为Linux服务器的系统配置等原因,可能存在大小端数据收发不统一的情况,利用现有的htonl和ntohl函数统一使用大端字节序。
2.荆州自动化项目
项目描述:
公司软件部接了荆州自动化的项目,主要是实时监测地调和电厂的网络状况。
责任描述:
我负责故障诊断这一块,这一块诊断主要是通过网络指令诊断,包括ssh,telnet,ping,traceroute,这四种指令。实现方法是用C语言,将这几种指令的探测输出定向写入到文件中,通过读取分析文件内容的方式判断这几种探测的结果。
3.泉州银行二代支付项目
项目描述:
在linux环境下,对一代支付平台改造,系统通讯机制是socketservice调度,前置机mbfe接收转发报文,守护进程轮询的方式对报文进行处理,拆包到结构体然后更新到数据库相应的表,然后进行具体业务处理逻辑再更新相应的表,最后通过具体进程调度走前置机发送出去。
责任描述:
开发和系统维护,我做的是后台服务器上的改造开发,因为人行的支付系统升级了,所以直连行也需要做对应的升级,升级是对原交易流程的改造,我做的增加一个轮询扫表提交的进程,以及在原交易增加了一个退款交易的分支。