원격 컴퓨터에서 여러 로그 파일을 구문 분석해야하는 데 문제가 있습니다. 몇 가지 합병증이 있습니다 1) 파일이 파일은 (메가 바이트 +) 3) 각 항목은네트워크를 통해 큰 텍스트 파일을 읽고 구문 분석하는 가장 좋은 방법은 무엇입니까?
가 사용 중 문제를 해결하려면 여러 줄 수 있습니다 매우 클 수있다)를 사용 2에있을 수 있습니다, 먼저 복사해야합니다. 현재 원격 컴퓨터에서 로컬 컴퓨터로 직접 복사하고 거기에서 구문 분석합니다. 문제는 2 번으로 이어집니다. 파일이 상당히 크기 때문에 로컬로 복사하는 데 꽤 오래 걸릴 수 있습니다.
파싱 시간을 늘리기 위해 파서를 멀티 스레드로 만들고 싶습니다.하지만 멀티 라인 엔트리를 다루는 것이 다소 번거로 롭습니다.
두 가지 주요 문제는 다음과 같습니다? 1)? 나는 사용 파일에 다른 방법으로 읽어?, 심지어이 켜지지 로컬 수 전송되어) 2) 파일 전송 (압축 속도를 어떻게 내가 어떻게 할 쓰레드간에 라인을 분할 할 때 멀티 라인 엔트리를 다루는가?
업데이트 : 서버 이유에 대한 명백한 구문 분석을 수행하지 않은 이유는 가능한 한 작은 CPU 영향을주고 싶다는 것입니다. 나는 시스템 테스트의 성능에 영향을 미치고 싶지 않다.
네트워크를 통해 직접 100MB 텍스트 파일을 복사하는 데 x 초가 걸리고 원격 클라이언트에서 압축하여 파일을 보낸 다음 수축/읽기에 x/4 초가 걸리므로 그만한 가치가 있지 않습니까? (참고, 실제로 얼마나 오래 압축/전송/압축 풀기/읽기 걸릴지는 모르겠다.) – midas06
꼭 당신은 네트워크를 통해 약간의 압축을 사용할 수있다. 내가 말했듯이, IO 스트리밍 옵션을 검토하십시오. 일부 사람들은 일부 zip 라이브러리를 제안했습니다. OTOH 당신이 원격지에 프로그램을 넣을 수 있다면, 거기에서 처리를해라! –