论文部分内容阅读
在现代工业管理过程中,一般都是采用计算机辅助控制。当多台计算机辅助控制同一套系统的时候,要解决的一个重要问题就是多台计算机之间的相互所需要的数据进行实时共享同步的问题。本文就多计算机之间的内存区数据同步做研究,提出实时数据软总线的概念,以解决多机内存数据共享问题。 实时数据软总线是一套运行在局域网内,完成多台计算机内存共享问题的系统。在每台计算机的内存区中,保留有一段内存空间作为共享内存块,由一段程序去维护这段内存,使它在局域网内的每台计算机中都是一致的。实现一套实时数据软总线系统应保证三点要求。第一点是系统稳健性,保证长时间能够稳定运行;第二点是数据实时性,保证数据软总线中的内容对每一台计算机而言都是实时同步的;第三点是数据准确性,保证多台计算机之间对同一块内存区的数据都是一样的。 在具体实现上,系统以UDP广播协议作为基础,添加自定义上层协议。系统分为三个模块,分别是主控模块,数据发送模块,数据接收模块。主控模块完成启动,读取并解析配置文件,生成子进程的任务,之后转入稳定性维护阶段。主要的同步工作由数据发送模块和数据接收模块完成。数据发送模块的工作流程是数据打包、广播发送、等待回应、补发。根据回应的信息,可能会补发多次数据包。数据接收模块的工作流程是接收数据包分组、完整性检查、回送丢失数据包请求、写入内存。在写入之前,必须保证完整性检查已通过。 根据实际现场中的特点及要求,在某些场合中对部分内存块更改频繁,对其他内存块则可能从未访问,而现场环境中对实时性要求不敏感,可以允许丢掉一部分数据,对宽带的使用则要求占用越少越好。因此本文对带宽控制做了相应优化,设计了节省流量算法。节省流量算法首先对每个共享内存块的使用频繁程度作统计,然后按照一套优化协议,在数据发送与数据接收过程中添加一些控制信息,从而将一部分实时性舍弃掉,换取大量带宽资源的节省,更加满足实际现场环境的需要。