작성자: 채 사장
링크:/question/26954479/answer/171177491
상업전재는 저자에게 연락하여 허가를 받으십시오. 비상업적 전재는 출처를 명시하십시오.
1, 게이트웨이의 매핑 기능을 사용하는 세 가지 방법이 있습니다. 즉, 게이트웨이에 지정된 IP 세그먼트를 구성하는 엑스트라넷 시스템은 인트라넷에 지정된 IP, 포트가 있는 시스템에서 제공하는 지정 서비스에만 액세스할 수 있습니다.
평가: 이 방법은 편리하지만 가장 안전하지 않습니다.
2, 파일 동기화 기능: 이 방법을 사용하려면 엑스트라넷 서버 1 대와 인트라넷 서버 1 대, 엑스트라넷 서버에 웹 서비스 프로그램을 별도로 배포하고, 게이트웨이가 파일을 동기화할 수 있도록 엑스트라넷 시스템에 * * * 공유 폴더를 별도로 만들어야 합니다 (인트라넷에서 엑스트라넷, 엑스트라넷)
구현 아이디어는 대략
(1), 엑스트라넷 서버가 배포한 웹 서비스 프로그램은 엑스트라넷 사용자가 액세스할 수 있도록 하고, 요청이 수락되면 XML 또는 기타 형식 파일을 생성하여 엑스트라넷 서버의 * * * 에 배치합니다
(2), 게이트웨이에 내부 및 외부 네트워크를 구성하는 * * * 공유 요청 디렉토리 및 * * * 공유 응답 디렉토리를 통해 게이트웨이는 정기적으로 (최소 1 분) 내부 및 외부 네트워크 서버에 지정된 여러 디렉토리를 스캔하여 새 파일이 있는지 확인하고 과거를 동기화합니다.
(3), 인트라넷 서버 웹 서비스 프로그램 내에서 지정된 요청 디렉토리를 정기적으로 검색합니다. 게이트웨이가 엑스트라넷 서버의 요청 파일을 인트라넷 서버의 요청 디렉토리에 동기화하면 인트라넷 프로그램이 요청 파일을 감지한 후 즉시 로컬 또는 인트라넷의 다른 시스템에 대한 웹 서비스 호출을 트리거하고 결과 생성 응답 파일을 응답 디렉토리에 배치합니다.
(4), 게이트웨이가 응답 디렉토리의 새 파일을 감지하고, 파일을 엑스트라넷 서버의 응답 디렉토리에 동기화하고, 엑스트라넷 서버 프로그램 스레드가 요청을 수락한 후 지정된 시간 동안 기다렸다가 응답 디렉토리 아래에 응답 파일 생성 (요청 파일과 응답 파일의 구분을 위해 동일한 이름을 사용함) 을 스캔하고 응답 파일을 읽은 후
평가: 이 방식은 비교적 안전하지만 1 분에 한 번 검색하는 게이트웨이 스캔 빈도의 제한으로 kill 이 됩니다 (고객이 최소 2 분을 기다리게 하는 것은 전혀 불가능합니다).
그러나 새로운 게이트웨이 내부 및 외부 네트워크 데이터 교환 플랫폼의 경우 1s 스캔을 한 번 지원할 수 있으므로 사진, 비디오 등을 교환해야 하는 애플리케이션의 경우 기존 게이트웨이 데이터 교환 시스템 업그레이드를 고려해 보십시오. 이때 파일 동기화를 하는 것이 좋습니다.
3, 데이터베이스 동기화 방법:
구현 아이디어:
(1), 서버 2 대 필요, 인트라넷 서버 및 엑스트라넷 서버, 시스템 2 대 동시 프로그램 배포 ( 동기화된 테이블 필드에는 clob 또는 blob 과 같은 유형 (게이트웨이가 동기화되지 않아 큰 필드 유형을 내보낼 수 없는 원인으로 추측됨) 을 사용할 수 없습니다. 기본 유형이 가장 좋습니다.
(3), 엑스트라넷 웹 서비스 프로그램이 요청을 수신하고 요청 테이블에 요청을 삽입한 다음 스레드가 지정된 시간 동안 휴면한 후 응답 테이블에서 응답 결과를 읽습니다.
(4), 게이트웨이가 엑스트라넷 데이터베이스의 요청 테이블에 삽입된 데이터를 즉시 (구체적으로 알 수 없는 트리거를 사용할 수 있음) 인트라넷 데이터베이스의 요청 테이블에 동기화합니다.
(5), 인트라넷 요청 테이블에 대한 행 레벨 트리거를 미리 설정합니다. 요청 테이블이 데이터를 삽입할 때마다 트리거가 실행되고 인트라넷 웹 서비스 프로그램이 트리거에서 호출됩니다.
(6), 트리거에 결과를 응답 테이블에 삽입할 수 있으며, 비즈니스 논리가 복잡한 경우 웹 서비스 프로그램 내에서 응답 테이블에 결과를 삽입할 수 있습니다.
(7), 게이트웨이는 응답 테이블의 데이터를 엑스트라넷 서버의 응답 테이블에 즉시 동기화합니다.
(8), (3) 대기 중인 스레드는 제한된 시간 동안 100ms (자체 지정) 마다 응답 테이블을 쿼리하고 대기 중인 결과를 고객에게 반환합니다.
4, 요약: 매핑 방법과 데이터베이스 동기화 방법이 가장 신뢰할 수 있지만 보안 요구 사항이 매우 높은 경우에는 데이터베이스 동기화 방법을 사용하는 것이 좋습니다. 그렇지 않으면 매핑 방법을 사용하는 것이 가장 편리합니다.