为什么用delphi6.02和Tonglink/Q4.64开发的软件在大数据量的时候会出现丢失数据的问题?(300分)

  • 主题发起人 主题发起人 tseug
  • 开始时间 开始时间
T

tseug

Unregistered / Unconfirmed
GUEST, unregistred user!
我用delphi6.02和Tonglink/Q4.64开发了一套通讯应用程序,但在测试中发现,当数据量
达到10万条以上时,总是丢失一条数据。开始怀疑是生存周期的问题,可是生存周期设置
为10万依然出现同样的问题。服务器端的处理能力没有问题,接收队列一般只有1、2条数
据,数据应该都被及时处理了。我很奇怪为什么总是丢失最后一条数据,而且只有在数据
量到达10万条以后(1万条以内不会出现问题)?
 
既然总是丢失最后一条数据,那就增加一条冗余数据好了,反正不碍事的,^_^
 
你干嘛不问一下东方通公司?
 
[:(], 他要能解决我还到这里来问?工程师都来过了,没有发现问题,就是测试结果不对[:(]
 
为了查找原因,写了个只有简单发送和接受的小程序,采用可靠方式,生存周期设置为
10万秒,发送方根据Tonglink/Q的api返回值确定是否重发,接受方根据返回值决定是否
写入文件,结果,文件中10万条记录少了2条。大家看看还有什么可能的原因,分数不够
可以再加,[red]解决问题的给1000分[/red]
 
查看是不是第10万条的内容有问题,我以前帮别人解答也发现了这个问题,
原因,就是特定条内容不对,!所以你也看看!
 
数据没有问题,为了测试,数据都是由整数转换成的字符串。
 
呵,你接收时有没有什么处理,你看一下处理时有什么例外的处理?
 
应该是你程序的问题,再检查一下吧。
 
你可以试一下接收到数据后,未作任何处理前先写到一个DEBUG文件中,再分析
 
用bcb测试一下,看有没问题。
 
不懂,是不是那个什么TongLink的问题啊?
 
肯定是tonglink的问题了,要么你自己去研究他的源代码,要么让他解决。
 
请在每次接受后确认,接受完整或成功。
否则请重新接受。

 
我觉得并不一定是程序出了错,而是测试程序出了问题,将结果写入文件,而写文件并不是安全的,当读写冲突时,会不会没写入?
建议将结果存入临时数据库的表里.
 
不懂!帮你up一下了
 
建议从第十万开始写到文件件,而且每一条写一个文件(免得写文件性能影响),最后检查在哪一条丢失!
 
建立一个日志文件,然后再分析吧!
 
后退
顶部