KR20170095855A - 데이터 통신 방법 및 장치 - Google Patents

데이터 통신 방법 및 장치 Download PDF

Info

Publication number
KR20170095855A
KR20170095855A KR1020177015948A KR20177015948A KR20170095855A KR 20170095855 A KR20170095855 A KR 20170095855A KR 1020177015948 A KR1020177015948 A KR 1020177015948A KR 20177015948 A KR20177015948 A KR 20177015948A KR 20170095855 A KR20170095855 A KR 20170095855A
Authority
KR
South Korea
Prior art keywords
channel
plug
server
browser
client terminal
Prior art date
Application number
KR1020177015948A
Other languages
English (en)
Other versions
KR102119931B1 (ko
Inventor
미안 후앙
얀 수
Original Assignee
알리바바 그룹 홀딩 리미티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 알리바바 그룹 홀딩 리미티드 filed Critical 알리바바 그룹 홀딩 리미티드
Publication of KR20170095855A publication Critical patent/KR20170095855A/ko
Application granted granted Critical
Publication of KR102119931B1 publication Critical patent/KR102119931B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/42
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • G06F9/44526Plug-ins; Add-ons
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1069Session establishment or de-establishment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/14Multichannel or multilink protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • Stored Programmes (AREA)

Abstract

데이터 통신 방법 및 장치가 제공되며, 이 방법은 제 1 채널에 따라 서버가 전송한 플러그인 실행 명령어를 수신하는 단계 - 상기 플러그인 실행 명령어는 타겟 플러그인을 동작시키도록 지시하는 데 사용됨 -와, 플러그인 실행 명령어에 따라 타겟 플러그인을 호출하여 동작시키는 단계, 처리 결과 데이터를 제 1 채널을 통해 서버로 피드백하여 서버가 처리 결과를 브라우저로 피드백하도록 하는 단계를 포함한다. 본 발명은 각 브라우저의 호환성을 실현시킨다.

Description

데이터 통신 방법 및 장치{DATA COMMUNICATION METHOD AND DEVICE}
본 출원은 인터넷 기술에 관한 것으로, 특히 데이터 통신 방법 및 장치에 관한 것이다.
플러그인은 소프트웨어 기능을 향상시키거나 확장하기 위해 특정 사양에 따라 API(Application Programming Interface)로 작성된 프로그램이다. 또한, 많은 종류의 클라이언트 터미널 소프트웨어는 정상적인 실행을 위해 플러그인이 있어야 한다. 예를 들어, 특정 웹 페이지가 브라우저에서 실행되는 경우 일반적으로 브라우저가 관련 플러그인을 호출하고 실행하는 경우에만 웹 페이지가 정상적으로 실행될 수 있다. 따라서 플러그인은 개발 중에 브라우저가 지정한 API 사양을 따라야 하고 그래야만 브라우저가 플러그인을 호출할 수 있다. 그러나 브라우저 기술의 지속적인 개발로 인해 많은 브라우저가 각각의 개인 플러그인 사양을 사용하기 시작하였다. 애플리케이션 제조업체는 같은 기능을 가진 플러그인에 대해서도 각각 다른 브라우저에 대응하는 플러그인 버전을 개발해야 하므로 작업부하가 크다.
이를 고려하여, 본 발명은 다양한 브라우저와의 플러그인 호환성을 구현하고자 하는 데이터 통신 방법 및 장치를 제공한다.
구체적으로, 본 발명은 다음의 기술적 해결책을 통해 구현된다.
제 1 측면에서, 데이터 통신 데이터가 제공되며, 이 방법은,
브라우저에 의해 송신된 타겟 페이지에 대한 액세스 요청을 수신하는 단계와,
브라우저와 제 2 채널을 설정하고, 클라이언트 터미널 소프트웨어와 제 1 채널을 설정하며, 제 1 채널과 제 2 채널 사이의 대응 관계를 저장하는 단계와,
제 1 채널을 통해 클라이언트 터미널 소프트웨어에 타겟 플러그인을 실행하도록 지시하는 플러그인 실행 명령어를 송신하고, 제 2 채널을 통해 브라우저가 타겟 페이지의 다른 페이지 기능을 처리하라고 지시하는 단계와,
클라이언트 터미널 소프트웨어에 의해 제 1 채널을 통해 피드백된 결과 데이터를 실행하는 플러그인을 수신하는 단계와,
실행 결과 데이터를 처리하는 단계와,
처리 결과를 제 2 채널을 통해 브라우저에 송신하는 단계를 포함한다.
제 2 측면에서, 데이터 통신 방법이 제공되며, 이 방법은,
서버에 의해 제 1 채널을 통해 송신된 플러그인 실행 명령어 - 플러그인 실행 명령어는 타겟 플러그인의 실행을 지시하는 데 사용됨 - 을 수신하는 단계와,
플러그인 실행 명령어에 따라 실행할 타겟 플러그인을 호출하는 단계와,
실행 결과 데이터를 제 1 채널을 통해 처리를 위해 서버로 피드백하여 서버가 처리 결과를 브라우저에 피드백하는 단계를 포함한다.
제 3 측면에서, 데이터 통신 장치가 제공되며, 이 장치는,
브라우저에 의해 송신된 타겟 페이지에 대한 액세스 요청을 수신하도록 구성된 액세스 요청 수신부와,
브라우저와 제 2 채널을 설정하고, 클라이언트 터미널 소프트웨어와 제 1 채널을 설정하며, 제 1 채널과 상기 제 2 채널 사이의 대응 관계를 저장하도록 구성된 채널 설정부와,
제 1 채널을 통하여 상기 클라이언트 터미널 소프트웨어에 플러그인 실행 명령어를 송신하도록 구성된 명령어 송신부 - 플러그인 실행 명령어는 클라이언트 터미널 소프트 타겟 페이지의 다른 페이지 기능을 처리하라고 지시하는 데 사용됨 - 와,
클라이언트 터미널 소프트웨어에 의해 제 1 채널을 통해 피드백 된 플러그인 실행 결과 데이터를 수신하도록 구성된 피드백 수신부와,
실행 결과 데이터를 처리하도록 구성된 데이터 처리부와,
처리 결과를 상기 제 2 채널을 통해 브라우저에 송신하도록 구성된 결과 포워딩부를 포함한다.
제 4 측면에서, 클라이언트 터미널 장치가 제공되며, 클라이언트 터미널 장치는,
서버에 의해 제 1 채널을 통해 송신되는 플러그인 실행 명령어를 수신하도록 구성된 명령어 수신부 - 플러그인 실행 명령어는 타겟 플러그인을 실행하라고 지시하는 데 사용됨 -와,
명령어 수신부에 의해 수신된 플러그인 실행 명령어에 따라, 실행될 타겟 플러그인을 호출하도록 구성된 플러그인 처리부와,
실행 결과 데이터를 처리 위해 상기 서버로 제 1 채널을 통해 피드백하여 서버가 처리 결과를 브라우저에 피드백하도록 구성되는 결과 피드백부를 포함한다.
본 발명의 실시예에 따른 데이터 통신 방법 및 장치는 클라이언트 터미널 소프트웨어에 의해 플러그인을 호출하여 실행함으로써, 브라우저가 플러그인을 실행할 수 없더라도 클라이언트 터미널 소프트웨어가 자체적으로 플러그인을 실행하여 구현할 수 있고, 이에 따라 다양한 브라우저와 플러그인의 호환성을 구현할 수 있다.
도 1은 본 발명의 일 실시예에 따른 데이터 통신 방법의 적용 시나리오를 도시한 도면이고,
도 2는 본 발명의 일 실시예에 따른 데이터 통신 방법의 흐름도이며,
도 3은 본 발명의 일 실시예에 따른 데이터 통신 방법의 원리를 개략적으로 도시한 도면이고,
도 4는 본 발명의 일 실시예에 따른 클라이언트 터미널 장치의 개략적인 구성도이며,
도 5는 본 발명의 일 실시예에 따른 다른 클라이언트 터미널 장치의 개략적인 구성도이고,
도 6은 본 발명의 일 실시예에 따른 데이터 통신 장치의 개략적인 구성도이며,
도 7은 본 발명의 일 실시예에 따른 다른 데이터 통신 장치의 개략적인 구성도이다.
본 발명의 실시예에 따른 데이터 통신 방법은 클라이언트 터미널 소프트웨어가 실행을 돕기 위한 플러그인을 요하는 시나리오에 적용 가능하다. 또한, 이 방법은 소프트웨어 기능을 확장하기 위한 확장자, 컨트롤 및 기타 프로그램에도 적용할 수 있다는 점에 주의해야 한다. 이하의 실시예에서는 플러그인을 예로 들어 설명한다.
도 1은 데이터 통신 방법의 응용 시나리오를 도시한다. 설명된 방법은 응용 시나리오에 제한되지 않으며, 다른 유사한 애플리케이션이 본 발명의 실시예에 따른 방법을 이용할 수 있다. 클라이언트 터미널 소프트웨어가 실행 중일 때 브라우저(11)(브라우저는 파이어폭스 또는 IE와 같은 임의의 브라우저일 수 있음)를 사용하여 웹 페이지를 열 필요가 있다고 가정하며, 이 실시예에서는 브라우저에서 실행되는 "온라인 은행"을 예로 든다. 온라인 은행 사용 과정에서, 패스워드를 입력해야 할 수 있다. 도 1은 패스워드가 입력되어야 하는 페이지를 도시한다. 이 페이지는 "타겟 페이지"라고 할 수 있다. 이 페이지에서, 타원형 박스(12)로 표시된 로그인 패스워드 입력 영역은 패스워드 컨트롤에 의해 관리되고, 패스워드 입력 필드는 통상적으로 도 1의 페이지에 디스플레이된다고 가정하며, 사용자에 의해 입력된 패스워드는 패스워드 컨트롤이 실행되는 경우에만 수신된다(일반적으로 제어는 패스워드의 보안을 보장하기 위한 것이다). 이 실시예에서, 패스워드 컨트롤은 "타겟 플러그인"으로 지칭되고, 즉 도 1에 도시된 타겟 페이지의 실행은 타겟 플러그인이 필요하며 타겟 플러그인을 실행하는 경우에만 타겟 페이지에서 해당 비밀번호를 입력하는 기능이 정상적으로 수행될 수 있다.
통상적으로, 타겟 플러그인은 브라우저(11)에 의해 호출되고 실행되며, 이에 따라 플러그인에 대응하는 페이지 영역이 정상적으로 실행된다. 이 실시예의 데이터 통신 방법은 타겟 플러그인이 브라우저(11)의 플러그인 사양과 일치하지 않는 상황에서 도 1의 타겟 페이지(target page)가 어떻게 생성되는지를 설명할 것이며, 이 시점에 브라우저(11)는 타겟 플러그인을 호출할 수 없다. 도 2는 방법의 프로세스를 나타낸다.
201. 서버는 타겟 플러그인을 실행하라고 지시하는 데 사용되는 플러그인 실행 명령어를 제 1 채널을 통해 클라이언트 터미널 소프트웨어에 전송하고, 상기 제 1 채널에 대응하는 제 2 채널을 통해 브라우저에 타겟 페이지의 다른 페이지 기능들을 처리하라고 지시한다.
여기서, 서버는 브라우저에 의해 송신된 타겟 페이지에 대한 액세스 요청을 수신하면, 클라이언트 터미널 소프트웨어와 제 1 채널을 설정하고, 브라우저와 제 2 채널을 설정하며, 제 1 채널과 제 2 채널 사이의 대응 관계를 저장한다.
202. 클라이언트 터미널 소프트웨어는 플러그인 실행 명령어에 따라 실행할 타겟 플러그인을 호출한다.
203. 클라이언트 터미널 소프트웨어는 실행 결과 데이터를 처리하도록 제 1 채널을 통해 서버로 피드백한다.
204. 서버는 실행 결과 데이터를 처리하고, 처리 결과를 제 2 채널을 통해 브라우저에 송신한다.
도 2에 도시된 프로세스는, 이하에서 보다 상세하게 설명된다. 먼저, 본 발명의 실시예에 따른 데이터 통신 방법을 이해하기 쉽게 하기 위해, 이 방법의 원리가 도 3과 함께 간단히 설명되며, 본 실시예에서는 도 1에 도시된 온라인 은행 클라이언트 터미널을 여전히 예로 들고, 브라우저는 페이지 구문 분석 및 디스플레이를 담당하는 도구와 동등하며 서버는 온라인 은행에 해당하는 온라인 은행 서버이다.
도 1에 도시된 타겟 페이지가 디스플레이되는 경우, 서버는 브라우저에 프로세싱 명령어를 송신하여 브라우저에 의해 디스플레이될 타겟 페이지의 페이지 파일 데이터를 운반한다. 브라우저는 데이터를 수신하면 브라우저 커널을 통해 웹페이지 구문을 구문 분석하고, 타겟 페이지를 렌더링하고 제시한다. 도 3을 참조하면, 종래의 방식으로 지원할 플러그인을 요청하는 페이지에 대해, 서버가 처리 명령어를 브라우저에 송신할 때 동시에 브라우저가 타겟 플러그인을 호출하라고 지시할 수 있다. 이러한 방식으로, 도 1의 완전한 타겟 페이지가 디스플레이될 수 있다. 그러나, 플러그인이 브라우저의 API 사양과 일치하지 않는 경우에는, 본 발명의 실시예의 방식을 사용할 필요가 있고, 서버는 클라이언트 터미널 소프트웨어에게 호출의 작업을 수행하라고 지시할 수 있으며 이는 클라이언트 터미널 소프트웨어가 브라우저 대신 작업을 실행하는 것과 동일하다.
구체적으로는, 도 1 및 도 3을 참조하면, 도 1에 도시된 타겟 페이지에서, 페이지 기능은 2개의 부분(part)으로 분할될 수 있다. 첫 번째 부분은 타원형 상자(12)에 대응하는 페이지 함수이고, 이 부분은 입력 필드를 디스플레이하고 타겟 플러그인을 실행함으로써만 사용자에 의해 입력된 패스워드를 수신한다. 두 번째 부분은 다른 페이지 기능(예를 들어 도 1에 도시된 디스플레이 툴바 "파일, 편집, 즐겨찾기 등")이다. 그러한 기능은 타겟 플러그인에 의존하지 않고 브라우저에 의해 구현되는 기능이다. 이에 기초하여, 서버는 타깃 페이지를 실행하라고 지시하는 경우에 별개의 명령어를 제공한다. 도 3에 도시된 것과 같이, 서버는 클라이언트 터미널 소프트웨어에게 타겟 플러그인을 실행하라고 지시하고, 또한 브라우저에게는 다른 페이지 콘텐츠를 실행하라고 지시한다.
서버가 타겟 페이지의 두 부분을 개별적으로 실행하라고 지시하더라도 서버는 두 부분의 대응 관계(예를 들어, "클라이언트 터미널 소프트웨어에 의해 실행되는 타겟 플러그인에 대응하는 페이지 부분이 브라우저가 실행하는 타겟 페이지의 일부이다")를 기록한다. 나아가, 클라이언트 터미널 소프트웨어는 사용자가 입력한 패스워드를 수신하기 위해 플러그인을 실행한 후에 패스워드를 서버에 전송할 것이고, 서버는 패스워드를 처리한 후에(예를 들면, 패스워드 검증), 브라우저에게 "로그인 성공"을 디스플레이하라고 지시하고, 이에 따라 두 부분을 연관시킨다.
데이터 통신 방법의 일반적인 원리는 위에서 간단히 설명된다. 이러한 기초에서, 도 3에 도시된 서버뿐만 아니라 클라이언트 터미널 소프트웨어와 브라우저 사이의 액세스를 확립하는 프로세스 및 페이지 디스플레이에서의 상호 작용 절차가 다음을 포함하여 아래에서 상세히 설명된다.
이 실시예에서, 클라이언트 터미널 소프트웨어는 네트워크 통신을 모니터링 할 수 있고, 특히 브라우저와 서버 간의 통신을 모니터링할 수 있다. 예를 들어, 온라인 은행의 웹 사이트가 IE 브라우저에서 열리고, 온라인 은행의 페이지를 여는 프로세스(이 시점에 이 페이지는 플러그인을 실행하지 않아도 되는 페이지(예를 들어, 홈 페이지)라고 가정함)는 브라우저가 온라인 은행 서버와 통신할 것을 요청하며, 브라우저는 페이지 액세스 요청을 송신한다(페이지는 타겟 페이지라고도 함). 동시에, 클라이언트 터미널 소프트웨어는 브라우저와 서버 간의 통신 프로세스를 모니터링할 수 있다.
특히 브라우저는 HTML5를 지원하는 브라우저로, 서버가 페이지 데이터를 브라우저에 반환하는 경우에, 페이지 데이터에는 WebSocket의 HTML5 코드의 조각(piece)이 포함되어 있고, 브라우저는 페이지를 구문 분석한 후 WebSocket을 사용하여 서버와의 연결을 설정한다. WebSocket은 HTML5의 프로토콜로, 이는 브라우저와 서버간에 전 이중 통신(full-duplex communication)을 구현한다. 브라우저는 WebSocket을 사용하여 서버에 채널 획득 요청을 송신하고, 요청을 수신한 후 서버는 채널 정보와 채널 식별자를 브라우저에 할당한다. 예를 들어 채널 정보에는 서버 주소와 서버 포트가 포함된다. 예를 들어 채널 식별자는 키이다. 이 실시예에서, 브라우저와 서버 사이의 채널은 L2로 표시되는 제 2 채널로 지칭될 수 있고, 서버에 의해 채널에 할당된 키는 K2로 지칭될 수 있다. 서버는 정보를 브라우저에 주기적으로 피드백할 수 있다.
클라이언트 터미널 소프트웨어는 브라우저와 서버 간의 통신을 모니터링하는 프로세스에서 채널 정보 및 채널 식별자를 획득할 수 있다. 예를 들어, 클라이언트 터미널 소프트웨어는 서버의 주소 및 포트를 획득할 수 있다. 클라이언트 터미널 소프트웨어는 채널 정보에 따라 서버에게 채널 성립 요청을 능동적으로 보내 서버가 클라이언트 터미널 소프트웨어와의 액세스 채널을 할당하도록 요청할 것이다. 또한, 클라이언트 터미널 소프트웨어는 요청에 채널 식별자 K2를 포함할 수 있다.
서버는 클라이언트 터미널 소프트웨어의 요청을 수신한 후, 클라이언트 터미널 소프트웨어와의 액세스 채널을 설정하는데, 이러한 클라이언트 터미널 소프트웨어는 본 실시예에서 제 1 채널로 지칭되며, L1으로 나타낼 수 있다. 또한, 서버는 클라이언트 터미널 소프트웨어에 의해 송신된 요청에 포함된 채널 식별자 K2에 따라, 제 1 채널이 제 2 채널에 대응한다고 결정하고, 제 1 채널과 제 2 채널 사이의 대응 관계를 확립한다. 서버는 다음 표 1과 유사한 정보를 기록할 수 있고, 제 1 채널, 제 2 채널 및 채널 식별자간의 매핑 관계를 기록하거나, 제 2 채널과 채널 식별자 사이의 대응 관계만을 기록할 수 있다.
[표 1]
Figure pct00001
대응하는 관계의 기록 방식이 무엇이든 간에, 서버는 페이지 처리의 후속 과정에서 제 1 채널과 제 2 채널 사이의 바인딩 관계를 획득할 필요가 있는데, 그 이유는 또한 클라이언트 터미널 소프트웨어와 브라우저 간의 데이터 포워딩을 책임져야 하고 클라이언트 터미널 소프트웨어가 플러그인을 실행한 후에 실행 데이터가 동일한 페이지의 일부 기능들 간의 연관성에 속하는 서버에 의해 브라우저로 피드백되어야 하기 때문이다. 후속하는 실시예의 일부분이 참조될 수 있다.
또한, 서버는 클라이언트 터미널 소프트웨어에 의해 제 1 채널을 생성할 것을 요청하는 것의 효과를 인지할 수 있다. 그 결과는 다음과 같은데, 즉, 페이지 플러그인을 실행할 필요가 있을 때, 서버는 첫 번째 채널을 통해 클라이언트 터미널 소프트웨어에게 플러그인을 호출하라고 지시하나 브라우저에게는 더는 플러그인을 호출하라고 지시하지 않는다. 서버가 효과를 얻는 방식은 유연하게 설정될 수 있다. 예를 들어, 클라이언트 터미널 소프트웨어에 의해 송신된 채널 설정 요청에 효과를 지시하기 위한 식별자를 포함하는 것이 가능하며, 또는 서버 측에서, 클라이언트 테이블 소프트웨어로부터의 채널을 설정하기 위한 요청을 수신하는 것이 전술한 효과를 위해 사용된다고 사전 설정하는 것이 가능하다.
다음으로, 서버가 제 1 채널 및 제 2 채널을 생성하고 제 1 채널과 제 2 채널 사이의 대응 관계를 기록한 후에, 서버는 여전히 클라이언트 터미널 소프트웨어의 프로세싱 실행 제어를 재개한다. 실행중인 프로세스의 어느 단계에서 클라이언트 터미널 소프트웨어에 의해 어느 페이지가 디스플레이 될지가 서버에 의해 제어된다. 서버는 브라우저에게 페이지를 디스플레이하라고 지시하고 브라우저는 서버의 지시에 따라 페이지를 구문 분석하고 디스플레이한다.
마찬가지로, 도 1에 도시된 타겟 페이지에 대하여, 특정 시점에서, 서버는 다음 단계에서 수행될 타겟이 타겟 페이지를 디스플레이하고, 타겟 페이지가 타겟 플러그인을 실행할 필요가 있음을 검출하는 것으로 가정한다. 그런 다음, 서버는 제 1 채널을 통해 플러그인 실행 명령어를 클라이언트 터미널 소프트웨어에 전송할 수 있다. 명령어는 타겟 플러그인을 실행하라고 지시하는데 사용되며, 타겟 플러그인의 플러그인 식별자를 포함할 수 있고, 이에 따라 클라이언트 터미널 소프트웨어가 플러그인 식별자에 따라 호출용 플러그인을 찾는다. 타겟 페이지에 다른 페이지 파트를 표시하는 것과 관련하여, 디스플레이는 여전히 브라우저에 의해 처리되고, 서버는 제 2 채널을 통해 다른 페이지 파트의 데이터를 브라우저로 송신하고 브라우저에게 처리하라고 지시한다.
구체적으로, 브라우저는 서버에 의해 전송된 페이지 데이터를 수신한 후, 파싱 및 디스플레이를 수행하고, 예를 들어, 브라우저는 페이지 콘텐트(가령, 페이지 툴바 및 페이지 내 패턴(in-page pattern))를 도 1의 패스워드 입력 필드 외부에 디스플레이한다. 서버의 지시를 수신한 후, 클라이언트 터미널 소프트웨어는 플러그인 식별자에 따라 호출 및 실행을 위한 대응하는 플러그인을 검색하고, 플러그인을 실행함으로써, 패스워드 입력 필드를 정상적으로 디스플레이하고 사용자가 입력한 패스워드를 수신할 수 있게 한다. 클라이언트 터미널 소프트웨어에 의해 실행되는 타겟 플러그인은 이미 설치되어 있을 수 있고, 타겟 플러그인은 클라이언트 터미널 소프트웨어의 구성 파일에 미리 정의되어 있으며, 클라이언트 터미널 소프트웨어는 플러그인의 설치 위치를 인지하고, 설치 위치로부터 실행을 위해 플러그인 데이터를 획득한다는 점에 주의해야 한다.
타겟 플러그인을 실행한 후, 클라이언트 터미널 소프트웨어는 첫 번째 채널을 통해 실행 결과 데이터를 처리를 위해 서버로 피드백 해야 한다. 예를 들어, 클라이언트 터미널 소프트웨어는 플러그인을 실행한 후, 패스워드 입력 필드를 디스플레이하고 사용자에 의해 입력된 패스워드를 수신하며, 클라이언트 터미널 소프트웨어는 수신된 패스워드 데이터를 제 1 채널을 통해 서버에 전송한다. 서버는 패스워드 검증을 수행하는 것과 같이 패스워드 데이터를 처리하여 패스워드가 올바른지 여부를 검증할 수 있다. 검증이 통과되면 "검증이 통과되었습니다" 또는 "로그인이 성공했습니다"와 같은 프롬프트가 타겟 페이지에 표시된다. 특히, 서버는 패스워드가 올바른지 확인한 후 타겟 페이지에 로그인 성공을 표시하도록 브라우저에 알릴 수 있다. 로그인 성공 페이지에 디스플레이되는 명령어는 패스워드 데이터의 처리 결과를 클라이언트 터미널 소프트웨어에 피드백하는 것과 같다.
보다 구체적으로, 서버는 클라이언트 터미널 소프트웨어와 브라우저를 다음과 같이 연관시킬 수 있으며, 전술한 프로세스에서 클라이언트 터미널 소프트웨어는 제 1 채널을 통해 서버에 패스워드 데이터를 송신하는 경우에 또한 K2를 송신하고, 클라이언트 터미널 소프트웨어가 네트워크 통신을 모니터링 하는 경우에 K2를 획득한다. 검증이 통과되면, 서버는 K2 및 이전에 기록된 대응 관계(예를 들어 표 1)에 따라 K2에 대응하는 제 2 채널 L2를 검색하고, L2를 통해 브라우저에게 로그인이 성공했음을 나타내는 정보를 디스플레이하라고 지시한다.
또한, 전술한 프로세스를 통해 데이터 통신 방법이 클라이언트 터미널 소프트웨어와 브라우저 간의 통신과 유사함을 알 수 있다. 예를 들면, 클라이언트 터미널 소프트웨어가 플러그인 프로그램을 실행한 후, 서버는 클라이언트 터미널 소프트웨어의 실행 데이터에 따라 처리를 수행하고, 처리 결과를 브라우저에 디스플레이를 위해 피드백한다. 즉, 클라이언트 터미널 소프트웨어 측의 플러그인의 실행 결과와 조합하여 브라우저의 디스플레이가 획득되는데, 이는 서버가 클라이언트 터미널 소프트웨어의 데이터를 브라우저에 전송하는 것과 동일하다. 반대로, 브라우저가 클라이언트 터미널 소프트웨어와 통신해야 하는 경우 요청이 서버를 통해 전송될 수 있으며, 즉 요청이 제2 채널을 통해 서버로 전송된 다음 서버가 클라이언트 터미널 소프트웨어에 요청을 송신하고, 따라서 클라이언트 터미널 소프트웨어와 브라우저 간의 양방향 통신이 구현된다.
본 실시예의 데이터 통신 방법에 따르면, 동일한 플러그인이 다양한 브라우저에 적용될 수 있고, 클라이언트 터미널 소프트웨어가 플러그인을 호출하여 실행할 수 있는 한, 개발자는 더 이상 다양한 브라우저 사양에 따라 플러그인 버전을 개발할 필요가 없다. 기존 방식과 비교하여 플러그인 개발자의 작업 부담이 현저하게 줄어든다. 또한 이 방법은 서비스 구현의 효율성을 향상시킨다. 예를 들어, 특정 클라이언트 터미널 소프트웨어를 업그레이드해야 하는 경우 여러 버전의 플러그인을 개발할 필요가 없으므로 클라이언트 터미널 소프트웨어의 업그레이드를 신속하게 구현할 수 있으며 효율성이 향상된다.
전술한 방법 실시예에 기초하여, 본 발명의 일 실시예는 클라이언트 터미널 장치를 제공한다. 장치는 클라이언트 터미널 소프트웨어에서 실행되고, 이로써 클라이언트 터미널 소프트웨어는 전술한 방법 실시예에서 방법을 수행한다. 이 실시예에서, 장치의 구조가 간략하게 설명되고, 각 모듈의 작동 원리에 대한 방법 실시예가 참조될 수 있다. 도 4에 도시된 바와 같이, 장치는 명령어 수신부(41), 플러그인 처리부(42) 및 결과 피드백 부(43)를 포함하고, 여기서, 명령어 수신부(41)는,
서버에 의해 제 1 채널을 통해 송신된 플러그인 실행 명령어(이는 타겟 플러그인의 실행을 지시하는 데 사용됨)를 수신하도록 구성되고,
플러그인 처리부(42)는 명령어 수신부에 의해 수신된 플러그인 실행 명령어에 따라, 실행될 타겟 플러그인을 호출하도록 구성되며,
결과 피드백부(43)는 실행 결과 데이터를 처리를 위해 제 1 채널을 통해 서버로 피드백하여 서버가 처리 결과를 브라우저에 피드백하도록 구성된다.
도 4에 기초하여, 이 실시예는 도 5의 다른 장치를 더 제공하고, 클라이언트 터미널 장치는 네트워크 모니터링부(44) 및 채널 요청부(45)를 더 포함한다.
네트워크 모니터링부(44)는 브라우저와 서버 사이의 통신을 모니터링하여 서버가 브라우저에 할당한 제 2 채널의 채널 정보 및 채널 식별자를 취득하도록 구성된다.
채널 요청부(45)는 네트워크 모니터링 부에 의해 획득된 채널 정보에 따라 채널 식별자를 포함하는 채널 설정 요청을 서버에 송신하고 이에 따라, 서버가 제 1 채널을 생성하고 채널 식별자에 따라 제 1 채널과 상기 제 2 채널 간의 대응 관계를 설정하도록 구성된다.
본 발명의 실시예는 데이터 통신 장치를 더 제공한다. 장치가 서버에서 실행되고, 서버는 전술한 방법을 수행한다. 도 6에 도시된 바와 같이, 장치는 액세스 요청 수신부(61), 채널 설정부(62), 명령어 송신부(63), 피드백 수신부(64), 데이터 처리부(65) 및 결과 포워딩부(66)를 포함할 수 있고, 여기서,
액세스 요청 수신부(61)는 브라우저에 의해 송신된 타겟 페이지에 액세스하는 요청을 수신하도록 구성되고,
채널 설정부(62)는 브라우저와의 제 2 채널을 설정하고, 클라이언트 터미널 소프트웨어와 제 1 채널을 설정하며, 제 1 채널과 제 2 채널 사이의 대응 관계를 저장하도록 구성되며,
명령어 송신부(63)는, 클라이언트 터미널 소프트웨어에 타겟 플러그인을 실행하라고 지시하고, 제 2 채널을 통해 브라우저에게 타겟 페이지의 다른 페이지 기능을 처리하라고 지시하는 플러그인 실행 명령어를 제 1 채널을 통해 클라이언트 터미널 소프트웨어에 송신하도록 구성되며,
상기 피드백 수신부(64)는 클라이언트 터미널 소프트웨어에 의해 제 1 채널을 통해 피드백된 플러그인 실행 결과 데이터를 수신하도록 구성되고,
데이터 처리부(65)는 실행 결과 데이터를 처리하도록 구성되며,
결과 포워딩부(66)는 처리 결과를 제 2 채널을 통해 브라우저에 송신하도록 구성된다.
도 6에 기초하여, 이 실시예는 도 7의 다른 장치를 더 제공하며, 이 장치에서 채널 설정부(62)는 채널 요청 서브 유닛(621), 채널 생성 서브 유닛(622) 및 채널 관계 서브 유닛(623)을 포함할 수 있고,
채널 요청 서브 유닛(621)은 클라이언트 터미널 소프트웨어에 의해 전송되며 채널 식별자를 포함하는 채널 설정 요청을 수신하도록 구성되며,
채널 생성 서브 유닛(622)은 채널 설정 요청에 따라 제 1 채널을 생성하도록 구성되고,
채널 관계 서브 유닛(623)은 채널 식별자에 따라 제 1 채널과 제 2 채널 사이의 대응 관계를 설정하도록 구성된다.
전술한 설명은 단지 본 발명의 바람직한 실시예일뿐이며, 본 발명을 한정하는 것은 아니다. 본 발명의 사상 및 원리 내에서 이루어진 모든 수정, 등가의 대체, 개선 등은 모두 본 발명의 보호 범위에 포함되어야 한다.

Claims (10)

  1. 데이터 통신 방법으로서,
    브라우저에 의해 송신된 타겟 페이지에 대한 액세스 요청을 수신하는 단계와,
    상기 브라우저와 제 2 채널을 설정하고, 클라이언트 터미널 소프트웨어와 제 1 채널을 설정하며, 상기 제 1 채널과 상기 제 2 채널 사이의 대응 관계를 저장하는 단계와,
    플러그인 실행 명령어를 상기 제 1 채널을 통해 상기 클라이언트 터미널 소프트웨어에 송신하는 단계 - 상기 플러그인 실행 명령어는 상기 클라이언트 터미널 소프트웨어에게 타겟 플러그인을 실행하라고 지시하고 상기 제 2 채널을 통해 상기 브라우저에게 상기 타겟 페이지의 다른 페이지 기능을 처리하라고 지시하는 데 사용됨 -와,
    상기 클라이언트 터미널 소프트웨어에 의해 상기 제 1 채널을 통해 피드백된 플러그인 실행 결과 데이터를 수신하는 단계와,
    상기 실행 결과 데이터를 처리하는 단계와,
    처리 결과를 상기 제 2 채널을 통해 상기 브라우저에 송신하는 단계
    를 포함하는
    데이터 통신 방법.
  2. 제 1 항에 있어서,
    상기 클라이언트 터미널 소프트웨어와 상기 제 1 채널을 설정하는 것 및 상기 제 1 채널과 상기 제 2 채널 사이의 대응 관계를 저장하는 것은,
    상기 클라이언트 터미널 소프트웨어에 의해 송신된 채널 설정 요청을 수신하는 것 - 상기 채널 설정 요청은 채널 식별자를 포함(carrying)함 - 과,
    상기 채널 설정 요청에 따라 상기 제 1 채널을 생성하고, 상기 채널 식별자에 따라 상기 제 1 채널과 상기 제 2 채널 사이의 대응 관계를 설정하는 것
    을 더 포함하는
    데이터 통신 방법.
  3. 제 2 항에 있어서,
    상기 브라우저에 의해 송신된 통신 데이터를 수신하는 단계와,
    상기 통신 데이터를 상기 클라이언트 터미널 소프트웨어에 포워딩(forawrding)하는 단계
    를 더 포함하는
    데이터 통신 방법.
  4. 데이터 통신 방법으로서,
    서버가 제 1 채널을 통해 송신한 플러그인 실행 명령어를 수신하는 단계 - 상기 플러그인 실행 명령어는 타겟 플러그인의 실행을 지시하는 데 사용됨 - 와,
    상기 플러그인 실행 명령어에 따라 실행할 타겟 플러그인을 호출하는 단계와,
    상기 실행 결과 데이터를 상기 제 1 채널을 통해 처리를 위해 상기 서버로 피드백하여 상기 서버가 처리 결과를 브라우저에 피드백하는 단계
    를 포함하는
    데이터 통신 방법.
  5. 제 4 항에 있어서,
    상기 서버가 제 1 채널을 통해 송신한 상기 플러그인 실행 명령어를 수신하는 단계 전에,
    상기 브라우저와 상기 서버 간의 통신을 모니터링하여 상기 서버에 의해 상기 브라우저에 할당된 제 2 채널의 채널 정보 및 채널 식별자를 획득하는 단계와,
    상기 채널 식별자를 포함하는 채널 설정 요청을 상기 채널 정보에 따라 상기 서버에 전송하여, 상기 서버가 상기 제 1 채널을 생성하고 상기 채널 식별자에 따라 상기 제 1 채널과 상기 제 2 채널 사이의 대응 관계를 설정하는 단계
    를 더 포함하는
    데이터 통신 방법.
  6. 제 5 항에 있어서,
    상기 채널 정보는 서버 주소 및 서버 포트를 포함하는
    데이터 통신 방법.
  7. 데이터 통신 장치로서,
    브라우저에 의해 송신된 타겟 페이지에 대한 액세스 요청을 수신하도록 구성된 액세스 요청 수신부와,
    상기 브라우저와 제 2 채널을 설정하고, 클라이언트 터미널 소프트웨어와 제 1 채널을 설정하며, 상기 제 1 채널과 상기 제 2 채널 사이의 대응 관계를 저장하도록 구성된 채널 설정부와,
    상기 제 1 채널을 통하여 상기 클라이언트 터미널 소프트웨어에 플러그인 실행 명령어를 송신하도록 구성된 명령어 송신부 - 상기 플러그인 실행 명령어는 상기 클라이언트 터미널 소프트웨어에게 타겟 플러그인을 실행하라고 지시하고 상기 제 2 채널을 통하여 상기 브라우저에게 상기 타겟 페이지의 다른 페이지 기능을 처리하라고 지시하는 데 사용됨 - 와,
    상기 클라이언트 터미널 소프트웨어에 의해 상기 제 1 채널을 통해 피드백 된 플러그인 실행 결과 데이터를 수신하도록 구성된 피드백 수신부와,
    상기 실행 결과 데이터를 처리하도록 구성된 데이터 처리부와,
    상기 처리 결과를 상기 제 2 채널을 통해 상기 브라우저에 송신하도록 구성된 결과 포워딩부
    를 포함하는
    데이터 통신 장치.
  8. 제 7 항에 있어서,
    상기 채널 설정부는,
    상기 클라이언트 터미널 소프트웨어에 의해 송신된 채널 설정 요청을 수신하도록 구성된 채널 요청 서브 유닛 - 상기 채널 설정 요청은 채널 식별자를 포함함 - 과,
    상기 채널 설정 요청에 따라 상기 제 1 채널을 생성하도록 구성된 채널 생성 서브 유닛과,
    상기 채널 식별자에 따라 상기 제 1 채널과 상기 제 2 채널 사이의 대응 관계를 설정하도록 구성된 채널 관계 서브 유닛
    을 포함하는
    데이터 통신 장치.
  9. 클라이언트 터미널 장치로서,
    서버에 의해 제 1 채널을 통해 송신되는 플러그인 실행 명령어를 수신하도록 구성된 명령어 수신부- 상기 플러그인 실행 명령어는 타겟 플러그인을 실행하라고 지시하는 데 사용됨 -와,
    상기 명령어 수신부에 의해 수신된 상기 플러그인 실행 명령어에 따라, 실행될 상기 타겟 플러그인을 호출하도록 구성된 플러그인 처리부와,
    실행 결과 데이터를 상기 제 1 채널을 통해 처리를 위해 상기 서버로 피드백하여 상기 서버가 처리 결과를 브라우저에 피드백하도록 구성되는 결과 피드백부
    를 포함하는
    클라이언트 터미널 장치.
  10. 제 9 항에 있어서,
    상기 브라우저와 상기 서버 간의 통신을 모니터링하여 상기 서버에 의해 상기 브라우저에 할당된 제 2 채널의 채널 정보 및 채널 식별자를 획득하도록 구성되는 네트워크 모니터링 부와,
    상기 네트워크 모니터링 부에 의해 획득된 상기 채널 정보에 따라, 상기 채널 식별자를 포함하는 채널 설정 요청을 상기 서버에 송신하여 상기 서버가 상기 제 1 채널을 생성하고 상기 채널 식별자에 따라 상기 제 1 채널 및 상기 제 2 채널 사이의 대응 관계를 설정하도록 구성되는 채널 요청부
    를 더 포함하는
    클라이언트 터미널 장치.
KR1020177015948A 2014-12-19 2015-12-09 데이터 통신 방법 및 장치 KR102119931B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201410800144.5 2014-12-19
CN201410800144.5A CN105763591B (zh) 2014-12-19 2014-12-19 一种数据通信方法和装置
PCT/CN2015/096798 WO2016095740A1 (zh) 2014-12-19 2015-12-09 一种数据通信方法和装置

Publications (2)

Publication Number Publication Date
KR20170095855A true KR20170095855A (ko) 2017-08-23
KR102119931B1 KR102119931B1 (ko) 2020-06-08

Family

ID=56125905

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177015948A KR102119931B1 (ko) 2014-12-19 2015-12-09 데이터 통신 방법 및 장치

Country Status (7)

Country Link
US (1) US10462266B2 (ko)
EP (1) EP3236635B1 (ko)
JP (1) JP6526201B2 (ko)
KR (1) KR102119931B1 (ko)
CN (1) CN105763591B (ko)
SG (1) SG11201704848YA (ko)
WO (1) WO2016095740A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111857985A (zh) * 2020-06-08 2020-10-30 远光软件股份有限公司 浏览器插件的调用方法、装置、存储介质及终端
CN112073488A (zh) * 2020-08-28 2020-12-11 青岛海尔科技有限公司 处理请求的方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100122271A1 (en) * 2008-11-10 2010-05-13 Google Inc. Safe browser plugins using native code modules
KR20100063033A (ko) * 2007-08-30 2010-06-10 인터내셔널 비지네스 머신즈 코포레이션 데스크톱 애플리케이션과 웹 애플리케이션을 통합하기 위한 방법, 서버 및 시스템
JP2012533823A (ja) * 2009-07-20 2012-12-27 フェイスブック,インク. ローカルマシンに関する情報をブラウザアプリケーションに通信すること
US20140006979A1 (en) * 2012-06-29 2014-01-02 Dell Products L.P. Remote Script Execution with Flash Redirection

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002366361A (ja) * 2001-06-12 2002-12-20 Hitachi Ltd 計算機管理方法及びその実施システム並びにその処理プログラム
CN101572631B (zh) * 2008-04-30 2012-03-28 新奥特(北京)视频技术有限公司 一种基于Eclipse RCP的数据传输状态监控方法
EP2438738A4 (en) * 2009-06-03 2017-01-18 Ongame Services AB Method and arrangement for improved client extension management
CN102647398B (zh) * 2011-02-16 2014-11-26 腾讯科技(深圳)有限公司 基于移动终端实现游戏的方法及装置
CN102413436B (zh) * 2011-09-14 2016-03-09 华为技术有限公司 信息传送方法和系统
JP6041185B2 (ja) * 2012-03-29 2016-12-07 パナソニックIpマネジメント株式会社 表示装置
CN103365907B (zh) * 2012-04-06 2017-06-30 腾讯科技(深圳)有限公司 显示支付页面的方法、系统及服务器
CN104038536B (zh) * 2014-05-23 2018-07-27 小米科技有限责任公司 插件通信方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100063033A (ko) * 2007-08-30 2010-06-10 인터내셔널 비지네스 머신즈 코포레이션 데스크톱 애플리케이션과 웹 애플리케이션을 통합하기 위한 방법, 서버 및 시스템
US20100122271A1 (en) * 2008-11-10 2010-05-13 Google Inc. Safe browser plugins using native code modules
JP2012533823A (ja) * 2009-07-20 2012-12-27 フェイスブック,インク. ローカルマシンに関する情報をブラウザアプリケーションに通信すること
US20140053062A1 (en) * 2009-07-20 2014-02-20 Facebook, Inc. Communicating information about a local machine to a browser application
US20140006979A1 (en) * 2012-06-29 2014-01-02 Dell Products L.P. Remote Script Execution with Flash Redirection

Also Published As

Publication number Publication date
EP3236635A4 (en) 2018-07-04
WO2016095740A1 (zh) 2016-06-23
KR102119931B1 (ko) 2020-06-08
SG11201704848YA (en) 2017-07-28
CN105763591A (zh) 2016-07-13
JP6526201B2 (ja) 2019-06-05
EP3236635B1 (en) 2024-04-24
JP2018501572A (ja) 2018-01-18
EP3236635A1 (en) 2017-10-25
US20170289315A1 (en) 2017-10-05
CN105763591B (zh) 2019-07-26
US10462266B2 (en) 2019-10-29

Similar Documents

Publication Publication Date Title
EP3782061B1 (en) System and method to securely execute datacenter management operations remotely
CN107493344A (zh) 一种Web访问Docker容器的方法及系统
CN108833565B (zh) 一种监控服务器的方法、装置、服务器和存储介质
CN112399130B (zh) 云视频会议信息的处理方法、装置、存储介质和通信设备
CN109996219B (zh) 一种物联网鉴权方法、网络设备及终端
CN112035822A (zh) 多应用单点登录方法、装置、设备及存储介质
CN111159019B (zh) 一种应用程序的测试方法、测试控制终端以及测试终端
CN107294935B (zh) 虚拟专用网络访问方法、装置和系统
US10291718B2 (en) Method and apparatus for implementing communication from web page to client
KR20130068616A (ko) 클라우드 시스템의 센서 데이터 제어 장치 및 그 방법
KR102119931B1 (ko) 데이터 통신 방법 및 장치
CN109327470A (zh) 一种用于实现ssl加密传输的方法和装置
JP2016208503A (ja) Plcシステムのプロトコル自動設定方法
US7805733B2 (en) Software implementation of hardware platform interface
KR102009643B1 (ko) 다중 경로 전송 시스템 및 방법
KR101776892B1 (ko) 컴포넌트 간 공통 인터페이스를 지원하는 보안 장비
US20140136697A1 (en) Communication Network System, Communication Method and Information Processing Apparatus
CN113448654B (zh) web应用程序与原生应用程序的交互方法及装置
US11969894B2 (en) Apparatus for automated communication between robot and artificial intelligence service and method using the same
CN108259581A (zh) 一种文件传输方法、上位机系统及存储介质
KR20170037349A (ko) 전자 기기 제어 방법
KR101770721B1 (ko) 웹 브라우저를 이용한 애플리케이션 원격제어 장치 및 그 방법
CN111698295A (zh) 通信方法、装置、设备及计算机存储介质
CN115412329A (zh) 一种用于物联网的信息处理方法及相关装置
CN112883309A (zh) 一种通过浏览器访问应用的方法、装置、设备及介质

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant