- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有一个自定义的 python 脚本,用于监视来自 Nortel 电话系统的调用日志。此电话系统全天的音量都非常高,并且开始出现一些记录可能会丢失的情况。
有些人可能不喜欢这个,但我对以任何方式共享源代码或当前方法不感兴趣。我宁愿从“新项目”的角度考虑这一点。
我正在寻找通过 Linux 上的串行端口可靠地监视大量数据输出的最简单和最安全的方法。我并不将此限制为任何特定的工具或语言集,我想找出最适合完成这项关键工作的方法。我很乐意解析数据并将其插入 mysql,我们可以假设数据可以被删除到文本文件中。
谢谢
最佳答案
好吧,我将采用这种方法让 2 个线程(或进程)工作。
线程1:读线程
这个线程除了从原始串行端口读取数据并将数据放入本地缓冲区/队列(为了速度,内存中是首选)之外什么都不做。它不应该做任何其他事情。根据串行连接的时钟速度,这应该很容易做到。
Thread2:处理线程
这个线程只是休眠,直到本地缓冲区中有数据要处理,然后读取并处理它。就是这样。
将它一分为二的原因是,如果一个忙(MySQL 中用于处理线程的 block ),它不会影响另一个。毕竟,串口由操作系统缓冲,缓冲区大小是有限的。
但话又说回来,任何本地程序都可能比串口发送数据快得多。相对于处理器的时钟速度,串行传输实际上相当慢(115.2kbps 大约是标准硬件的限制)。因此,除非您受 CPU 速度限制(例如在 Arduino 上),否则我看不到正常情况会对其产生太大影响。所以你对语言的选择真的不应该太在意(假设是现代硬件)。坚持你所知道的。
关于mysql - 可靠地监控串口(Nortel CS1000),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4902814/
我有一个自定义的 python 脚本,用于监视来自 Nortel 电话系统的调用日志。此电话系统全天的音量都非常高,并且开始出现一些记录可能会丢失的情况。 有些人可能不喜欢这个,但我对以任何方式共享源
我是一名优秀的程序员,十分优秀!