KR20160138250A - 사용자 동작 행위에 기초하여 해결책을 추천하는 방법 및 장치 - Google Patents

사용자 동작 행위에 기초하여 해결책을 추천하는 방법 및 장치 Download PDF

Info

Publication number
KR20160138250A
KR20160138250A KR1020167030069A KR20167030069A KR20160138250A KR 20160138250 A KR20160138250 A KR 20160138250A KR 1020167030069 A KR1020167030069 A KR 1020167030069A KR 20167030069 A KR20167030069 A KR 20167030069A KR 20160138250 A KR20160138250 A KR 20160138250A
Authority
KR
South Korea
Prior art keywords
window
user
abnormal
solution
window object
Prior art date
Application number
KR1020167030069A
Other languages
English (en)
Other versions
KR101990598B1 (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 KR20160138250A publication Critical patent/KR20160138250A/ko
Application granted granted Critical
Publication of KR101990598B1 publication Critical patent/KR101990598B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3089Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3438Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment monitoring of user actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • 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/451Execution arrangements for user interfaces
    • G06F9/453Help systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/86Event-based monitoring

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • User Interface Of Digital Computer (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명은 사용자 동작 행위에 기초하여 해결책을 추천하는 방법 및 장치를 제공하며, 방법은 사용자가 제1 윈도우 객체를 동작시킨 후에 작동되는 제2 윈도우 객체를 감시하는 단계; 제2 윈도우 객체가 비정상 윈도우이면, 제2 윈도우 객체에서 텍스트 정보를 추출함으로써 비정상 윈도우의 타입을 결정하는 단계; 비정상 윈도우의 타입 및 제2 윈도우 객체에 대한 사용자의 감시된 동작 행위에 따라 제2 윈도우 객체에 대응하는 문제에 대한 해결책을 추천하는 단계를 포함한다. 방법은 사용자가 사용자의 동작 행위에 따라 대응 문제에 대한 해결책을 획득할 필요가 있다는 점이 분석될 수 있을 때 대응 해결책을 사용자에게 제공하며, 이는 해결책을 수동으로 검색하는 것으로부터 사용자를 면제하는 것에 의해, 사용자가 컴퓨터를 사용하는 절차 동안 발생하는 다양한 문제를 해결하는 것을 효과적으로 도울 수 있는 사용자 친화적인 스마트 추천 기능을 구현함으로써, 사용자 경험을 증대시킨다.

Description

사용자 동작 행위에 기초하여 해결책을 추천하는 방법 및 장치{METHOD AND DEVICE FOR RECOMMENDING SOLUTION BASED ON USER OPERATION BEHAVIOR}
관련 출원에 대한 상호 참조
본 발명은 2015에 1월 9일에 출원된 중국 특허 출원 제201510012093.4호의 우선권을 주장한다. 중국 특허 출원의 내용은 본 명세서에 전체적으로 참조로서 통합된다.
본 발명의 분야
본 발명은 컴퓨터 기술에 관한 것으로서, 특히 사용자 동작 행위에 기초하여 해결책을 추천하는 방법 및 장치에 관한 것이다.
컴퓨터를 사용할 때, 사용자는 용이하게 처리할 수 없는 문제, 예컨대 파일 삭제 실패, 프로세스 종료 실패, 동적 링크 라이브러리((dynamic link library)(dll)) 파일의 부족, 또는 운영 체제의 실행 중 정지 등을 가지며 사용자가 컴퓨터 동작과 친숙하지 않으면, 그/그녀가 문제를 해결하는 것을 도울 수 있는 접근 방법이 긴급하게 요구될 것이다.
현재, 컴퓨터는 통상적으로 운영 체제에 헬프 파일을 내장함으로써 컴퓨터를 동작시킬 때 사용자가 직면하는 문제에 해결책을 제공한다. 그러나, 헬프 파일은 운영 체제 및 운영 체제에 구축되는 소프트웨어에 발생하는 문제에 대한 해결책만을 포함하는 반면, 제3자 소프트웨어에 발생하는 문제 또는 운영 체제에 발생하는 알려지지 않은 문제는 해결될 수 없다. 따라서, 상술한 기술은 사용자의 실제 문제와 이 문제에 대한 해결책을 조합하는 사용자 친화적인 서비스를 제공할 수 없다.
본 발명의 특정 실시예에 의해 해결되는 기술적 문제 중 하나는 사용자 친화적인 서비스를 제공하기 위해서 컴퓨터를 사용할 때 사용자의 실제 문제에 따른 해결책을 제공하는 것이다.
본 발명의 일 양태의 일 실시예에 따르면, 사용자 동작 행위에 기초하여 해결책을 추천하는 방법이 제공되며, 방법은 이하의 단계를 포함한다:
사용자가 제1 윈도우 객체를 동작시킨 후에 작동되는 제2 윈도우 객체를 감시하는 단계;
제2 윈도우 객체가 비정상 윈도우이면, 제2 윈도우 객체에서 텍스트 정보를 추출함으로써 비정상 윈도우의 타입을 결정하는 단계;
비정상 윈도우의 타입 및 제2 윈도우 객체에 대한 사용자의 감시된 동작 행위에 따라 제2 윈도우 객체에 대응하는 문제에 대한 해결책을 추천하는 단계.
본 발명의 다른 양태의 일 실시예에 따르면, 사용자 동작 행위에 기초하여 해결책을 추천하는 장치가 제공되며, 장치는 이하를 포함한다:
사용자가 제1 윈도우 객체를 동작시킨 후에 작동되는 제2 윈도우 객체를 감시하도록 구성되는 모듈;
제2 윈도우 객체가 비정상 윈도우이면, 제2 윈도우 객체에서 텍스트 정보를 추출함으로써 비정상 윈도우의 타입을 결정하도록 구성되는 모듈;
비정상 윈도우의 타입 및 제2 윈도우 객체에 대한 사용자의 감시된 동작 행위에 따라 제2 윈도우 객체에 대응하는 문제에 대한 해결책을 추천하도록 구성되는 모듈.
본 실시예는 사용자가 제1 윈도우를 동작시킨 후에 작동되는 제2 윈도우 객체가 비정상 윈도우인 것을 감시할 때, 제2 윈도우 객체의 타입을 식별함으로써 대응 해결책을 결정하고, 사용자의 동작 행위에 따라 사용자가 대응 문제를 해결하는 해결책을 획득할 필요가 있다고 분석될 때, 대응 해결책을 사용자에게 제공할 수 있기 때문에, 이는 해결책을 수동으로 검색하는 요구로부터 사용자를 면제하고 사용자 친화적인 스마트 추천 기능을 구현하여, 그것은 사용자가 컴퓨터를 사용하는 절차 동안 발생하는 다양한 문제를 해결하는 것을 효과적으로 돕고 사용자의 사용 경험을 촉진한다.
당업자는 아래의 상세한 설명이 실시예 및 도면을 참조하여 수행되지만 본 발명이 이러한 실시예로 제한되지 않는 것을 이해할 것이다. 그 대신, 본 발명의 범위는 첨부된 청구범위로만 제한되도록 의도된다.
첨부 도면을 참조하여 비제한적 실시예의 상세한 설명을 판독함으로써 본 발명의 다른 특징, 목적, 및 장점이 더 명백해질 것이다.
도 1은 본 발명의 일 실시예에 따른 사용자 동작 행위에 기초하여 해결책을 추천하는 방법의 흐름도를 예시한다.
도 2는 본 발명에 따른 실시예에 따른 사용자 동작 행위에 기초하여 해결책을 추천하는 방법의 흐름도를 예시한다.
도 3은 본 발명의 일 실시예에 따른 사용자 동작 행위에 기초하여 해결책을 추천하는 장치의 블록도를 예시한다.
첨부 도면에서 동일 또는 유사한 참조 번호는 동일 또는 유사한 구성요소를 나타낸다.
예시적 실시예를 더 상세히 논의하기 전에, 일부 예시적 실시예가 흐름도로서 도시되는 프로세스 또는 방법으로서 설명된다는 점이 언급되어야 한다. 흐름도는 순차적으로 처리되는 것으로 다양한 동작을 설명하지만, 그 내부의 많은 동작은 병렬적으로, 함께 또는 동시에 수행될 수 있다. 게다가, 다양한 동작의 순서가 재배열될 수 있다. 그 동작이 완료될 때, 프로세스가 종결될 수 있다. 그러나, 또한 도면에 부가 단계가 포함될 수 있다. 프로세스는 방법, 기능, 사양, 서브루틴, 서브프로그램 등에 대응할 수 있다.
본 명세서에서, 또한 "컴퓨터"로 지칭되는 "컴퓨터 장치"는 미리 결정된 처리 프로세스가 프로세서에 의해 메모리 내의 미리 저장된 프로그램 명령어를 실행함으로써 실행되거나, 미리 결정된 처리 프로세스가 ASIC, FPGA, DSP와 같은 하드웨어에 의해 구현되거나, 미리 결정된 처리 프로세스가 그것의 조합에 의해 구현되도록 미리 결정된 프로그램 또는 명령어를 실행함으로써 수치 계산 및/또는 논리 계산과 같은 미리 결정된 처리 절차를 수행할 수 있는 스마트 전자 장치를 지칭하며, 그것은 프로세서 및 메모리를 포함할 수 있다. 컴퓨터 장치는 서버, 개인용 컴퓨터, 랩톱, 태블릿 컴퓨터, 및 스마트폰 등을 포함하지만, 이들에 제한되지 않는다.
이하, 본 발명은 첨부 도면을 참조하여 더 상세히 설명될 것이다.
도 1은 본 발명의 일 실시예에 따른 사용자 동작 행위에 기초하여 해결책을 추천하는 방법의 흐름도를 예시한다.
도 1에 예시된 바와 같이, 본 실시예에 따른 사용자 동작 행위에 기초하여 해결책을 추천하는 방법은 이하의 단계를 포함한다:
S100. 사용자가 제1 윈도우 객체를 동작시킨 후에 작동되는 제2 윈도우 객체를 감시하는 단계;
S110. 제2 윈도우 객체가 비정상 윈도우이면, 제2 윈도우 객체에서 텍스트 정보를 추출함으로써 비정상 윈도우의 타입을 결정하는 단계;
S120. 비정상 윈도우의 타입 및 제2 윈도우 객체에 대한 사용자의 감시된 동작 행위에 따라 제2 윈도우 객체에 대응하는 문제에 대한 해결책을 추천하는 단계.
이하, 각각의 단계는 더 상세히 설명될 수 있다.
단계(S100)에서, 컴퓨터 장치는 운영 체제의 메시지 처리 메커니즘에 기초하여 운영 체제의 이벤트 통지 콜백 함수 및 마우스-키보드 글로벌 훅을 생성할 수 있고; 이벤트 통지 콜백 함수에서, 윈도우 객체를 생성하는 것과 다른 생성 이벤트가 필터링되는 한편, 윈도우 객체를 생성하는 메시지의 촉발이 감시된다.
이벤트 통지 콜백 함수는 함수 포인터에 의해 호출되는 함수이다. 함수 포인터는 하나 또는 복수일 수 있다. 각각의 포인터는 특정 이벤트에 관한 것이다. 특정 이벤트가 발생할 때, 포인터는 대응 동작을 촉발하기 위해 대응 함수를 호출한다. 마우스-키보드 글로벌 훅은 마우스 및 키보드를 통해 생성된 이벤트에 대한 동작 행위를 획득하고 그 후 사용자가 사용자의 동작 행위를 통해 발생하는 문제를 해결했는지 또는 발생하는 문제를 해결하지 못했는지를 판단하기 위한 것이다.
본 실시예에서, 컴퓨터 장치는 이벤트 통지 콜백 함수를 사용하여 이벤트 메시지를 감시하고; 생성된 이벤트가 윈도우 객체라는 메시지가 촉발된 후에, 즉 제1 윈도우 객체가 생성된 후에 사용자의 동작 행위는 마우스 키보드 글로벌 훅을 통해 더 획득된다. 사용자가 마우스 또는 키보드를 통해 제1 윈도우 객체를 동작시킨 후에 제2 윈도우 객체가 더 작동되면, 제1 윈도우 객체 상의 사용자의 동작이 처리될 수 없는 문제를 충족시킬 수 있다는 것을 표시한다. 사용자가 제1 윈도우 객체를 동작시킨 후에 제2 윈도우 객체가 작동되지 않으면, 해결책을 추천할 필요없이 대응 작업이 제1 윈도우 객체 상의 사용자의 동작에 의해 완료된 것을 표시한다.
단계(S110)에서, 제1 윈도우 객체 상의 사용자의 동작이 제2 윈도우 객체를 작동시킨 것을 감시할 때, 컴퓨터 장치는 제2 윈도우 객체의 타입이 비정상 프롬프트 또는 알람 윈도우(이하 비정상 윈도우로 지칭됨)에 속할 경우에만 제1 윈도우 객체 상의 사용자의 동작이 처리될 수 없는 문제를 충족시켰던 것을 더 표시하기 때문에 제2 윈도우 객체의 타입을 우선 결정한다.
대안으로, 컴퓨터 장치는 제2 윈도우 객체의 타입을 결정하기 위해 이하의 방법을 채택할 수 있다:
- 윈도우 서브컨트롤러를 열거함으로써 제2 윈도우 객체 상에 분산된 모든 텍스트 정보를 획득하는 단계;
- 텍스트 정보를 식별함으로써 비정상 윈도우의 타입을 결정하는 단계.
임의로, 본 실시예에서, 컴퓨터 장치는 획득된 제2 윈도우 객체에 의해 설명되는 텍스트 정보를 통해 상이한 시나리오를 우선 구별하고, 그 다음에 특정 장면에서 환경 정보를 계속 획득하고, 그 다음에 환경 정보에 기초하여 제2 윈도우 객체 상에 분산된 모든 텍스트 정보를 획득하고, 텍스트 정보를 식별함으로써 비정상 윈도우의 타입을 결정할 수 있다. 구체적으로, 컴퓨터 장치는 이하의 단계를 통해 특정 장면에서 환경 정보를 획득할 수 있다:
- 현재 윈도우 객체의 핸들을 통해 부모 윈도우 핸들 및 부모 윈도우의 부모 윈도우 핸들을 획득하는 단계;
- 그 다음에 현재 장면과 연관되는 환경 정보를 획득하기 위해, 다른 특징 정보뿐만 아니라, 모든 부모 윈도우 하의 모든 객체 및 부모 윈도우와 동일한 부모 윈도우 하의 모든 객체의 타이틀을 열거하는 단계.
그 후, 컴퓨터 장치는 현재 장면과 연관되는 획득된 환경 정보를 사용하여 제2 윈도우 객체 상에 분산된 모든 텍스트 정보를 획득할 수 있다.
핸들은 고유 정수 값, 예를 들어 윈도우, 버튼, 아이콘, 스크롤바, 컨트롤 또는 파일 등을 사용하여 동일한 종류의 객체의 응용 및 상이한 인스턴스에서 상이한 객체를 식별하는 것이고; 핸들을 분석함으로써, 컴퓨터 장치는 윈도우 객체를 복수의 인스턴스로 분할하고 인스턴스를 리터럴 콘텐츠로 식별할 수 있으며; 식별된 텍스트 콘텐츠는 제2 윈도우 객체 상에서 텍스트 정보로서 역할을 할 수 있고, 그 다음 제2 윈도우 객체가 비정상 윈도우인지의 여부 및 비정상 윈도우의 타입이 획득될 수 있다.
단계(S120)에서, 제2 윈도우 객체가 비정상 윈도우인 것뿐만 아니라 비정상 윈도우의 타입을 확인한 후에, 컴퓨터 장치는 글로벌 마우스-키보드 훅을 통해 사용자의 동작 행위를 계속 감시한다.
예를 들어, 사용자는 적어도 한 번 동안 제2 윈도우 객체에 재시도 동작을 수행하고 적어도 하나의 제2 윈도우 객체를 작동시키거나, 제2 윈도우 객체의 폐쇄(제2 윈도우 객체의 소멸) 시 제1 윈도우 객체를 재작동시킨 후에 제2 윈도우 객체를 계속 작동시키면, 사용자가 현재 문제를 해결할 수 없다는 것을 표시하고 현재 문제에 대한 해결책을 제공할 필요가 있다.
이러한 경우에, 컴퓨터 장치는 비정상 윈도우의 타입에 따라 제2 윈도우 객체에 대응하는 문제를 해결하는 해결책으로서 미리 저장된 해결책 라이브러리로부터 대응 해결책을 결정할 수 있고, 그 다음에 결정된 해결책을 사용자에게 제공한다. 대안으로, 컴퓨터 장치는 결정된 해결책을 이하의 방식에 따라 사용자에게 제공할 수 있다:
- 사용자가 제2 윈도우 객체에 재시도 동작을 수행할 때, 제2 윈도우를 커버하는 위치에서 비정상 윈도우에 해결책을 팝업하는 단계; 또는
- 사용자가 제2 윈도우 객체에 폐쇄 동작을 수행할 때, 현재 디스플레이된 스크린의 특정 위치에서 비정상 윈도우에 해결책을 팝업하는 단계.
이하, 본 발명에 의해 제공되는 사용자 동작 행위에 기초하여 해결책을 추천하는 방법은 특정 실시예를 통해 상세히 설명될 것이다. 본 실시예는 일 예로서 윈도우즈 운영 체제를 사용하여 예시될 것이다. 도 2에 도시된 바와 같이, 방법은 이하를 포함한다:
단계(S200)에서, 컴퓨터 장치는 이벤트 통지 콜백 함수를 생성한다. 구체적으로, 컴퓨터 장치는 이벤트 콜백 함수를 통해 윈도우즈 7 운영 체제에서 생성되는 윈도우 객체를 감시하기 위해 사용될 수 있다.
본 실시예에서, 단지 예시적인 파일 삭제 팝업 프롬프트 윈도우가 특정 윈도우 객체로서 예시될 것이다. 당업자는 프로세스를 종결하는 실패, dll 파일의 부족, 및 운영 체제의 실행 중 중지와 같은 문제에 대한 다른 해결책을 추천하는 방법이 또한 본 발명의 보호 범위에 들어가야 하는 것을 이해해야 한다. 명료성을 위해, 그것은 본 명세서에 참조로서만 통합되고 상세히 설명되지 않을 것이다.
단계(S210)에서, 컴퓨터 장치는 객체 생성 메시지를 캡처한다. 구체적으로, 파일 삭제 팝업 프롬프트 윈도우가 생성된다는 메시지를 감시할 때, 컴퓨터 장치는 메시지를 캡처한다.
윈도우즈 운영 체제에서, 파일 삭제 팝업 프롬프트 윈도우의 타입은 #32770이다. 윈도우 객체 타입이 #32770이라는 생성 이벤트를 감시할 때, 윈도우 객체의 타이틀은 이벤트 통지 콜백 함수를 통해 획득되고 캡처가 "파일 삭제"인 것으로 판단된다. 예이면, 윈도우 객체는 사용자가 파일을 삭제함으로써 작동되는 파일 삭제 확인 프롬프트 윈도우이고; 그렇지 않으면, 윈도우 객체는 다른 타입의 팝업 윈도우이다.
단계(S220)에서, 컴퓨터 장치는 윈도우 타입을 결정한다. 사용자가 파일 삭제 팝업 프롬프트 윈도우에서 "확인"을 선택할 때, 컴퓨터 장치는 파일 삭제 장면으로 진입된다. 파일 삭제 장면에서, 컴퓨터 장치는 윈도우의 타이틀, 텍스트, 및 현재 초점 텍스트에 기초하여 윈도우 타입을 결정한다. 파일 삭제 장면에서, 파일 삭제 실패 알람 윈도우는 "파일을 삭제할 수 없음", "폴더를 삭제할 수 없음", "파일이 사용되고 있음", "폴더가 사용되고 있음", 및 기타 콘텐츠와 같은 텍스트 콘텐츠를 포함할 수 있다. 컴퓨터 장치는 상기 텍스트에 기초하여 윈도우 타입을 결정할 수 있다. 윈도우 타입이 알람 윈도우이면, 단계(230)를 수행하고; 윈도우 타입이 비알람 윈도우이면, 단계(210)를 수행한다. 윈도우 타입을 결정함으로써, 컴퓨터 장치는 파일 삭제 실패 알람 윈도우를 정확히 캡처하기 위해 "파일 삭제" 및 "특권 확대"와 같은 비알람 윈도우를 필터링할 수 있다.
단계(S230)에서, 컴퓨터 장치는 알람 윈도우의 텍스트 및 특징을 획득한다. 파일 삭제 실패 알람 윈도우가 이전 "파일 삭제" 확인 프롬프트 윈도우 팝업 전 초점 설정 이벤트, 마우스 및 키보드 및 유사한 메시지와 함께 작동될 때, 컴퓨터 장치는 삭제되는 하나 이상의 파일명 리스트를 획득한다.
단계(S240)에서, 컴퓨터 장치는 특정 장면 정보를 획득한다. 구체적으로, 컴퓨터 장치는 파일 경로를 획득하기 위해 윈도우를 열거함으로써 현재 파일이 위치되는 경로에서 편집 박스 제어 객체를 확인한다. 최종적으로, 파일명 리스트 및 파일 경로는 특정 파일을 삭제하지 못하는 완전한 장면으로 조합된다.
단계(S250)에서, 컴퓨터 장치는 문제에 대한 해결책을 추천한다. 해결책 라이브러리는 알람 윈도우의 각각의 타입에 대한 해결책을 저장하는 반면에, "파일을 삭제할 수 없음" 알람 윈도우에 대해 파일 분쇄기가 사용된다. 컴퓨터 장치는 사용자가 마우스 및 키보드 및 객체 파괴 이벤트로부터의 메시지를 통해 "파일을 삭제할 수 없음" 알람 윈도우 상에 재시도 또는 취소 동작을 수행하는 것을 결정한다. 컴퓨터 장치는 동일 경로 동일 명칭 삭제 실패 이벤트의 작동이 재시도 동작인 것으로 결정하는 반면에, 동일 윈도우 핸들 객체 파괴 이벤트의 작동을 취소 동작으로서 결정한다. 컴퓨터가 사용자 동작에 따라 재시도 동작을 결정하면, 현재 윈도우를 오버레이하는 시스템 윈도우는 사용자에게 파일 분쇄기를 사용하도록 강하게 추천하기 위해 팝업되고; 그것이 취소 또는 폐쇄 동작인 것으로 결정되면, 하부 우측 코너에 윈도우를 팝업하는 방식은 사용자에게 그/그녀가 파일 분쇄기를 필요로 하는지를 프롬프팅하기 위해 사용된다.
제1 윈도우 객체를 동작시킨 후에 사용자에 의해 작동되는 제2 윈도우 객체가 비정상 윈도우인 것을 감시할 때, 본 실시예에 따른 사용자 동작 행위에 기초하여 해결책을 추천하는 방법은 제2 윈도우 객체의 타입을 식별함으로써 대응 해결책을 결정하고, 사용자가 사용자의 동작 행위에 따라 대응 문제에 대한 해결책을 획득할 필요가 있다고 분석할 때 대응 해결책을 사용자에게 제공하며, 이는 해결책을 수동으로 검색하는 것에서 사용자를 면제하고; 더 중요하게, 그것은 그/그녀가 충족시키는 모든 문제에 대해 해결책을 사용자에게 추천하는 것보다는 오히려, 사용자가 대응 해결책을 해결할 수 없을 때 해결책만을 사용자에게 추천하는 것에 의해, 사용자가 컴퓨터를 사용하는 절차 동안 다양한 문제를 해결하는 것을 효과적으로 도울 수 있는 사용자 친화적인 스마트 추천 기능을 구현함으로써, 사용자 경험을 증대시킨다.
도 3은 본 발명의 일 실시예에 따른 사용자 동작 행위에 기초하여 해결책을 추천하는 장치(이하 "해결책 추천 장치"로 지칭됨)의 블록도를 예시한다. 해결책 추천 장치는 컴퓨터 장치 또는 컴퓨터 장치 내의 장치일 수 있다. 도 3에 예시된 바와 같이, 해결책 추천 장치는 이하를 포함한다:
사용자가 제1 윈도우 객체를 동작시킨 후에 작동되는 제2 윈도우 객체를 감시하도록 구성되는 모듈(300)(이하 "감시 유닛"으로 지칭됨);
제2 윈도우 객체가 비정상 윈도우이면, 제2 윈도우 객체에서 텍스트 정보를 추출함으로써 비정상 윈도우의 타입을 결정하도록 구성되는 모듈(310)(이하 "콘텐츠 추출 유닛"으로 지칭됨);
비정상 윈도우의 타입 및 제2 윈도우 객체에 대한 사용자의 감시된 동작 행위에 따라 제2 윈도우 객체에 대응하는 문제에 대한 해결책을 추천하도록 구성되는 모듈(320)(이하 "추천 유닛"으로 지칭됨).
감시 유닛(300)은 운영 체제의 메시지 처리 메커니즘에 기초하여 운영 체제의 이벤트 통지 콜백 함수 및 마우스-키보드 글로벌 훅을 생성할 수 있고; 이벤트 통지 콜백 함수에서, 윈도우 객체를 생성하는 것 외에 다른 생성 이벤트가 필터링되는 한편, 윈도우 객체를 생성하는 메시지의 촉발이 감시된다.
이벤트 통지 콜백 함수는 함수 포인터에 의해 호출되는 함수이다. 함수 포인터는 하나 또는 복수일 수 있다. 각각의 포인터는 특정 이벤트에 관한 것이다. 특정 이벤트가 발생할 때, 포인터는 대응 동작을 촉발하기 위해 대응 함수를 호출한다. 마우스-키보드 글로벌 훅은 마우스 및 키보드를 통해 생성된 이벤트에 대한 동작 행위를 획득하고 그 다음 사용자가 사용자의 동작 행위를 통해 발생하는 문제를 해결했는지 또는 발생하는 문제를 해결하지 못했는지를 판단하기 위한 것이다.
본 실시예에서, 감시 유닛(300)은 이벤트 통지 콜백 함수를 사용하여 이벤트 메시지를 감시하고; 생성된 이벤트가 윈도우 객체라는 메시지가 촉발된 후에, 즉 제1 윈도우 객체가 생성된 후에 사용자의 동작 행위는 마우스 키보드 글로벌 훅을 통해 더 획득된다. 사용자가 마우스 또는 키보드를 통해 제1 윈도우 객체를 동작시킨 후에 제2 윈도우 객체가 더 작동되면, 제1 윈도우 객체 상의 사용자의 동작이 처리될 수 없는 문제를 충족시킬 수 있다는 것을 표시한다. 사용자가 제1 윈도우 객체를 동작시킨 후에 제2 윈도우 객체가 작동되지 않으면, 해결책을 추천할 필요없이 대응 작업이 제1 윈도우 객체 상의 사용자의 동작에 의해 완료된 것을 표시한다.
콘텐츠 추출 유닛(310)은 제1 윈도우 객체 상의 사용자의 동작이 제2 윈도우 객체를 작동시킨 것을 감시할 때 제2 윈도우 객체의 타입이 비정상 프롬프트 또는 알람 윈도우(이하 비정상 윈도우로 지칭됨)에 속할 경우에만 제1 윈도우 객체 상의 사용자의 동작이 처리될 수 없는 문제를 충족시켰던 것을 더 표시하기 때문에 제2 윈도우 객체의 타입을 우선 결정한다.
대안으로, 콘텐츠 추출 유닛(310)은 제2 윈도우 객체의 타입을 결정하기 위해 이하의 모듈을 채택할 수 있다:
윈도우 서브컨트롤러를 열거함으로써 제2 윈도우 객체 상에 분산된 모든 텍스트 정보를 획득하도록 구성되는 서브모듈(이하 "정보 획득 유닛"으로 지칭됨);
텍스트 정보를 식별함으로써 비정상 윈도우의 타입을 결정하도록 구성되는 서브모듈(이하 "타입 식별 유닛"으로 지칭됨).
임의로, 본 실시예에서, 정보 획득 유닛은 획득된 제2 윈도우 객체에 의해 설명되는 텍스트 정보를 통해 상이한 시나리오를 구별하고, 그 다음에 특정 장면에서 환경 정보를 계속 획득하고, 그 다음에 환경 정보에 기초하여 제2 윈도우 객체 상에 분산된 모든 텍스트 정보를 획득하고, 텍스트 정보를 식별함으로써 비정상 윈도우의 타입을 결정할 수 있다. 구체적으로, 정보 획득 유닛은 이하의 유닛을 통해 특정 장면에서 환경 정보를 획득할 수 있다:
현재 윈도우 객체의 핸들을 통해 부모 윈도우 핸들 및 부모 윈도우의 부모 윈도우 핸들을 획득하는 유닛;
현재 장면과 연관되는 환경 정보를 획득하기 위해, 다른 특징 정보뿐만 아니라, 모든 부모 윈도우 하의 모든 객체 및 부모 윈도우와 동일한 부모 윈도우 하의 모든 객체의 타이틀을 열거하는 유닛.
그 후, 정보 획득 유닛은 현재 장면과 연관되는 획득된 환경 정보를 사용하여 제2 윈도우 객체 상에 분산된 모든 텍스트 정보를 획득할 수 있다.
핸들은 고유 정수 값, 예를 들어 윈도우, 버튼, 아이콘, 스크롤바, 컨트롤 또는 파일 등을 사용하여 동일한 종류의 객체의 응용 및 상이한 인스턴스에서 상이한 객체를 식별하는 것이고; 핸들을 분석함으로써 타입 식별 유닛은 윈도우 객체를 복수의 인스턴스로 분할하고 인스턴스를 텍스트 콘텐츠로 식별할 수 있으며; 식별된 텍스트 콘텐츠는 제2 윈도우 객체 상에서 텍스트 정보로서 역할을 할 수 있고, 그 다음 제2 윈도우 객체가 비정상 윈도우인지의 여부 및 비정상 윈도우의 타입이 획득될 수 있다.
제2 윈도우 객체가 비정상 윈도우인 것뿐만 아니라 비정상 윈도우의 타입을 확인한 후에, 추천 유닛(320)은 글로벌 마우스-키보드 훅을 통해 사용자의 동작 행위를 계속 감시한다.
추천 유닛(320)는 제2 윈도우 객체가 비정상 윈도우의 타입인 것을 확인한 후에, 대응 해결책은 이하의 서브모듈을 통해 결정될 수 있다:
비정상 윈도우의 타입에 따라, 제2 윈도우에 대응하는 문제에 대한 해결책으로서 미리 저장된 해결책 라이브러리로부터 대응 해결책을 결정하도록 구성되는 서브모듈.
예를 들어, 사용자는 적어도 한 번 동안 제2 윈도우 객체에 재시도 동작을 수행하고 적어도 하나의 제2 윈도우 객체를 작동시키거나, 제2 윈도우 객체의 폐쇄(제2 윈도우 객체의 소멸) 시 제1 윈도우 객체를 재작동시킨 후에 제2 윈도우 객체를 계속 작동시키면, 사용자가 현재 문제를 해결할 수 없다는 것을 표시하고 현재 문제에 해결책을 제공할 필요가 있다.
이러한 경우에, 추천 유닛(320)는 비정상 윈도우의 타입에 따라 제2 윈도우 객체에 대응하는 문제를 해결하는 해결책으로서 미리 저장된 해결책 라이브러리로부터 대응 해결책을 결정할 수 있고, 그 다음에 결정된 해결책을 이하의 서브모듈을 통해 사용자에게 제공한다:
사용자가 제2 윈도우 객체에 재시도 동작을 수행할 때, 제2 윈도우를 커버하는 위치에서 비정상 윈도우에 해결책을 팝업하도록 구성되는 서브모듈; 또는
사용자가 제2 윈도우 객체에 폐쇄 동작을 수행할 때, 현재 디스플레이된 스크린의 특정 위치에서 비정상 윈도우에 해결책을 팝업하도록 구성되는 서브모듈.
이하, 본 발명에 의해 제공되는 사용자 동작 행위에 기초하여 해결책을 추천하는 방법은 특정 실시예를 통해 상세히 설명될 것이다. 본 실시예는 일 예로서 윈도우즈 운영 체제를 사용하여 예시될 것이다. 도 2에 도시된 바와 같이, 방법은 이하를 포함한다:
단계(S200)에서, 컴퓨터 장치는 이벤트 통지 콜백 함수를 생성한다. 구체적으로, 컴퓨터 장치는 이벤트 콜백 함수를 통해 윈도우즈 7 운영 체제에서 생성되는 윈도우 객체를 감시하기 위해 사용될 수 있다.
본 실시예에서, 단지 예시적인 파일 삭제 팝업 프롬프트 윈도우가 특정 윈도우 객체로서 예시될 것이다. 당업자는 프로세스 종료 실패, dll 파일의 부족, 및 운영 체제의 실행 중 중지와 같은 문제에 대한 다른 해결책을 추천하는 방법이 또한 본 발명의 보호 범위에 들어가야 하는 것을 이해해야 한다. 명료성을 위해, 그것은 본 명세서에 참조로만 통합되고 상세히 설명되지 않을 것이다.
단계(S210)에서, 감시 유닛(300)은 객체 생성 메시지를 캡처한다. 구체적으로, 파일 삭제 팝업 프롬프트 윈도우가 생성된다는 메시지를 감시할 때, 감시 유닛(300)은 메시지를 캡처한다.
윈도우즈 운영 체제에서, 파일 삭제 팝업 프롬프트 윈도우의 타입은 #32770이다. 윈도우 객체 타입이 #32770이라는 생성 이벤트를 감시할 때, 윈도우 객체의 타이틀은 이벤트 통지 콜백 함수를 통해 획득되고 캡처가 "파일 삭제"인 것으로 판단된다. 예이면, 윈도우 객체는 사용자가 파일을 삭제함으로써 작동되는 파일 삭제 확인 프롬프트 윈도우이고; 그렇지 않으면, 윈도우 객체는 다른 타입의 팝업 윈도우이다.
단계(S220)에서, 콘텐츠 추출 유닛은 윈도우 타입을 결정한다. 구체적으로, 사용자가 파일 삭제 팝업 프롬프트 윈도우에서 "확인"을 선택할 때, 파일 삭제 장면이 나타난다. 파일 삭제 장면에서, 콘텐츠 추출 유닛(310)은 윈도우의 타이틀, 텍스트, 및 현재 초점 텍스트에 기초하여 윈도우 타입을 결정한다. 파일 삭제 장면에서, 파일 삭제 실패 알람 윈도우는 "파일을 삭제할 수 없음", "폴더를 삭제할 수 없음", "파일이 사용되고 있음", "폴더가 사용되고 있음", 및 기타 콘텐츠와 같은 텍스트 콘텐츠를 포함할 수 있다. 콘텐츠 추출 유닛(310)은 상기 텍스트에 기초하여 윈도우 타입을 결정할 수 있다. 윈도우 타입이 알람 윈도우이면, 단계(230)를 수행하고; 윈도우 타입이 비알람 윈도우이면, 단계(210)를 수행한다. 윈도우 타입을 결정함으로써, 컴퓨터 장치는 파일 삭제 실패 알람 윈도우를 정확히 캡처하기 위해 "파일 삭제" 및 "특권 확대"와 같은 비알람 윈도우를 필터링할 수 있다.
단계(S230)에서, 콘텐츠 추출 유닛(310)은 알람 윈도우의 텍스트 및 특징을 획득한다. 구체적으로, 파일 삭제 실패 알람 윈도우가 이전 "파일 삭제" 확인 프롬프트 윈도우 팝업 전 초점 설정 이벤트, 마우스 및 키보드 및 유사한 메시지와 함께 작동될 때, 콘텐츠 추출 유닛(310)은 삭제되는 하나 이상의 파일명 리스트를 획득한다.
단계(S240)에서, 콘텐츠 추출 유닛(310)은 특정 장면 정보를 획득한다. 구체적으로, 콘텐츠 추출 유닛(310)은 파일 경로를 획득하기 위해 윈도우를 열거함으로써 현재 파일이 위치되는 경로에서 편집 박스 제어 객체를 확인한다. 최종적으로, 파일명 리스트 및 파일 경로는 특정 파일을 삭제하지 못하는 완전한 장면으로 조합된다.
단계(S250)에서, 추천 유닛(320)은 문제에 대한 해결책을 추천한다. 해결책 라이브러리는 알람 윈도우의 각각의 타입에 대한 해결책을 저장하는 반면에, "파일을 삭제할 수 없음" 알람 윈도우에 대해 파일 분쇄기가 사용된다. 컴퓨터 장치는 사용자가 마우스 및 키보드 및 객체 파괴 이벤트로부터의 메시지를 통해 "파일을 삭제할 수 없음" 알람 윈도우 상에 재시도 또는 취소 동작을 수행하는 것을 결정한다. 추천 유닛은 동일 경로 동일 명칭 삭제 실패 이벤트의 작동이 재시도 동작인 것으로 결정하는 반면에, 동일 윈도우 핸들 객체 파괴 이벤트의 작동을 취소 동작으로서 결정한다. 컴퓨터가 사용자 동작에 따라 재시도 동작을 결정하면, 추천 유닛(320)은 사용자에게 파일 분쇄기를 사용하도록 강하게 추천하기 위해 현재 윈도우를 오버레이하는 시스템 윈도우를 팝업하고; 그것이 취소 또는 폐쇄 동작인 것으로 결정되면, 추천 유닛(320)은 사용자에게 그/그녀가 파일 분쇄기를 필요로 하는지를 프롬프팅하기 위해 하부 우측 코너에서 팝업 윈도우의 방식을 사용한다.
제1 윈도우 객체를 동작시킨 후에 사용자에 의해 작동되는 제2 윈도우 객체가 비정상 윈도우인 것을 감시할 때, 본 실시예에 따른 사용자 동작 행위에 기초하여 해결책을 추천하는 장치는 제2 윈도우 객체의 타입을 식별함으로써 대응 해결책을 결정하고, 사용자가 사용자의 동작 행위에 따라 대응 문제에 대한 해결책을 획득할 필요가 있다고 분석할 때 대응 해결책을 사용자에게 제공하며, 이는 해결책을 수동으로 검색하는 것에서 사용자를 면제하고; 더 중요하게, 그것은 그/그녀가 충족시키는 모든 문제에 대해 해결책을 사용자에게 추천하는 것보다는 오히려 사용자가 대응 해결책을 해결할 수 없을 때 해결책만을 사용자에게 추천하는 것에 의해, 사용자가 컴퓨터를 사용하는 절차 동안 다양한 문제를 해결하는 것을 효과적으로 도울 수 있는 사용자 친화적인 스마트 추천 기능을 구현함으로써, 사용자 경험을 증대시킨다.
본 발명은 소프트웨어 및/또는 소프트웨어 및 하드웨어의 조합으로 구현될 수 있다는 점을 주목해야 한다. 예를 들어, 본 발명에서의 각각의 모듈은 주문형 집적 회로((Application Specific Integrated Circuit)(ASIC)) 또는 임의의 다른 유사한 하드웨어 장치에 의해 구현될 수 있다. 일 실시예에서, 본 발명의 소프트웨어 프로그램은 상술한 바와 같이 단계 또는 기능을 구현하도록 프로세서를 통해 실행될 수 있다. 마찬가지로, 본 발명의 소프트웨어 프로그램(관련 데이터 구조를 포함함)은 컴퓨터 판독 가능 기록 매체, 예를 들어 랜덤 액세스 메모리((random access memory)(RAM)) 메모리, 자기 또는 광 드라이버 또는 플로피 디스크, 및 유사한 장치에 저장될 수 있다. 게다가, 본 발명의 일부 단계 또는 기능은 다양한 단계 또는 기능을 실행하도록 하드웨어, 예를 들어 프로세서와 협력하는 회로에 의해 구현될 수 있다.
게다가, 본 발명의 일부는 컴퓨터에 의해 실행될 때, 컴퓨터의 동작을 통해 본 발명에 따른 방법 및/또는 기술적 해결책을 호출하거나 제공할 수 있는 컴퓨터 프로그램 제품, 예를 들어 컴퓨터 프로그램 명령어로서 적용될 수 있다. 본 발명의 방법을 호출하는 프로그램 명령어는 고정 또는 이동 기록 매체에 저장되고, 및/또는 브로드캐스트 및/또는 다른 신호 캐리어 매체를 통해 송신되고, 및/또는 컴퓨터 장치 내의 프로그램 명령어에 따라 실행하는 워크 메모리에 저장될 수 있다. 여기서, 본 발명에 따른 일 실시예는 컴퓨터 프로그램 명령어를 저장하는 메모리 및 프로그램 명령어를 실행하는 프로세서를 포함하는 장치를 포함하며, 프로세서에 의해 실행될 때, 컴퓨터 프로그램 명령어는 본 발명의 다양한 실시예에 따른 방법 및/또는 기술적 해결책을 수행하도록 장치를 작동시킨다.
본 개시는 상기 예시적 실시예의 상세 사항으로 제한되지 않고, 본 개시는 본 개시의 사상 또는 기본 특징으로부터 벗어나지 않으면서 다른 형태로 구현될 수 있다는 점이 당업자에게 명백하다. 따라서, 어떠한 방식으로도, 실시예는 예시적인 것으로 간주되고 제한적인 것으로 간주되지 않아야 하고; 본 개시의 범위는 상기 설명 대신 첨부된 청구항에 의해 제한된다. 따라서, 청구항의 균등 요소의 의미 및 범위에 들어가도록 의도되는 모든 변형은 본 개시 내에서 포함되어야 한다. 청구항 내의 참조 부호는 관련된 청구항을 제한하는 것으로 간주되지 않아야 한다. 아울러, 용어 "포함한다/포함하는/구비한다/구비하는"은 다른 유닛 또는 단계를 배제하지 않고 단수는 복수를 배제하지 않는다는 점이 명백하다. 장치 청구항에 명시되는 복수의 유닛 또는 수단은 또한 소프트웨어 또는 하드웨어를 통해 단일 유닛 또는 수단에 의해 구현될 수 있다. 제 1 및 제 2와 같은 용어는 명칭을 표시하기 위해 사용되지만 임의의 특정 순서를 표시하지는 않는다.

Claims (13)

  1. 사용자 동작 행위에 기초하여 해결책을 추천하는 방법으로서,
    사용자가 제1 윈도우 객체를 동작시킨 후에 작동되는 제2 윈도우 객체를 감시하는 단계;
    상기 제2 윈도우 객체가 비정상 윈도우이면, 상기 제2 윈도우 객체에서 텍스트 정보를 추출함으로써 상기 비정상 윈도우의 타입을 결정하는 단계;
    상기 비정상 윈도우의 타입 및 상기 제2 윈도우 객체에 대한 사용자의 감시된 동작 행위에 따라 상기 제2 윈도우 객체에 대응하는 문제에 대한 해결책을 추천하는 단계를 포함하는 방법.
  2. 제1항에 있어서, 상기 제2 윈도우 객체에서 텍스트 정보를 추출함으로써 상기 비정상 윈도우의 타입을 결정하는 단계는,
    윈도우 서브컨트롤을 열거함으로써 상기 제2 윈도우 객체 상에 분산된 모든 텍스트 정보를 획득하는 단계;
    상기 비정상 윈도우의 타입을 식별함으로써 상기 비정상 윈도우의 타입을 결정하는 단계를 포함하는 방법.
  3. 제2항에 있어서, 윈도우 서브컨트롤을 열거함으로써 상기 제2 윈도우 객체 상에 분산된 모든 텍스트 정보를 획득하는 단계는,
    상기 비정상 윈도우의 핸들을 통해 부모 윈도우 핸들 및 부모 윈도우의 부모 윈도우 핸들을 획득하는 단계;
    현재 장면과 연관되는 환경 정보를 수집하기 위해 다른 특징 정보뿐만 아니라, 모든 부모 윈도우 하의 모든 객체 및 상기 부모 윈도우와 동일한 부모 윈도우 하의 모든 객체의 타이틀을 열거하는 단계를 포함하는 방법.
  4. 제1항에 있어서, 상기 제2 윈도우 객체에 대응하는 문제에 대한 해결책을 추천하는 단계는,
    상기 사용자가 상기 제2 윈도우 객체에 재시도 동작을 수행할 때, 상기 제2 윈도우를 오버레이하는 위치에서 상기 비정상 윈도우에 해결책을 팝업하는 단계; 또는
    상기 사용자가 상기 제2 윈도우 객체에 폐쇄 동작을 수행할 때, 현재 디스플레이 스크린의 특정 위치에서 상기 비정상 윈도우에 해결책을 팝업하는 단계를 포함하는 방법.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서, 상기 제2 윈도우에 대응하는 문제에 대한 해결책을 결정하는 절차는,
    상기 비정상 윈도우의 타입에 따라 상기 제2 윈도우 객체에 대응하는 문제에 대한 해결책으로서 미리 저장된 해결책 라이브러리로부터 대응 해결책을 결정하는 단계를 포함하는 방법.
  6. 사용자 동작 행위에 기초하여 해결책을 추천하는 장치로서,
    사용자가 제1 윈도우 객체를 동작시킨 후에 작동되는 제2 윈도우 객체를 감시하도록 구성되는 모듈;
    상기 제2 윈도우 객체가 비정상 윈도우이면, 상기 제2 윈도우 객체에서 텍스트 정보를 추출함으로써 상기 비정상 윈도우의 타입을 결정하도록 구성되는 모듈;
    상기 비정상 윈도우의 타입 및 상기 제2 윈도우 객체에 대한 사용자의 감시된 동작 행위에 따라 상기 제2 윈도우 객체에 대응하는 문제에 대한 해결책을 추천하도록 구성되는 모듈을 포함하는 장치.
  7. 제6항에 있어서, 상기 제2 윈도우 객체에서 텍스트 정보를 추출함으로써 상기 비정상 윈도우의 타입을 결정하도록 구성되는 모듈은,
    윈도우 서브컨트롤을 열거함으로써 상기 제2 윈도우 객체 상에 분산된 모든 텍스트 정보를 획득하도록 구성되는 서브모듈;
    상기 비정상 윈도우의 타입을 식별함으로써 상기 비정상 윈도우의 타입을 결정하도록 구성되는 서브모듈을 포함하는 장치.
  8. 제7항에 있어서, 윈도우 서브컨트롤을 열거함으로써 상기 제2 윈도우 객체 상에 분산된 모든 텍스트 정보를 획득하도록 구성되는 서브모듈은,
    상기 비정상 윈도우의 핸들을 통해 부모 윈도우 핸들 및 부모 윈도우의 부모 윈도우 핸들을 획득하는 유닛;
    현재 장면과 연관되는 환경 정보를 수집하기 위해 다른 특징 정보뿐만 아니라, 모든 부모 윈도우 하의 모든 객체 및 상기 부모 윈도우와 동일한 부모 윈도우 하의 모든 객체의 타이틀을 열거하는 유닛을 포함하는 장치.
  9. 제6항에 있어서, 상기 비정상 윈도우의 타입 및 상기 제2 윈도우 객체에 대한 사용자의 감시된 동작 행위에 따라 상기 제2 윈도우 객체에 대응하는 문제에 대한 해결책을 추천하도록 구성되는 모듈은,
    상기 사용자가 상기 제2 윈도우 객체에 재시도 동작을 수행할 때, 상기 제2 윈도우를 오버레이하는 위치에서 상기 비정상 윈도우에 해결책을 팝업하도록 구성되는 서브모듈; 또는
    상기 사용자가 상기 제2 윈도우 객체에 폐쇄 동작을 수행할 때, 현재 디스플레이 스크린의 특정 위치에서 상기 비정상 윈도우에 해결책을 팝업하도록 구성되는 서브모듈을 포함하는 장치.
  10. 제6항 내지 제9항 중 어느 한 항에 있어서, 상기 비정상 윈도우의 타입 및 상기 제2 윈도우 객체에 대한 사용자의 감시된 동작 행위에 따라 상기 제2 윈도우 객체에 대응하는 문제에 대한 해결책을 추천하도록 구성되는 모듈은,
    상기 비정상 윈도우의 타입 및 상기 제2 윈도우 객체에 대한 사용자의 감시된 동작 행위에 따라 상기 제2 윈도우 객체에 대응하는 문제에 대한 해결책으로서 미리 저장된 해결책 라이브러리로부터 대응 해결책을 결정하도록 구성되는 서브모듈을 포함하는 장치.
  11. 실행될 때, 제1항 내지 제5항 중 어느 한 항에 따른 방법이 실행되게 하는 컴퓨터 코드를 포함하는 비휘발성 컴퓨터 판독 가능 매체.
  12. 컴퓨터 장치에 의해 실행될 때, 제1항 내지 제5항 중 어느 한 항에 따른 방법이 실행되게 하는 컴퓨터 프로그램 제품.
  13. 메모리 및 프로세서를 포함하는 컴퓨터 장치로서, 상기 메모리는 컴퓨터 코드를 저장하며, 상기 프로세서는 상기 컴퓨터 코드를 실행함으로써 제1항 내지 제5항 중 어느 한 항에 따른 방법을 실행하도록 구성되는 컴퓨터 장치.

KR1020167030069A 2015-01-09 2015-08-26 사용자 동작 행위에 기초하여 해결책을 추천하는 방법 및 장치 KR101990598B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201510012093.4 2015-01-09
CN201510012093.4A CN104598128A (zh) 2015-01-09 2015-01-09 一种基于用户操作行为来推荐解决方案的方法及装置
PCT/CN2015/088188 WO2016110114A1 (zh) 2015-01-09 2015-08-26 一种基于用户操作行为来推荐解决方案的方法及装置

Publications (2)

Publication Number Publication Date
KR20160138250A true KR20160138250A (ko) 2016-12-02
KR101990598B1 KR101990598B1 (ko) 2019-06-18

Family

ID=53123958

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167030069A KR101990598B1 (ko) 2015-01-09 2015-08-26 사용자 동작 행위에 기초하여 해결책을 추천하는 방법 및 장치

Country Status (6)

Country Link
US (1) US10901568B2 (ko)
EP (1) EP3113002A4 (ko)
JP (1) JP6334733B2 (ko)
KR (1) KR101990598B1 (ko)
CN (1) CN104598128A (ko)
WO (1) WO2016110114A1 (ko)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104598128A (zh) 2015-01-09 2015-05-06 百度在线网络技术(北京)有限公司 一种基于用户操作行为来推荐解决方案的方法及装置
US10318094B2 (en) * 2015-03-25 2019-06-11 International Business Machines Corporation Assistive technology (AT) responsive to cognitive states
US10359836B2 (en) * 2015-03-25 2019-07-23 International Business Machines Corporation Assistive technology (AT) responsive to cognitive states
CN106339380A (zh) * 2015-07-07 2017-01-18 阿里巴巴集团控股有限公司 常见问题信息的推荐方法及装置
CN105677535A (zh) * 2016-01-04 2016-06-15 广东威创视讯科技股份有限公司 窗口异常处理方法及窗口异常处理装置
CN105677132A (zh) * 2016-01-06 2016-06-15 腾讯科技(深圳)有限公司 应用程序的提示信息的处理方法和装置
US10599615B2 (en) 2016-06-20 2020-03-24 International Business Machines Corporation System, method, and recording medium for recycle bin management based on cognitive factors
CN106228669A (zh) * 2016-08-01 2016-12-14 中体彩科技发展有限公司 精准获取用户帮助信息的方法、售彩终端、服务器和系统
US10826914B2 (en) 2016-12-28 2020-11-03 Mcafee, Llc Method to improve anti-malware scan responsiveness and effectiveness using user symptoms feedback
CN111078344A (zh) * 2019-12-11 2020-04-28 广州品唯软件有限公司 运维控制方法、终端设备及计算机可读存储介质
CN113342622A (zh) * 2021-08-02 2021-09-03 深圳市永达电子信息股份有限公司 操作行为审计方法、装置及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6487713B1 (en) * 1999-09-24 2002-11-26 Phoenix Technologies Ltd. Software development system that presents a logical view of project components, facilitates their selection, and signals missing links prior to compilation
US20040199828A1 (en) * 2003-04-01 2004-10-07 International Business Machines Corporation Method and apparatus for tracing troubleshooting events for aiding technical assistance
US20070198001A1 (en) * 2006-02-21 2007-08-23 Brainlab Ag Computer network system and method for operating a network system screen shot and source shot control
JP2009282817A (ja) * 2008-05-23 2009-12-03 Canon Inc ヘルプ表示方法、ヘルプ表示装置及びプログラム
JP2011145918A (ja) * 2010-01-15 2011-07-28 Hitachi Solutions Ltd Webアプリケーション表示制御システム

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4500964A (en) * 1983-03-30 1985-02-19 International Business Machines Corporation Dialog user error diagnosis, severity, and help technique
US6573906B1 (en) * 1999-04-26 2003-06-03 International Business Machines Corporation Method and system for delivering integrated user assistance information and traditional help from the same source
US20040095372A1 (en) * 2002-11-14 2004-05-20 International Business Machines Corporation System and method for progressive levels of user assistance information
JP2004192625A (ja) * 2002-11-25 2004-07-08 Brother Ind Ltd 設定システム、電子機器、及びプログラム
US20070067394A1 (en) * 2005-09-16 2007-03-22 Neil Adams External e-mail detection and warning
CN101676909A (zh) * 2008-09-16 2010-03-24 联想(北京)有限公司 为用户提供自助服务的方法及计算机
CN101662387B (zh) * 2009-10-14 2013-01-23 中国电信股份有限公司 一种检测网络中计算机接入状态的系统及方法
CN102236587B (zh) 2010-04-28 2013-11-13 中标软件有限公司 firefox浏览器异常恢复方法
US20110283226A1 (en) * 2010-05-15 2011-11-17 International Business Machines Corporation Window display management in a graphical user interface
CN103051516B (zh) * 2011-10-17 2016-04-13 腾讯科技(深圳)有限公司 一种即时通信客户端的消息提示方法和装置
CN103684826B (zh) * 2012-09-17 2017-05-24 腾讯科技(深圳)有限公司 一种解决故障的方法,及装置
CN104216997A (zh) * 2014-09-10 2014-12-17 珠海市君天电子科技有限公司 一种终端设备的修复方法及装置
JP2016057854A (ja) * 2014-09-10 2016-04-21 日本電気株式会社 操作支援システムおよび操作支援方法
CN104598128A (zh) 2015-01-09 2015-05-06 百度在线网络技术(北京)有限公司 一种基于用户操作行为来推荐解决方案的方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6487713B1 (en) * 1999-09-24 2002-11-26 Phoenix Technologies Ltd. Software development system that presents a logical view of project components, facilitates their selection, and signals missing links prior to compilation
US20040199828A1 (en) * 2003-04-01 2004-10-07 International Business Machines Corporation Method and apparatus for tracing troubleshooting events for aiding technical assistance
US20070198001A1 (en) * 2006-02-21 2007-08-23 Brainlab Ag Computer network system and method for operating a network system screen shot and source shot control
JP2009282817A (ja) * 2008-05-23 2009-12-03 Canon Inc ヘルプ表示方法、ヘルプ表示装置及びプログラム
JP2011145918A (ja) * 2010-01-15 2011-07-28 Hitachi Solutions Ltd Webアプリケーション表示制御システム

Also Published As

Publication number Publication date
JP2017524169A (ja) 2017-08-24
EP3113002A4 (en) 2017-12-13
US10901568B2 (en) 2021-01-26
EP3113002A1 (en) 2017-01-04
US20170024228A1 (en) 2017-01-26
WO2016110114A1 (zh) 2016-07-14
JP6334733B2 (ja) 2018-05-30
CN104598128A (zh) 2015-05-06
KR101990598B1 (ko) 2019-06-18

Similar Documents

Publication Publication Date Title
KR101990598B1 (ko) 사용자 동작 행위에 기초하여 해결책을 추천하는 방법 및 장치
EP2839628B1 (en) Providing rule based analysis of content to manage activation of web extension
CN114144798A (zh) 安全事故调查事件捕获
CN108984234B (zh) 一种移动终端与摄像装置的调用提示方法
KR20180080535A (ko) 웹 데이터 수집 장치 및 방법
CN105279431B (zh) 一种移动设备中操作信息的记录方法、装置和系统
CN104216996A (zh) 一种文件信息展示方法及装置
CN110688314A (zh) 一种应用的性能分析方法、装置、电子设备和存储介质
CN112269762A (zh) 一种文件监控方法、装置、电子设备及存储介质
US9037994B2 (en) Navigation to a data definition in a diff context
CN116244138A (zh) 应用的运行异常识别方法、装置、电子设备及存储介质
US10824306B2 (en) Presenting captured data
WO2016071716A1 (en) A video signal caption system and method for advertising
CN116719696A (zh) 应用程序接口数据的监控方法、装置、设备及存储介质
WO2020250320A1 (ja) 操作ログ取得装置、操作ログ取得方法および操作ログ取得プログラム
CN108446150B (zh) 对象的重复使用方法、装置及终端设备
KR102099239B1 (ko) 모니터링 방법
US9069562B2 (en) Mobile computing program slicing and behavior
JP2010231568A (ja) イベント判別装置、イベント判別プログラム、イベント判別方法
CN110837433A (zh) 性能优化方法、装置及电子设备
CN113395234A (zh) 推广信息的流量劫持监控方法及装置
CN113742299B (zh) 文件压缩和解压缩方法以及文件压缩和解压缩装置
CN115904572B (zh) 一种模板创建方法、调用方法、程序产品、系统及装置
CN109165043B (zh) 音频输入设备的调用检测方法、设备及计算机可读存储介质
CN112699086A (zh) 一种基于Windows系统的文件操作监控方法和装置

Legal Events

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