CN104919415A - 用于管理应用程序的装置和方法 - Google Patents

用于管理应用程序的装置和方法 Download PDF

Info

Publication number
CN104919415A
CN104919415A CN201380069667.0A CN201380069667A CN104919415A CN 104919415 A CN104919415 A CN 104919415A CN 201380069667 A CN201380069667 A CN 201380069667A CN 104919415 A CN104919415 A CN 104919415A
Authority
CN
China
Prior art keywords
module
information
thread
executive process
target
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
CN201380069667.0A
Other languages
English (en)
Inventor
金泰烨
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
HAN ALL TECHNOLOGY Inc
Original Assignee
HAN ALL TECHNOLOGY Inc
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 HAN ALL TECHNOLOGY Inc filed Critical HAN ALL TECHNOLOGY Inc
Publication of CN104919415A publication Critical patent/CN104919415A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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/22Microcontrol or microprogram arrangements
    • 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/541Interprogram communication via adapters, e.g. between incompatible applications
    • 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
    • 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/543User-generated data transfer, e.g. clipboards, dynamic data exchange [DDE], object linking and embedding [OLE]

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明的实施例涉及用于管理应用程序(AP)的装置和方法,并且包括处理模块,该处理模块在信息处理设备的程序块中与待终止的AP对应的AP执行进程的线程被终止的情况下读取每个线程的模块信息和每个模块的堆栈信息,以便在每个线程模块和每个模块堆栈之中选择负责处理动态数据交换(DDE)消息的模块和堆栈,并且解除包括所选择的模块和堆栈的线程的终止。因此,即使在终止待终止的AP(例如,用户未使用的AP)的每个AP执行进程的线程的状态下,也可以容易地避免由处理DDE消息的延迟引起的各种问题。

Description

用于管理应用程序的装置和方法
技术领域
本公开涉及用于管理应用程序(在下文称为“AP”)的装置和方法。更具体地,本公开涉及如下的用于管理AP的装置和方法,该装置在操作系统侧仅允许包括与动态数据交换(DDE)消息处理相关的模块和堆栈的线程被正常地置于解除挂起(unsuspend)的环境中,即使在目标AP(例如用户未使用的AP)的每个AP执行进程的线程停止的状态下也是如此,以提供关于容易地避免在用户侧由DDE消息处理延迟而引起的各种问题的指导。
背景技术
近来,随着与电/电子/通信相关的技术的迅速发展,各种类型的应用程序(AP)(例如文字处理AP、绘图AP、办公管理AP、通信AP、互联网接入AP等)被广泛地开发/传播。因此,正在开发各种类型的基础技术以更有效地管理相应的AP。
例如,韩国注册专利第10-1053681号(名称为“a user terminal,anda method and apparatus for controlling software managementthereof”)(2011年8月2日公布)公开了一种软件访问控制方法,其特征为包括:①监视用户终端,②确定在用户终端已经访问在软件提供装置上运行的软件之后该软件是否在预定时间段或更长时间内处于未使用状态,并且在该软件处于未使用状态时,确定强制地释放用户终端与软件的连接,③在软件中暂时存储用户终端目前为止已完成的工作,并且向用户终端请求产生用于强制地释放用户终端与软件的连接的进程,和④向用户终端提供用于暂时存储工作和强制释放的进程的控制消息。
然而,因为所有的主要进程都在服务器端执行,所以如在专利第10-1053681号中公开的用于强制地释放不使用软件的终端的连接的技术非常明显地增加了服务器端的负担。另外,产生了严重的问题,例如,执行进程所花费的总时间极大增加。
特别地,如专利第10-1053681号中公开的用于强制释放不使用软件的终端的连接的技术采用终止未使用的软件而不是暂停它的极端方法。因此,当用户尝试再使用该软件时,用户不得不忍耐必须再次从开始执行相应的已终止的软件的不便。
为了解决该问题,常规上已经有说服力地建议选择目标AP(例如未使用的AP)并且停止用于所选择AP的每个执行进程的线程以暂停相应的目标AP。在这种情况下,不是完全终止相应的目标AP,而是暂停其操作。因此,当再使用目标AP时,用户能够容易地避免必须再次从开始执行该AP的不便。
然而,根据现有技术的AP挂起技术使包含在目标AP的进程中的线程一起停止。因此,除非采取什么动作,否则采用根据现有技术的AP挂起技术的信息处理设备的操作系统甚至完全不能使用在目标AP的线程的每个中的、包括负责动态数据交换(DDE)消息处理的模块和堆栈的线程。因此,要面对信息处理设备的整个DDE消息处理都被极大延迟的严重情况。
当然,如果DDE消息处理被延迟,则用户不能容易地使用目标AP以及其他AP。因此,AP的总体使用品质大大降低。
发明内容
技术问题
因此,本公开的实施例在操作系统侧仅允许包括与动态数据交换(DDE)消息处理相关的模块和堆栈的线程被正常地解除挂起,即使在目标AP(例如用户未使用的AP)的每个应用程序(AP)执行进程的线程被停止的状态下也是如此。由此,在用户侧可以容易地避免由DDE消息处理延迟而引起的各种问题。
根据以下详细描述和附图,本公开的其他目的会变得更足够明显。
技术方案
本公开的一个实施例公开了一种用于管理应用程序(AP)的装置,所述应用程序在所述装置被安装在信息处理设备中的状态下借助于应用程序接口(API)函数与控制AP的操作系统通信,所述装置包括:选择单元,其用于根据预存的AP挂起过程设置信息在正运行的AP之中选择目标AP;第一信息获取单元,其用于获取与正运行的AP对应的AP执行进程的详细信息;第二信息获取单元,其用于与第一信息获取单元通信以在AP执行进程之中读取与目标AP对应的AP执行进程的详细信息,并且获取与目标AP对应的AP执行进程的句柄信息、与目标AP对应的每个AP执行进程的线程的句柄信息、每个线程的模块信息、和每个模块的堆栈信息;AP挂起处理单元,其用于与第二信息获取单元通信以读取与目标AP对应的AP执行进程的句柄信息、与目标AP对应的每个AP执行进程的线程的句柄信息、每个线程的模块信息、和每个模块的堆栈信息,并且挂起与目标AP对应的每个AP执行进程的线程;解除挂起单元,其用于在与目标AP对应的每个AP执行进程的线程被挂起处理单元挂起时与挂起处理单元通信,以读取每个线程的模块信息和每个模块的堆栈信息,在每个线程的模块和每个模块的堆栈之中选择负责动态数据交换(DDE)消息处理的模块和堆栈,并且解除挂起包括所选择的模块和堆栈的线程;和控制单元,其用于控制选择单元、第一信息获取单元、第二信息获取单元、AP挂起处理单元、和解除挂起单元。
而且,本公开的另一实施例公开了一种用于管理AP的方法,所述AP借助于API函数与控制AP的执行的操作系统通信,所述方法包括:根据预存的AP挂起过程设置信息来在正运行的AP之中选择目标AP;获取与正运行的AP对应的AP执行进程的详细信息;在AP执行进程之中读取与目标AP对应的AP执行进程的详细信息,并且获取与目标AP对应的AP执行进程的句柄信息、与目标AP对应的每个AP执行进程的线程的句柄信息、每个线程的模块信息、和每个模块的堆栈信息;读取与目标AP对应的AP执行进程的句柄信息、与目标AP对应的每个AP执行进程的线程的句柄信息、每个线程的模块信息、和每个模块的堆栈信息,并且挂起与目标AP对应的每个AP执行进程的线程;和当与目标AP对应的每个AP执行进程的线程被挂起时,读取每个线程的模块信息和每个模块的堆栈信息,在每个线程的模块和每个模块的堆栈之中选择负责DDE消息处理的模块和堆栈,并且解除挂起包括所选择的模块和堆栈的线程。
有益效果
在本公开的一个实施例中,在包含操作系统的信息处理设备的程序块中系统地布置和提供了:可操作以在正运行的应用程序(AP)之中选择目标AP的计算模块,可操作以调用应用程序接口(API)函数来获取与正运行的AP对应的AP执行进程的详细信息的计算模块,可操作以读取与目标AP对应的AP执行进程的详细信息并且调用API函数来获取与目标AP对应的AP执行进程的句柄信息、每个AP执行进程的线程的句柄信息、每个线程的模块信息和每个模块的堆栈信息的计算模块,可操作以读取与目标AP对应的AP执行进程的句柄信息、每个AP执行进程的线程的句柄信息、每个线程的模块信息和每个模块的堆栈信息并且调用API函数来挂起与目标AP对应的每个AP执行进程的线程的计算模块,和可操作以在与目标AP对应的每个AP执行进程的线程停止时读取每个线程的模块信息和每个模块的堆栈信息、在每个线程的模块和每个模块的堆栈之中选择负责动态数据交换(DDE)消息处理的模块和堆栈、并且解除挂起包括所选择的模块和堆栈的线程的计算模块。因此,在本公开的实施环境下,在操作系统侧,仅有包含与DDE消息处理相关的模块和堆栈的线程可以被正常地置于解除挂起的环境中,即使在目标AP(例如用户未使用的AP)的每个AP执行进程的线程停止时也是如此。因此,在用户侧可以容易地避免由DDE消息处理延迟而引起的各种类型的问题。
附图说明
图1是概念性地图示了根据本公开的应用程序(AP)管理装置的程序布局的示例的示意图。
图2是概念性地图示了根据本公开的AP管理装置的详细配置的示例的示意图。
图3是概念性地图示了执行根据本公开的AP管理装置的函数的详细过程的示例的示意图。
具体实施方式
下文中,将参照附图详细描述根据本公开的用于管理应用程序(AP)的装置和方法。
如图1所示,操作系统2(例如Microsoft Windows族的操作系统)被安装在采用根据本公开的AP管理装置100的信息处理设备1(例如笔记本计算机、台式计算机、智能电话、和平板电脑)中。在这种情况下,操作系统通过动态链接库(DLL)文件4和应用程序接口(API)函数5准确地控制不同类型的AP 3和3a(例如,文字处理AP、绘图AP、办公管理AP、通信AP、和互联网接入AP等)的执行状态。
在这种环境下,当应用了根据现有技术的AP挂起技术时,包含在目标AP 3a的执行进程6a中的线程7和7a被一起停止。因此,除非采取什么动作,否则操作系统2甚至完全不能使用目标AP 3a的线程7和7a的每个中的包括负责DDE消息处理的模块8a和堆栈9a的线程7a。因此,不可避免地,信息处理设备1的整个DDE消息处理都被极大地延迟。
与此相反,当与目标AP 3a对应的每个AP执行进程6a的线程7和7a被停止时,根据本公开的AP管理装置100读取每个线程7和7a的模块信息和每个模块8和8a的堆栈信息,并且在每个线程7和7a的模块8和8a以及每个模块8和8a的堆栈9和9a之中选择负责DDE消息处理的模块8a和堆栈9a。随后,AP管理装置100解除挂起包括所选模块8a和堆栈9a的线程7a,使得操作系统2可以在目标AP(例如用户未使用的AP)的函数被停止时完全不经历不必要的DDE消息处理延迟问题。
如图2所示,根据本公开的AP管理装置100借助于接口单元102与操作系统2通信,并且可以具有操作信息存储单元103、选择单元104、第一信息获取单元105、第二信息获取单元106、AP挂起处理单元107、解除挂起单元108、AP解除挂起处理单元109、和控制单元101的适当地结合的配置,其中所述控制单元101控制AP管理装置100的组件。
在这种情况下,由控制单元101控制的操作信息存储单元103执行辅助作用以通过在操作信息存储单元103的信息存储区域中存储和管理根据本公开的AP管理服务所需的各种类型的操作信息、例如操作系统2的注册信息、AP挂起过程设置信息(例如,用于选择在特定时间段内未被用户使用的AP作为目标AP的设置信息,或用于选择特定AP作为目标AP的设置信息)、和执行每个计算模块的进程所需的组件信息来在没有任何问题的情况下正常地执行根据本公开的一系列AP管理过程。
如图3所示,通过这种基础结构,由控制单元101控制的选择单元104借助于接口单元102与操作系统2通信。由此,选择单元104检查AP3和3a中的每个的执行历史,并且与操作信息存储单元103通信以读取已经存储于操作信息存储单元103的信息存储区域中的AP挂起过程设置信息。随后,基于所读取的内容,选择单元104执行AP执行进程6和6a中的每个,并且在正运行的AP 3和3a之中选择目标AP 3a。
例如,在二十分钟内未被用户使用的AP可以被选择为目标AP 3a。作为另一示例,可从BB购买得到的○○AP可以被选择为目标AP 3a,并且作为再一示例,未知制造者的△△AP可以被选择为目标AP 3a(目标AP可以根据情况进行各种修改)。
通过这样做,当目标AP 3a被选择时,由控制单元101控制的第一信息获取单元105与选择单元104通信以识别哪个AP是目标AP 3a。随后,第一信息获取单元105借助于接口单元102与操作系统2通信以选择DLL文件4(例如dbghelp.dll文件)并且调用API函数5(例如GetProcAddress函数)。由此,第一信息获取单元105可以获取与正运行的AP 3和3a对应的AP执行进程6和6a的详细信息(例如,AP执行进程6和6a的虚拟地址空间信息、在AP执行进程6和6a的虚拟地址空间中加载的执行文件信息、由操作系统2为AP执行进程6和6a分配的各种类型的资源信息、AP执行进程6和6a的内核对象信息、和AP执行进程6和6a的线程信息)(参见图3)。
通过前述过程,当第一信息获取单元105获取与正运行的AP 3和3a对应的AP执行进程6和6a的详细信息时,由控制单元101控制的第二信息获取单元106与选择单元104通信以识别哪个AP是目标AP 3a。而且,第二信息获取单元106与第一信息获取单元105通信以在与正运行的AP 3和3a对应的AP执行进程6和6a的详细信息之中读取与目标AP 3a对应的AP执行进程6a的详细信息(例如,AP执行进程6a的虚拟地址空间信息、在AP执行进程6a的虚拟地址空间中加载的执行文件信息、由操作系统2为AP执行进程6a分配的各种类型的资源信息、AP执行进程6a的内核对象信息、和AP执行进程6a的线程信息)(参见图3)。
当第二信息获取单元106识别出哪个AP是目标AP 3a并且读取了与对应的目标AP 3a对应的AP执行进程6a的详细信息时,第二信息获取单元106借助于接口单元102与操作系统2通信以调用API函数5(例如,OpenProcess API函数、CreateToolhelp32Snapshot API函数、SymLoadModule64API函数、GetThreadContext API函数、和StackWalk64API函数)。由此,第二信息获取单元106可以获取与目标AP 3a对应的AP执行进程6a的句柄信息、每个AP执行进程6a的线程7和7a的句柄信息、每个AP执行进程6a的线程7和7a的上下文结构值(contextstructure value)信息、每个线程7和7a的模块信息(例如,每个模块8和8a的符号表信息、每个模块8和8a的存储地址值信息、和每个模块8和8a的IMAGEHELP_MODULE64结构值信息)、和每个模块8和8a的堆栈信息(例如,每个堆栈9和9a堆栈跟踪信息)(参见图3)。
在这种情况下,在之前提到的API函数5中,OpenProcess API函数被用于获取AP执行进程6a的句柄信息,并且CreateToolhelp32SnapshotAPI函数被用于获取每个AP执行进程6a的线程7和7a的句柄信息。而且,SymLoadModule64API函数被用于获取每个线程7和7a的模块信息,GetThreadContext API函数被用于获取每个AP执行进程6a的线程7和7a的上下文结构值信息,并且StackWalk64API函数被用于获取每个模块8和8a的堆栈信息。
通过前述过程,当获取了与目标AP 3a对应的AP执行进程6a的句柄信息、每个AP执行进程6a的线程7和7a的句柄信息、每个AP执行进程6a的线程7和7a的上下文结构值信息、每个线程7和7a的模块信息、和每个模块8和8a的堆栈信息时,由控制单元101控制的AP挂起处理单元107与第二信息获取单元106通信以读取目标AP的前述详细信息(例如,与目标AP 3a对应的AP执行进程6a的句柄信息、每个AP执行进程6a的线程7和7a的句柄信息、每个线程7和7a的模块信息、和每个模块8和8a的堆栈信息)(参见图3)。
通过这样做,当完成了目标AP的详细信息的读取时,AP挂起处理单元107借助于接口单元102与操作系统2通信以调用API函数5(例如,SuspendThread API函数)。由此,AP挂起处理单元107挂起与目标AP 3a对应的每个AP执行进程6a的线程7和7a(参见图3)。
同时,通过前述过程,当与目标AP 3a对应的每个AP执行进程6a的线程7和7a被停止时,由控制单元101控制的解除挂起单元108与AP挂起处理单元107通信以读取或获取每个AP执行进程6a的线程7和7a的上下文结构值信息、每个线程7和7a的模块信息(例如,每个模块8和8a的符号表信息、每个模块8和8a的存储地址值信息、和每个模块8和8a的IMAGEHELP_MODULE64结构值信息)、和每个模块8和8a的堆栈信息(例如,每个堆栈9和9a的堆栈跟踪信息)(所述信息中的每个都可以根据情况通过与第二信息获取单元106的通信被读取或获取)。
通过这样做,当读取或获取了每个AP执行进程6a的线程7和7a的上下文结构值信息、每个线程7和7a的模块信息、和每个模块8和8a的堆栈信息时,解除挂起单元108在每个线程7和7a的模块8和8a以及每个模块8和8a的堆栈9和9a之中选择负责DDE消息处理的模块8a(例如,USER32.dll)和根据其符号名(例如GetMessage和UserwaitMessage)应负责DDE消息处理的堆栈9a。随后,解除挂起单元108解除挂起包括所选模块8a和堆栈9a的进程7a(参见图3)。
像这样,当包括负责DDE消息处理的模块8a(例如,USER32.dll)和根据其符号名(例如GetMessage和UserwaitMessage)应负责DDE消息处理的堆栈9a的线程7a被解除挂起时,对应的线程7a恢复到正常运行。在这种情况下,操作系统2不经历不必要的DDE消息处理延迟问题,即使在目标AP 3a(例如用户未使用的AP)的函数被停止时也是如此。
像这样,本公开的一个实施例在包括操作系统2的信息处理设备1的程序块中系统地布置和提供了:可操作以在正运行的AP 3和3a之中选择目标AP 3a的计算模块;可操作以调用API函数来获取与正运行的AP 3和3a对应的AP执行进程6和6a的详细信息的计算模块;可操作以读取与目标AP 3a对应的AP执行进程6a的详细信息并且调用API函数来获取与目标AP 3a对应的AP执行进程6a的句柄信息、每个AP执行进程6a的线程7和7a的句柄信息、每个线程7和7a的模块信息以及每个模块8和8a的堆栈信息的计算模块;可操作以读取与目标AP 3a对应的AP执行进程6a的句柄信息、每个AP执行进程6a的线程7和7a的句柄信息、每个线程7和7a的模块信息以及每个模块8和8a的堆栈信息并且调用API函数以挂起与目标AP 3a对应的每个AP执行进程6a的线程7和7a的计算模块;和可操作以在与目标AP 3a对应的每个AP执行进程6a的线程7和7a被停止时,读取每个线程7和7a的模块信息以及每个模块8和8a的堆栈信息,在每个线程7和7a的模块8和8a以及每个模块8和8a的堆栈9和9a之中选择负责DDE消息处理的模块8a和堆栈9a,并且解除挂起包括所选模块8a和堆栈9a的线程7a的计算模块。因此,在本公开的实施环境下,在操作系统2侧,仅有包含与DDE消息处理相关的模块8a和堆栈9a的线程7a可以被正常地置于解除挂起的环境中,即使在目标AP 3a(例如用户未使用的AP)的每个AP执行进程6a的线程7被停止时也是如此。因此,在用户侧可以容易地避免由DDE消息处理延迟而引起的各种类型的问题。
同时,如图2所示,在根据本公开的一个实施例的控制单元101的控制下,除了前述计算模块,还可以另外地布置AP解除挂起处理单元109。
在这种情况下,由控制单元101控制的AP解除挂起处理单元109通过与借助于接口单元102与对应的操作系统2通信来确定是否已经从操作系统2传送了用于完全解除挂起目标AP的请求消息。
在这种情况下,使用信息处理设备1的用户可以通过执行计算过程(例如,如同选择已经被置于最小化状态的目标AP 3a的图标(未示出))来确定是否已经从操作系统2传送了用于完全解除挂起目标AP的请求消息。当确定了请求消息已经被传送时,AP解除挂起处理单元109借助于接口单元102与操作系统2通信以调用API函数5。由此,与目标AP 3a对应的每个AP执行进程6a的线程7可以被解除挂起(参见图3)。
当然,在这种情况下,在目标AP 3a侧,包括与DDE消息处理相关的模块8a和堆栈9a的线程7a的函数,以及包括模块8和堆栈9的所有线程7的函数都可以正常返回。因此,用户可以在不用不便地必须再次从开始执行对应的AP 3a的情况下容易地使用目标AP 3a。
本公开不限于特定领域,而是通常在需要AP管理的多种领域中实现有益的效果。
而且,明显的是,虽然在上文已经描述和图示了特定实施例,但是本公开可以由本领域普通技术人员以各种形式修改和实施。
经修改的实施例不应从本公开的技术方面或技术观点来单独理解,而应落在所附权利要求的范围中。
工业实用性
根据本公开的一个实施例,在操作系统侧可以仅正常地解除挂起包括与DDE消息处理相关的模块和堆栈的线程,即使在目标AP(例如用户未使用的AP)的每个AP执行进程的线程被停止的状态下也是如此。由此,在用户侧可以容易地避免由DDE消息处理延迟而引起的各种问题。

Claims (4)

1.一种用于管理应用程序(AP)的装置,所述应用程序在所述装置被安装在信息处理设备中的状态下借助于应用程序接口(API)函数与控制AP的操作系统通信,所述装置包括:
选择单元,其用于根据预存的AP挂起过程设置信息来在正运行的AP之中选择目标AP;
第一信息获取单元,其用于获取与所述正运行的AP对应的AP执行进程的详细信息;
第二信息获取单元,其用于与所述第一信息获取单元通信以在所述AP执行进程之中读取与所述目标AP对应的AP执行进程的详细信息,并且获取与所述目标AP对应的AP执行进程的句柄信息、与所述目标AP对应的每个AP执行进程的线程的句柄信息、每个线程的模块信息、和每个模块的堆栈信息;
AP挂起处理单元,其用于与所述第二信息获取单元通信以读取与所述目标AP对应的AP执行进程的句柄信息、与所述目标AP对应的每个AP执行进程的线程的句柄信息、每个线程的模块信息、和每个模块的堆栈信息,并且挂起与所述目标AP对应的每个AP执行进程的线程;
解除挂起单元,其用于在与所述目标AP对应的每个AP执行进程的线程被所述挂起处理单元挂起时与所述挂起处理单元通信,以读取每个线程的模块信息和每个模块的堆栈信息,在每个线程的模块和每个模块的堆栈之中选择负责动态数据交换(DDE)消息处理的模块和堆栈,并且解除挂起包括所选择的模块和堆栈的线程;和
控制单元,其用于控制所述选择单元、所述第一信息获取单元、所述第二信息获取单元、所述AP挂起处理单元、和所述解除挂起单元。
2.根据权利要求1所述的用于管理AP的装置,还包括:
由所述控制单元控制的AP解除挂起处理单元,其用于在从所述操作系统接收到用于解除挂起所述目标AP的请求消息时,解除挂起与所述目标AP对应的每个AP执行进程的线程。
3.一种用于管理应用程序(AP)的方法,所述应用程序借助于应用程序接口(API)函数与控制AP的执行的操作系统通信,所述方法包括:
根据预存的AP挂起过程设置信息在正运行的AP之中选择目标AP;
获取与所述正运行的AP对应的AP执行进程的详细信息;
在所述AP执行进程之中读取与所述目标AP对应的AP执行进程的详细信息,并且获取与所述目标AP对应的AP执行进程的句柄信息、与所述目标AP对应的每个AP执行进程的线程的句柄信息、每个线程的模块信息、和每个模块的堆栈信息;
读取与所述目标AP对应的AP执行进程的句柄信息、与所述目标AP对应的每个AP执行进程的线程的句柄信息、每个线程的模块信息、和每个模块的堆栈信息,并且挂起与所述目标AP对应的每个AP执行进程的线程;和
当与所述目标AP对应的每个AP执行进程的线程被挂起时,读取每个线程的模块信息和每个模块的堆栈信息,在每个线程的模块和每个模块的堆栈之中选择负责动态数据交换(DDE)消息处理的模块和堆栈,并且解除挂起包括所选择的模块和堆栈的线程。
4.根据权利要求3所述的用于管理AP的方法,还包括:
当从所述操作系统接收到解除挂起所述目标AP的请求消息时,解除挂起与所述目标AP对应的每个AP执行进程的线程。
CN201380069667.0A 2013-01-08 2013-12-16 用于管理应用程序的装置和方法 Pending CN104919415A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR20130002053A KR101396781B1 (ko) 2013-01-08 2013-01-08 응용프로그램 관리장치 및 관리방법
KR10-2013-0002053 2013-01-08
PCT/KR2013/011654 WO2014109487A1 (ko) 2013-01-08 2013-12-16 응용프로그램 관리장치 및 관리방법

Publications (1)

Publication Number Publication Date
CN104919415A true CN104919415A (zh) 2015-09-16

Family

ID=50894600

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380069667.0A Pending CN104919415A (zh) 2013-01-08 2013-12-16 用于管理应用程序的装置和方法

Country Status (6)

Country Link
US (1) US9348667B2 (zh)
EP (1) EP2945054A4 (zh)
JP (1) JP5981050B2 (zh)
KR (1) KR101396781B1 (zh)
CN (1) CN104919415A (zh)
WO (1) WO2014109487A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105677460B (zh) * 2015-12-28 2019-07-23 小米科技有限责任公司 应用程序处理方法以及装置
CN112256454B (zh) * 2020-10-30 2023-05-12 上海哔哩哔哩科技有限公司 消息延时处理方法和系统
CN113630424B (zh) * 2021-09-15 2023-04-28 上海哔哩哔哩科技有限公司 WebRTC通信方法及系统

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040139432A1 (en) * 2002-12-31 2004-07-15 International Business Machines Corporation Method and apparatus for managing thread execution in a multithread application
KR100652021B1 (ko) * 2005-07-26 2006-12-01 한국전자통신연구원 무선 인터넷 플랫폼 기반의 전자태그 정보처리 장치 및 그방법
US20080127202A1 (en) * 2006-08-22 2008-05-29 Microsoft Corporation Stateless asynchronous message transmission
CN102103676A (zh) * 2011-02-28 2011-06-22 南京邮电大学 一种基于进程间继承关系的爪哇程序进程守护方法
CN102117240A (zh) * 2009-12-31 2011-07-06 腾讯科技(深圳)有限公司 一种获取进程阻塞信息的方法及装置
KR20120003088A (ko) * 2010-07-02 2012-01-10 삼성전자주식회사 결정적 프로그레스 인덱스를 이용한 스레드 프로그레스 트래킹 방법 및 장치
KR101164289B1 (ko) * 2008-04-04 2012-07-09 에스케이플래닛 주식회사 웹 활동 추출 시스템 및 방법
KR20120089924A (ko) * 2010-12-27 2012-08-16 에스케이텔레콤 주식회사 M2m 어플리케이션의 api 함수 호출 정책 관리 시스템 및 그 구현 방법

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5301326A (en) * 1991-09-24 1994-04-05 Microsoft Corporation Method and system for controlling the execution of an application program
US6237024B1 (en) * 1998-03-20 2001-05-22 Sun Microsystem, Inc. Method and apparatus for the suspension and continuation of remote processes
US6473820B1 (en) * 1998-12-08 2002-10-29 Sun Microsystems, Inc. Method and apparatus for user level monitor implementation
US6338084B1 (en) * 1998-12-17 2002-01-08 International Business Machines Corporation Method for process-specific exchange of data between machines in a network
JP2003067200A (ja) * 2001-08-28 2003-03-07 Sony Corp 演算処理システム、コンピュータ・システム上でのタスク制御方法、並びに記憶媒体
US7243267B2 (en) * 2002-03-01 2007-07-10 Avaya Technology Llc Automatic failure detection and recovery of applications
US20030217287A1 (en) * 2002-05-16 2003-11-20 Ilya Kruglenko Secure desktop environment for unsophisticated computer users
KR101053681B1 (ko) 2010-05-19 2011-08-02 계영티앤아이 (주) 사용자 단말 및 이의 소프트웨어 관리제어방법 및 장치
US8843684B2 (en) * 2010-06-11 2014-09-23 International Business Machines Corporation Performing call stack sampling by setting affinity of target thread to a current process to prevent target thread migration

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040139432A1 (en) * 2002-12-31 2004-07-15 International Business Machines Corporation Method and apparatus for managing thread execution in a multithread application
KR100652021B1 (ko) * 2005-07-26 2006-12-01 한국전자통신연구원 무선 인터넷 플랫폼 기반의 전자태그 정보처리 장치 및 그방법
US20080127202A1 (en) * 2006-08-22 2008-05-29 Microsoft Corporation Stateless asynchronous message transmission
KR101164289B1 (ko) * 2008-04-04 2012-07-09 에스케이플래닛 주식회사 웹 활동 추출 시스템 및 방법
CN102117240A (zh) * 2009-12-31 2011-07-06 腾讯科技(深圳)有限公司 一种获取进程阻塞信息的方法及装置
KR20120003088A (ko) * 2010-07-02 2012-01-10 삼성전자주식회사 결정적 프로그레스 인덱스를 이용한 스레드 프로그레스 트래킹 방법 및 장치
KR20120089924A (ko) * 2010-12-27 2012-08-16 에스케이텔레콤 주식회사 M2m 어플리케이션의 api 함수 호출 정책 관리 시스템 및 그 구현 방법
CN102103676A (zh) * 2011-02-28 2011-06-22 南京邮电大学 一种基于进程间继承关系的爪哇程序进程守护方法

Also Published As

Publication number Publication date
JP5981050B2 (ja) 2016-08-31
US20160004576A1 (en) 2016-01-07
WO2014109487A1 (ko) 2014-07-17
EP2945054A1 (en) 2015-11-18
US9348667B2 (en) 2016-05-24
JP2016505987A (ja) 2016-02-25
KR101396781B1 (ko) 2014-05-20
EP2945054A4 (en) 2016-10-05

Similar Documents

Publication Publication Date Title
CN100511156C (zh) 强制性地终止输入/输出操作阻止的线程的设备和方法
US20160328241A1 (en) Data processing method for multiple operating systems and terminal equipment
CN108270837B (zh) 一种利用闲置资源的分布式任务调度方法及系统
CN109726076B (zh) 一种小程序生命周期管理方法和系统
CN106528065B (zh) 一种线程获取方法及设备
CN110908837B (zh) 应用程序异常处理方法、装置、电子设备及存储介质
CN110659131B (zh) 任务处理方法、电子装置、计算机设备及存储介质
CN113849312A (zh) 数据处理任务的分配方法、装置、电子设备及存储介质
CN103592997A (zh) 用于在时钟源的时钟网格的自动时钟门控的方法和系统
CN110399217A (zh) 一种内存资源分配方法、装置及设备
CN112988185A (zh) 云应用更新方法、装置、系统、电子设备及存储介质
CN111078353A (zh) 存储设备的操作方法及物理服务器
CN113760543A (zh) 资源管理方法、装置、电子设备及计算机可读存储介质
CN104919415A (zh) 用于管理应用程序的装置和方法
CN109507991B (zh) 一种双轴伺服控制平台调试系统及方法
CN105677481A (zh) 一种数据处理方法、系统及电子设备
CN111459481A (zh) 页面侧滑方法、装置、电子设备和存储介质
CN109634721B (zh) 一种虚拟机与主机的启动通信方法及相关装置
CN114816482A (zh) 块存储服务的升级方法、装置、计算机设备及存储介质
CN111124795A (zh) 应用启动监控方法、装置及设备
CN111708631A (zh) 基于多路服务器的数据处理方法、智能终端及存储介质
CN112035133A (zh) 一种主页升级方法及终端
CN114615377B (zh) 应用程序控制方法、装置及设备
CN116560859B (zh) 一种基于云计算的访问设备资源分配方法及相关装置
CN110442392B (zh) 一种包隔离方法、装置、电子设备和存储介质

Legal Events

Date Code Title Description
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB03 Change of inventor or designer information

Inventor after: Jin Taiye

Inventor after: Cai Xian

Inventor before: Jin Taiye

COR Change of bibliographic data
AD01 Patent right deemed abandoned

Effective date of abandoning: 20190716

AD01 Patent right deemed abandoned