2011-04-04 30 views
4

我正在尋找開發一個可擴展的IM機器人(又名自動化服務代理)。 It's been done before我想知道用什麼方法來保持可靠性。我看到兩個縮放的直接問題:「專業」IM機器人如何避免被踢出線或被鎖定?

1)在AIM上,如果有太多用戶提醒您,您可以啓動。我的機器人不會發送垃圾郵件或做任何惡意的事情,但該漏洞仍然存在。

2)如果存在網絡問題,並且機器人連續多次登錄/關閉,AOL會將其鎖定一段未知的時間。

回答

5

這裏有一些預防措施進行檢測:

  1. 一個機器人可以使用多個用戶帳戶,所以其活性不太可能被檢測到。

  2. 機器人可以使用代理服務器來掩蓋其真實IP地址,甚至進一步隱藏檢測。

  3. 機器人可以根據網絡的規則進行編程,並且可以根據邏輯來阻止打破這些規則。

另外,爲了迴應您的第一個問題,比您預期的要少的人會實際報告問題。

此外,這是純粹的投機,這取決於網絡的規則,它可能是能夠模擬兩個或多個機器人(和多個用戶帳戶)之間有足夠的合法行爲,以抵消實際報告即均爲

針對第二個問題,使用多個帳戶,機器人將在發生故障時移動到下一個帳戶。

1

只是有些想法。

關於#1,您正在處理人機交互。如果你的機器人不會讓別人惱火或不滿意,那麼我懷疑大多數人都會關心。與聊天機器人(恕我直言)的#1規則是測試與一些來自不同背景的人。記錄他們的迴應,以及他們對機器人互動的感受。你也可以通過這種方式收集好的數據來提高你的機器人理解能力。

關於#2,您需要編碼一個有效的速率限制器。如果在短時間內出現少量剝落,可能立即重新連接,但如果它們變得更加頻繁,那麼您需要更多地退出。這對於一般的服務來說實際上是有益的,因爲如果他們遇到服務器端問題,並且當他們嘗試提出這些問題時,有一大堆機器人在他們身上彈起,這是一種痛苦。