JP7090774B2 - アプリケーションプログラムの起動方法、装置、機器、及び記憶媒体 - Google Patents

アプリケーションプログラムの起動方法、装置、機器、及び記憶媒体 Download PDF

Info

Publication number
JP7090774B2
JP7090774B2 JP2021066072A JP2021066072A JP7090774B2 JP 7090774 B2 JP7090774 B2 JP 7090774B2 JP 2021066072 A JP2021066072 A JP 2021066072A JP 2021066072 A JP2021066072 A JP 2021066072A JP 7090774 B2 JP7090774 B2 JP 7090774B2
Authority
JP
Japan
Prior art keywords
application program
auxiliary application
auxiliary
execution container
determined
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.)
Active
Application number
JP2021066072A
Other languages
English (en)
Other versions
JP2021119479A (ja
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.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Publication of JP2021119479A publication Critical patent/JP2021119479A/ja
Application granted granted Critical
Publication of JP7090774B2 publication Critical patent/JP7090774B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • 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/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3051Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30076Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
    • G06F9/3009Thread control instructions
    • 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
    • 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/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45545Guest-host, i.e. hypervisor is an application program itself, e.g. VirtualBox
    • 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/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • 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/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • 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/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45575Starting, stopping, suspending or resuming virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Mathematical Physics (AREA)
  • Stored Programmes (AREA)

Description

本願は、データ処理の技術分野に関し、特に人工知能技術に関する。
モバイルインターネットの開発に伴い、様々なアプリケーションプログラム(略してアプリケーションAPP)も登場している。スマートアプレットは、ユーザがダウンロードしてインストールしなくても使用できるアプリケーションであるため、多くのアプリケーションAPPで構成された様々なスマートアプレットがある。アプリケーションAPPはホストアプリケーションプログラムであり、スマートアプレットは補助アプリケーションプログラムである。
従来技術では、数秒で補助アプリケーションプログラムをオープンするのを実現するために、予め補助アプリケーションプログラムのプリロード及び業務データのプリダウンロードを行う必要があり、プリロードと業務データのプリダウンロードは即ち補助アプリケーションプログラムに対する前処理である。
しかし、従来技術において各補助アプリケーションプログラムの前処理を行う際には、シングルスレッドタスクとなっている。そのため、1つの補助アプリケーションプログラムがプリロードされているとき、ユーザが他の補助アプリケーションプログラムをオープンすると、第1の補助アプリケーションプログラムをプリロードしてからこそ他の補助アプリケーションプログラムをオープンすることができ、パフォーマンスの低下を招くことになる。さらに、シングルスレッドタスクを用いて複数の補助アプリケーションプログラムをプリロードすると、各補助アプリケーションプログラム間の実行サンドボックスメカニズムが破壊され、各補助アプリケーションプログラムが相互に干渉し、大多数の開発者が補助アプリケーションプログラムを自由に配置できなくなり、セキュリティリスクが高いという問題がある。
本願の実施例にて提供されるアプリケーションプログラムの起動方法、装置、機器、及び記憶媒体は、従来技術ではシングルスレッドタスクを用いて複数の補助アプリケーションプログラムをプリロードすると、各補助アプリケーションプログラム間の実行サンドボックスメカニズムが破壊され、各補助アプリケーションプログラムが相互に干渉し、セキュリティリスクが高いという技術的問題を解決する。
本願の実施例の第1の態様にて提供されるアプリケーションプログラムの起動方法はホストアプリケーションプログラムに適用され、前記ホストアプリケーションプログラムには少なくとも1つの補助アプリケーションプログラムがホストされており、前記方法は、
少なくとも1つの補助アプリケーションプログラムの前処理条件が満たされていると判断した場合、バックグラウンドで対応する実行コンテナを用いて前記補助アプリケーションプログラムを前処理するステップと、
前記補助アプリケーションプログラムに対する選択操作に応答して、フォアグラウンドで対応する補助アプリケーションプログラムをオープンするステップと、を含む。
本願の実施例の第2の態様にて提供されるアプリケーションプログラムの起動装置はホストアプリケーションプログラムに適用され、前記ホストアプリケーションプログラムには少なくとも1つの補助アプリケーションプログラムがホストされており、前記装置は、
少なくとも1つの補助アプリケーションプログラムの前処理条件が満たされていると判断した場合、バックグラウンドで対応する実行コンテナを用いて前記補助アプリケーションプログラムを前処理することに用いられるプログラム前処理モジュールと、
前記補助アプリケーションプログラムに対する選択操作に応答して、フォアグラウンドで対応する補助アプリケーションプログラムをオープンすることに用いられるプログラムオープニングモジュールと、を含む。
本願の実施例の第3の態様にて提供される電子機器は、少なくとも1つのプロセッサと、前記少なくとも1つのプロセッサに通信可能に接続されるメモリと、を含み、ただし、
前記メモリには前記少なくとも1つのプロセッサによって実行可能な命令が記憶され、前記命令は、前記少なくとも1つのプロセッサが第1の態様のいずれか一項に記載の方法を実行できるように、前記少なくとも1つのプロセッサによって実行される。
本願の実施例の第4の態様は、コンピュータ命令が記憶されている非一時的なコンピュータ読み取り可能な記憶媒体を提供し、前記コンピュータ命令はコンピュータに第1の態様のいずれか一項に記載の方法を実行させることに用いられる。
本願の実施例の第5の態様にて提供されるコンピュータプログラムはプログラムコードを含み、コンピュータが前記コンピュータプログラムを実行するとき、前記プログラムコードは第1の態様のいずれか一項に記載の方法を実行する。
補助アプリケーションプログラムを前処理する場合、バックグラウンドで対応する実行コンテナを用いて補助アプリケーションプログラムを前処理し、実行コンテナを介して異なる補助アプリケーションプログラムの前処理プロセスを完全に物理的に分離することができ、相互に干渉しないため、補助アプリケーションプログラム間の実行サンドボックスメカニズムを保護し、実行コンテナ内の対応する補助アプリケーションプログラムの自由な配置を実現し、補助アプリケーションプログラムの前処理時の安全性を向上させる。また、各実行コンテナは独立したシングルスレッドタスクであるため、第1の補助アプリケーションプログラムが対応する実行コンテナでプリロードされている場合、ユーザが他の補助アプリケーションプログラムをオープンすると、該補助アプリケーションプログラムをオープンする前に1つの補助アプリケーションプログラムのプリロードを待つのではなく、対応する実行コンテナで直接オープンすることもでき、これにより、補助アプリケーションプログラムのオープニング速度を向上させ、起動パフォーマンスの低下を回避する。
なお、この部分に記載されている内容は、本開示の実施例の肝心な又は重要な特徴を特定することを意図しておらず、本開示の範囲を限定するものでもない。本開示の他の特徴は、以下の説明を通じて容易に理解される。
図面は、本解決手段をよりよく理解するために使用され、本願を限定するものではない。
本願の実施例のアプリケーションプログラムの起動方法を実現することができる第1の適用シナリオの図である。 本願の実施例のアプリケーションプログラムの起動方法を実現することができる第2の適用シナリオの図である。 本願の第1の実施例にて提供されるアプリケーションプログラムの起動方法の概略フローチャートである。 本願の第2の実施例にて提供されるアプリケーションプログラムの起動方法の概略フローチャートである。 本願の第3の実施例にて提供されるアプリケーションプログラムの起動方法の概略フローチャートである。 本願の第4の実施例にて提供されるアプリケーションプログラムの起動装置の概略構造図である。 本願の第5の実施例にて提供されるアプリケーションプログラムの起動装置の概略構造図である。 本願の実施例のアプリケーションプログラムの起動方法を実現するための電子機器のブロック図である。
以下、図面を組み合わせて本願の例示的な実施例を説明し、理解を容易にするためにその中には本願の実施例の様々な詳細事項が含まれており、それらは単なる例示的なものと見なされるべきである。したがって、当業者は、本願の範囲及び精神から逸脱することなく、ここで説明される実施例に対して様々な変更と修正を行うことができる。同様に、わかりやすくかつ簡潔にするために、以下の説明では、周知の機能及び構造の説明を省略する。
本願の技術的解決手段を明確に理解するために、最初に従来技術の解決手段を詳細に紹介する。スマートアプレットは、ユーザがダウンロードしてインストールしなくても使用できるアプリケーションであるため、多くのアプリケーションAPPで様々なスマートアプレットがホストされている。ホストされているスマートアプレットは補助アプリケーションプログラムであり、アプリケーションAPPはホストアプリケーションプログラムである。従来技術では、ユーザがホストアプリケーションプログラムをオープンした後、補助アプリケーションプログラムのオープンをトリガーするとき、数秒で補助アプリケーションプログラムをオープンするのを実現するために、補助アプリケーションプログラムを前処理する必要がある。補助アプリケーションプログラムに対する前処理は補助アプリケーションプログラムに対するプリロード及び業務データのプリダウンロードを含む。従来技術では、複数の補助アプリケーションプログラムに直面する場合、シングルスレッドタスクを用いて、複数の補助アプリケーションプログラムを前処理する。したがって、第1の補助アプリケーションプログラムがプリロードされているときに、ユーザが他の補助アプリケーションプログラムの起動をトリガーすると、第1の補助アプリケーションプログラムをプリロードしてからこそ他の補助アプリケーションプログラムをオープンすることができ、パフォーマンスの低下を招くことになる。さらに、シングルスレッドタスクを用いて複数の補助アプリケーションプログラムをプリロードすると、各補助アプリケーションプログラム間の実行サンドボックスメカニズムが破壊され、各補助アプリケーションプログラムが相互に干渉し、大多数の開発者が補助アプリケーションプログラムを自由に配置できなくなり、セキュリティリスクが高い。例えば、第1の補助アプリケーションプログラムの開発者がプリロード段階でタイマーを配置した場合、ユーザが第2の補助アプリケーションプログラムを起動すると、第1の補助アプリケーションプログラムのタイマーフロントエンドフレームワークを一律に破棄できないため、第1の補助アプリケーションプログラムのプリロードプロセスは、ユーザがオープンした第2の補助アプリケーションプログラムに干渉し、各補助アプリケーションプログラム間の実行サンドボックスメカニズムを破壊してしまう。
したがって、従来技術のシングルスレッドタスクで複数の補助アプリケーションプログラムを前処理するという問題に直面したとき、発明者が研究の中で発見したように、実行コンテナが異なるタスクをよく物理的に分離でき、各実行コンテナが実行時に独立したシングルスレッドタスクであり、独立して実行できるため、複数の補助アプリケーションプログラムの前処理プロセスをそれぞれ異なる実行コンテナにデプロイでき、少なくとも1つの補助アプリケーションプログラムの前処理条件が満たされていると判断した場合、バックグラウンドで対応する実行コンテナを用いて補助アプリケーションプログラムを前処理し、補助アプリケーションプログラムに対する選択操作に応答して、フォアグラウンドで対応する補助アプリケーションプログラムをオープンする。
上記の創造的な発見に基づいて、発明者は本願の技術的解決手段を提出する。以下に、本願の実施例にて提供されるアプリケーションプログラムの起動方法の適用シナリオを紹介する。
図1に示すように、本願の実施例の適用シナリオは検索シナリオであってもよい。具体的には、電子機器にはホストアプリケーションプログラムが搭載されており、ホストアプリケーションプログラムには少なくとも1つの補助アプリケーションプログラムが搭載されている。ホストアプリケーションプログラムに入った後、ホストアプリケーションプログラムの表示領域に検索ブロックが設けられており、ユーザは検索ブロックに検索キーワードを入力することで検索リクエストをトリガーし、例えば、検索キーワードは「影響」である。ホストアプリケーションプログラムは、検索リクエストに従ってリソースを検索し、検索されたリソースを表示領域のリソース結果ページに表示する。少なくとも1つの補助アプリケーションプログラムがリソース結果ページに含まれていると判断した場合、該少なくとも1つの補助アプリケーションプログラムの前処理条件が満たされていると判断し、したがって、対応する実行コンテナがバックグラウンドで予め作成される。例えば、図2において2つの実行コンテナが予め作成され、1つは第1の実行コンテナであり、もう1つは第2の実行コンテナである。したがって、バックグラウンドで対応する実行コンテナを用いて補助アプリケーションプログラムを前処理する。例えば、図2において、第1の実行コンテナを用いて第1の補助アプリケーションプログラムを前処理し、第2の実行コンテナを用いて第2の補助アプリケーションプログラムを前処理する。ここで、第1の補助アプリケーションプログラムは「XXペディア」であり、第2の補助アプリケーションプログラムは「XX音楽」である。実行コンテナを用いて補助アプリケーションプログラムを前処理した後、実行コンテナに補助アプリケーションプログラムの起動表示ページが含まれる。この場合、ある補助アプリケーションプログラムに対するユーザの選択操作、例えばクリック操作を受信すると、ホストアプリケーションプログラムは対応する補助アプリケーションプログラムをフォアグラウンドでオープンし、補助アプリケーションプログラムの起動表示ページを表示させる。
図2に示すように、本願の実施例の適用シナリオはまた、情報フロープッシュシナリオであってもよい。具体的には、電子機器にはホストアプリケーションプログラムが搭載されており、ホストアプリケーションプログラムには少なくとも1つの補助アプリケーションプログラムが搭載されている。ホストアプリケーションプログラムに入った後、ホストアプリケーションプログラムの表示領域に情報フローで推薦されているリソース結果ページが表示され、該推薦されているリソース結果ページに表示されているリソースはユーザの動作情報や履歴閲覧情報などに応じて推薦されているリソースであってもよい。少なくとも1つの補助アプリケーションプログラムがリソース結果ページに含まれていると判断した場合、該少なくとも1つの補助アプリケーションプログラムの前処理条件が満たされていると判断し、したがって、対応する実行コンテナがバックグラウンドで予め作成される。検索シナリオと同様に、図3に示すように、2つの実行コンテナが予め作成される。1つは第1の実行コンテナであり、もう1つは第2の実行コンテナである。したがって、バックグラウンドで対応する実行コンテナを用いて補助アプリケーションプログラムを前処理する。例示的に、第1の実行コンテナを用いて第1の補助アプリケーションプログラムを前処理し、第2の実行コンテナを用いて第2の補助アプリケーションプログラムを前処理する。ここで、第1の補助アプリケーションプログラムは「XX旅行」であり、第2の補助アプリケーションプログラムは「Xチーム」である。対応する実行コンテナを用いて補助アプリケーションプログラムを前処理した後、対応する実行コンテナに補助アプリケーションプログラムの起動表示ページが含まれる。ある補助アプリケーションプログラムに対するユーザの選択操作、例えばクリック操作を受信すると、ホストアプリケーションプログラムは対応する補助アプリケーションプログラムをフォアグラウンドでオープンし、補助アプリケーションプログラムの起動表示ページを表示させる。
理解できるように、本願の実施例にて提供されるアプリケーションプログラムの起動方法は他の適用シナリオに適用されてもよく、本実施例ではこれについて限定しない。
以下は、図面を参照して、本願の実施例を具体的に説明する。
図3は、本願の第1の実施例にて提供されるアプリケーションプログラムの起動方法の概略フローチャートであり、図3に示すように、本願の実施例の実行対象は、アプリケーションプログラムの起動装置であり、該アプリケーションプログラムの起動装置は、ホストアプリケーションプログラムに適用することができ、ホストアプリケーションプログラムは電子機器に搭載されている。ホストアプリケーションプログラムに少なくとも1つの補助アプリケーションプログラムがホストされており、本実施例にて提供されるアプリケーションプログラムの起動方法は以下のようなステップを含む。
ステップ101、少なくとも1つの補助アプリケーションプログラムの前処理条件が満たされていると判断した場合、バックグラウンドで対応する実行コンテナを用いて補助アプリケーションプログラムを前処理する。
本実施例では、ホストアプリケーションプログラムに少なくとも1つの補助アプリケーションプログラムがホストされているため、ユーザがホストアプリケーションプログラムをオープンした後、補助アプリケーションプログラムの起動条件が満たされている場合に数秒で補助アプリケーションプログラムをオープンするのを実現するために、ユーザがホストアプリケーションプログラムをオープンした後、バックグラウンドで複数の実行コンテナを作成でき、各実行コンテナは実行時にシングルスレッドタスクであり、異なる実行コンテナは物理的に分離されており、相互に干渉しない。
次に、少なくとも1つの補助アプリケーションプログラムの前処理条件が満たされているか否かを監視し、ある補助アプリケーションプログラムの前処理条件が満たされている場合、バックグラウンドで対応する実行コンテナを用いて該補助アプリケーションプログラムを前処理する。
ただし、ホストアプリケーションプログラムによる補助アプリケーションプログラムの前処理プロセスには、補助アプリケーションプログラムのプリロードプロセス、及び補助アプリケーションプログラムによるその業務データのプリダウンロードプロセスが含まれる。業務データをダウンロードした後、補助アプリケーションプログラムは、業務データに基づいて、対応する補助アプリケーションプログラムの起動表示ページをレンダリング及び生成することができる。
したがって、本実施例では、ホストアプリケーションプログラムは、補助アプリケーションプログラムの前処理条件が満たされているか否かを監視するときに、補助アプリケーションプログラムのプリロード条件が満たされているか否かを監視する。補助アプリケーションプログラムのプリロード条件が満たされている場合、バックグラウンドで対応する実行コンテナを取得し、実行コンテナで補助アプリケーションプログラムをプリロードする。対応する実行コンテナで補助アプリケーションプログラムをプリロードした後、補助アプリケーションプログラムは、その業務データのプリダウンロード条件が満たされているか否かを監視し、その業務データのプリダウンロード条件が満たされていると判断した場合、対応する実行コンテナで業務データをプリダウンロードし、実行コンテナで業務データに基づいて、対応する補助アプリケーションプログラムの起動表示ページをレンダリング及び生成し、これにより、ホストアプリケーションプログラムは、補助アプリケーションプログラムの起動条件が満たされていると判断した場合、対応する実行コンテナから該補助アプリケーションプログラムの起動表示ページを取得し、補助アプリケーションプログラムの表示領域に該起動表示ページを表示する。
ステップ102、補助アプリケーションプログラムに対する選択操作に応答して、フォアグラウンドで対応する補助アプリケーションプログラムをオープンする。
本実施例では、対応する補助アプリケーションプログラムの前処理がバックグラウンドの対応する実行コンテナで完了した後、ユーザがある補助アプリケーションプログラムに対する選択操作をトリガーすると、例えば該補助アプリケーションプログラムのアイコンをクリックすると、該補助アプリケーションプログラムに対する選択操作に応答して、対応する実行コンテナから該補助アプリケーションプログラムの起動表示ページを取得し、対応する補助アプリケーションプログラムをオープンするようにフォアグラウンドの表示領域に該起動表示ページを表示する。
本実施例にて提供されるアプリケーションプログラムの起動方法によれば、少なくとも1つの補助アプリケーションプログラムの前処理条件が満たされていると判断した場合、バックグラウンドで対応する実行コンテナを用いて補助アプリケーションプログラムを前処理し、補助アプリケーションプログラムに対する選択操作に応答して、フォアグラウンドで対応する補助アプリケーションプログラムをオープンする。補助アプリケーションプログラムを前処理する場合、バックグラウンドで対応する実行コンテナを用いて補助アプリケーションプログラムを前処理し、実行コンテナを介して異なる補助アプリケーションプログラムの前処理プロセスを完全に物理的に分離することができ、相互に干渉しないため、補助アプリケーションプログラム間の実行サンドボックスメカニズムを保護し、実行コンテナ内の対応する補助アプリケーションプログラムの自由な配置を実現し、補助アプリケーションプログラムの前処理時の安全性を向上させる。また、各実行コンテナは独立したシングルスレッドタスクであるため、1つの補助アプリケーションプログラムが対応する実行コンテナでプリロードされている場合、ユーザが他の補助アプリケーションプログラムをオープンすると、該補助アプリケーションプログラムをオープンする前に1つの補助アプリケーションプログラムのプリロードを待つのではなく、対応する実行コンテナで直接オープンすることもでき、これにより、補助アプリケーションプログラムのオープニング速度を向上させ、起動パフォーマンスの低下を回避する。
図4は、本願の第2の実施例にて提供されるアプリケーションプログラムの起動方法の概略フローチャートであり、図4に示すように、本実施例にて提供されるアプリケーションプログラムの起動方法は、本願の第1の実施例にて提供されるアプリケーションプログラムの起動方法に基づいて、ステップ101からステップ102をさらに細分化したものである。また、実行コンテナを作成するステップと、起動されていない補助アプリケーションプログラムに対応する実行コンテナを破棄することにより、起動されていない補助アプリケーションプログラムを破棄するステップと、オープンされている補助アプリケーションプログラムに対するシャットダウン操作が監視された場合、シャットダウン操作が行われた補助アプリケーションプログラムに対応する実行コンテナを破棄するステップと、をさらに含む。したがって、本実施例にて提供されるアプリケーションプログラムの起動方法は、以下のようなステップを含む。
ステップ201、実行コンテナの作成条件が満たされているか否かを監視する。
本実施例では、ホストアプリケーションプログラムに少なくとも1つの補助アプリケーションプログラムがホストされているため、選択可能な一実施形態として、本実施例では、実行コンテナの作成条件が満たされているか否かを監視するとき、ホストアプリケーションプログラムが起動されているか否かを監視し、ホストアプリケーションプログラムが起動されていると判断した場合、実行コンテナの作成条件が満たされていると判断し、ホストアプリケーションプログラムが起動されていないと判断した場合、実行コンテナの作成条件が満たされていないと判断する。
ただし、ホストアプリケーションプログラムが起動されているか否かを監視するとき、ホストアプリケーションプログラムがプロセスに含まれているか否かを監視するか、ユーザがホストアプリケーションプログラムクライアントをオープンするか否かを監視することで監視することができ、本実施例では、これについて限定しない。
本実施例では、実行コンテナの作成条件が満たされているか否かを監視するとき、ホストアプリケーションプログラムが起動されているか否かを監視することで行い、ホストアプリケーションプログラムが起動されていると判断した場合、実行コンテナの作成条件が満たされていると判断し、ホストアプリケーションプログラムが起動されていないと判断した場合、実行コンテナの作成条件が満たされていないと判断する。実行コンテナの作成プロセスをできるだけ早く行うことで、補助アプリケーションプログラムの前処理プロセスに十分な時間を提供することができ、さらに補助アプリケーションプログラムの起動時に数秒で補助アプリケーションプログラムをオープンすることができる。
ステップ202、実行コンテナの作成条件が満たされていると判断した場合、バックグラウンドで第1の実行コンテナと第2の実行コンテナを作成する。
本実施例では、実行コンテナの作成条件が満たされていると判断した場合、バックグラウンドで2つの実行コンテナを作成し、1つは第1の実行コンテナであり、もう1つは第2の実行コンテナである。
ただし、第1の実行コンテナは、前処理条件を先に満たす補助アプリケーションプログラムを前処理するためのものであり、第2の実行コンテナは、前処理条件を後に満たす他の補助アプリケーションプログラムを前処理するためのものである。
本実施例では、実行コンテナの作成条件が満たされている場合、バックグラウンドで第1の実行コンテナと第2の実行コンテナを作成し、対応する実行コンテナを介して、異なる補助アプリケーションプログラムの前処理プロセスを完全に物理的に分離した上で、実行コンテナが多すぎることによるメモリリソースの過度の消費を回避することもできる。
ステップ203、表示領域内のリソース結果ページに第1の補助アプリケーションプログラムと第2の補助アプリケーションプログラムが含まれていると判断した場合、第1の補助アプリケーションプログラムと第2の補助アプリケーションプログラムのプリロード条件が満たされていると判断する。
ただし、リソース結果ページにおいて第1の補助アプリケーションプログラムは第2の補助アプリケーションプログラムの前にある。
選択的に、本実施例では、検索シナリオでも情報フロー推薦シナリオでも、ホストアプリケーションの表示領域内にリソース結果ページはいずれも表示される。リソース結果ページを監視し、リソース結果ページに第1の補助アプリケーションプログラムと第2の補助アプリケーションプログラムの2つの補助アプリケーションプログラムが次々に表示されていると判断した場合、第1の補助アプリケーションプログラムと第2の補助アプリケーションプログラムのプリロード条件が満たされていると判断する。
ステップ204、バックグラウンドでは、第1の実行コンテナを用いて第1の補助アプリケーションプログラムをプリロードし、第2の実行コンテナを用いて第2の補助アプリケーションプログラムをプリロードする。
本実施例では、第1の補助アプリケーションプログラムのプリロード条件が満たされていると判断する場合、バックグラウンドで第1の実行コンテナを用いて第1の補助アプリケーションプログラムをプリロードする。まず、第1の実行コンテナで、第1の補助アプリケーションプログラムのアプリケーションフレームワークをプリロードし、アプリケーションフレームワークをプリロードした後、該アプリケーションフレームワークの下で、第1の補助アプリケーションプログラムサーバから第1の補助アプリケーションプログラムのインストールパッケージをダウンロードし、第1の実行コンテナでインストールパッケージに設定された起動ファイルをプリロードする。
同様に、第2の補助アプリケーションプログラムのプリロード条件が満たされていると判断する場合、バックグラウンドで第2の実行コンテナを用いて第2の補助アプリケーションプログラムをプリロードする。まず、第2の実行コンテナで、第2の補助アプリケーションプログラムのアプリケーションフレームワークをプリロードし、アプリケーションフレームワークをプリロードした後、該アプリケーションフレームワークの下で、第2の補助アプリケーションプログラムサーバから第2の補助アプリケーションプログラムのインストールパッケージをダウンロードし、第2の実行コンテナでインストールパッケージに設定された起動ファイルをプリロードする。
ただし、プリロードされた補助アプリケーションプログラムには、対応する目的関数が含まれ、目的関数は、対応する補助アプリケーションプログラムが業務データのダウンロード条件を満たすと判断したとき、対応する実行コンテナで対応する補助アプリケーションプログラムの業務データをプリダウンロードし、また対応する実行コンテナで対応する補助アプリケーションプログラムの起動表示ページをレンダリング及び生成するように指示することに用いられる。
具体的には、本実施例では、第1の実行コンテナで第1の補助アプリケーションプログラムをプリロードした後、プリロードした第1の補助アプリケーションプログラムには対応する目的関数が含まれ、該目的関数は第1の目的関数である。該第1の目的関数は、第1の補助アプリケーションプログラムがプリフェッチライフサイクルにあるときに実行されるようにトリガーされるため、第1の補助アプリケーションプログラムの環境記述情報がプリセット条件を満たすと判断した場合、第1の補助アプリケーションプログラムが業務データのダウンロード条件を満たすと判断し、メイン実行コンテナで第1の補助アプリケーションプログラムの業務データをプリダウンロードする。
同様に、第2の実行コンテナで第2の補助アプリケーションプログラムをプリロードした後、プリロードした第2の補助アプリケーションプログラムには対応する目的関数が含まれ、該目的関数は第2の目的関数である。該第2の目的関数は、第2の補助アプリケーションプログラムがプリフェッチライフサイクルにあるときに実行されるようにトリガーされるため、第2の補助アプリケーションプログラムの環境記述情報がプリセット条件を満たすと判断した場合、第2の補助アプリケーションプログラムが業務データのダウンロード条件を満たすと判断し、スタンバイの実行コンテナで第2の補助アプリケーションプログラムの業務データをプリダウンロードする。
ただし、プリフェッチライフサイクルは、補助アプリケーションプログラムが表示領域内でスライド状態にあること、補助アプリケーションプログラムが表示領域内でホバリング状態にあること、及び補助アプリケーションプログラムが表示領域内でクリック状態にあることなどである。環境記述情報は、補助アプリケーションプログラムの現在の表示状態や、補助アプリケーションプログラムのエントリ情報や、補助アプリケーションプログラムの表示対象ページのページ記述情報などであってもよい。
ただし、プリセット条件は、補助アプリケーションプログラムの現在の表示状態がプリセット表示状態であることであってもよい。例えば、プリセット条件は、補助アプリケーションプログラムの現在の表示状態がクリック状態であることである。又は、プリセット条件は、補助アプリケーションプログラムのエントリ情報がプリセットエントリ情報であることであってもよい。例えば、プリセット条件は、補助アプリケーションプログラムのエントリ情報が検索シナリオであることである。又は、プリセット条件は、補助アプリケーションプログラムの表示対象ページのページ記述情報がプリセットページ記述情報であることであってもよい。例えば、プリセット条件は、補助アプリケーション側の表示対象ページのページ記述情報がプライマリページであることである。
第1の補助アプリケーションプログラムが第1の実行コンテナで業務データのプリダウンロードを行うことを例としてより詳細に説明する。具体的には、本実施例では、第1の実行コンテナにおいて、プリロードされた第1の補助アプリケーションプログラムがプリフェッチライフサイクルを検出し、現在の第1の補助アプリケーションプログラムがプリフェッチライフサイクルにあることが検出された場合、第1の補助アプリケーションプログラムに含まれる目的関数の実行をトリガーし、第1の補助アプリケーションプログラムの環境記述情報を目的関数内に入力し、目的関数にプリセット条件が予め定義され、入力された環境記述情報がプリセット条件を満たすか否かを判断し、入力された環境記述情報がプリセット条件を満たす場合は、業務データのダウンロード条件が満たされていると判断し、次に、業務データ取得リクエストを構成し、それを第1の補助アプリケーションプログラムサーバに送信し、そして第1の補助アプリケーションプログラムサーバからフィードバックされた第1の補助アプリケーションプログラムの業務データを受信し、メインコンテナに第1の補助アプリケーションプログラムの業務データを記憶し、第1の補助アプリケーションプログラムの業務データに基づいて、対応する補助アプリケーションプログラムの起動表示ページをレンダリング及び生成する。
ステップ205、補助アプリケーションプログラムに対する選択操作に応答して、フォアグラウンドで対応する補助アプリケーションプログラムをオープンする。
本実施例では、ステップ205の実施形態は、本願の第1の実施例におけるステップ102の実施形態と同様であり、ここでは繰り返さない。
ステップ206、起動されていない補助アプリケーションプログラムに対応する実行コンテナを破棄することにより、起動されていない補助アプリケーションプログラムを破棄する。
選択的に、本実施例では、第1の補助アプリケーションプログラムを起動すると、第2の補助アプリケーションプログラムは起動されないことになり、メモリリソースの消費を減らすために、第2の補助アプリケーションプログラムに対応する第2の実行コンテナを破棄し、第2の実行コンテナを破棄するとき、第2の補助アプリケーションプログラムの前処理段階でのデータも破棄する。
又は選択的に、第2の補助アプリケーションプログラムを起動すると、第1の補助アプリケーションプログラムは起動されないことになり、メモリリソースの消費を減らすために、第1の補助アプリケーションプログラムに対応する第1の実行コンテナを破棄し、第1の実行コンテナを破棄するとき、また、第1の補助アプリケーションプログラムの前処理段階でのデータも破棄する。
ステップ207、オープンされている補助アプリケーションプログラムに対するシャットダウン操作が監視された場合、シャットダウン操作が行われた補助アプリケーションプログラムに対応する実行コンテナを破棄する。
選択的に、本実施例では、ユーザがある補助アプリケーションプログラムをオープンした後、該補助アプリケーションプログラムのステータスを監視し、ユーザが該補助アプリケーションプログラムに対してシャットダウン操作を実行したことが監視された場合、該補助アプリケーションプログラムに対してオープンすることはしないことを意味し、メモリリソースの消費を減らすために、シャットダウン操作が行われた補助アプリケーションプログラムに対応する実行コンテナを破棄し、それにより、シャットダウン操作が行われた補助アプリケーションプログラムの前処理プロセスにおけるデータを破棄する。
理解できるように、シャットダウン操作が行われた補助アプリケーションプログラムに対応する実行コンテナを破棄した後、対応するアイドル実行コンテナを作成し、それにより、常に2つの実行コンテナがあり、かつ少なくとも1つの実行コンテナがアイドル状態になっていることを確保する。他の補助アプリケーションプログラムを前処理することは、各補助アプリケーションプログラム間の物理的な分離を実現するだけでなく、各補助アプリケーションプログラムが起動するときに数秒でオープンするのをできるだけ確保する。
ステップ208、表示領域内にリソース結果ページに対する更新操作があるか否かを監視し、そうであれば、ステップ209を実行し、そうでなければ、終了する。
ステップ209、他の実行コンテナを作成する。
選択的に、本実施例では、オープンした補助アプリケーションプログラムをオフした後、ユーザが表示領域内のリソース結果ページを更新すると、更新されたリソース結果ページに表示されている他の補助アプリケーションプログラムをユーザがオープンする可能性があることを意味し、したがって、表示領域内にリソース結果ページに対する更新操作があることが監視された場合、他の実行コンテナを作成し、該実行コンテナを用いて更新されたリソース結果ページに表示されている他の補助アプリケーションプログラムを前処理することができる。少なくとも1つの実行コンテナがアイドル状態にあることを確保し、他の補助アプリケーションプログラムを前処理することは、各補助アプリケーションプログラム間の物理的な分離を実現するだけでなく、各補助アプリケーションプログラムが起動するときに数秒でオープンするのをできるだけ確保する。
ただし、表示領域内のリソース結果ページに対するユーザの更新操作は、表示領域内のリソース結果ページに対するユーザのスライド操作、又は他の更新操作であってもよく、本実施例はこれについて限定しない。
本実施例にて提供されるアプリケーションプログラムの起動方法は、第1の補助アプリケーションプログラムと第2の補助アプリケーションプログラムの両方が表示領域内のリソース結果ページに含まれていると判断した場合、少なくとも1つの補助アプリケーションプログラムの前処理条件が満たされていると判断し、バックグラウンドでは、第1の実行コンテナを用いて第1の補助アプリケーションプログラムをプリロードし、第2の実行コンテナを用いて第2の補助アプリケーションプログラムをプリロードし、2つの補助アプリケーションプログラムがリソース結果ページに同時に表示される場合、対応する実行コンテナを用いて対応する補助アプリケーションプログラムをバックグラウンドで前処理するシナリオを満たすことができる。
図5は、本願の第3の実施例にて提供されるアプリケーションプログラムの起動方法の概略フローチャートであり、図5に示すように、本実施例にて提供されるアプリケーションプログラムの起動方法は、本願の第1の実施例に基づいて、ステップ101~ステップ102をさらに細分化したものである。第2の実施例との違いは、ステップ101の具体的な細分化ステップにある。また第2の実施例と同様に、実行コンテナを作成するステップと、起動されていない補助アプリケーションプログラムに対応する実行コンテナを破棄することにより、起動されていない補助アプリケーションプログラムを破棄するステップと、オープンされている補助アプリケーションプログラムに対するシャットダウン操作が監視された場合、シャットダウン操作が行われた補助アプリケーションプログラムに対応する実行コンテナを破棄するステップと、を含む。したがって、本実施例にて提供されるアプリケーションプログラムの起動方法は以下のようなステップを含む。
ステップ301、実行コンテナの作成条件が満たされているか否かを監視する。
ステップ302、実行コンテナの作成条件が満たされていると判断した場合、バックグラウンドで第1の実行コンテナと第2の実行コンテナを作成する。
本実施例では、ステップ301~ステップ302の実施形態は、本願の第2の実施例におけるステップ201~ステップ202の実施形態と同様であり、ここでは繰り返さない。
ステップ303、表示領域内のリソース結果ページに第1の補助アプリケーションプログラムが含まれていると判断した場合、第1の補助アプリケーションプログラムのプリロード条件が満たされていると判断する。
選択的に、本実施例では、第1の補助アプリケーションプログラムのみが表示領域の現在のリソース結果ページに含まれている場合、現在では第1の補助アプリケーションプログラムのプリロード条件のみが満たされていることを意味し、したがって、現在、バックグラウンドで第1の実行コンテナを用いて第1の補助アプリケーションプログラムをプリロードするステップのみを実行する。
ステップ304、バックグラウンドで第1の実行コンテナを用いて第1の補助アプリケーションプログラムをプリロードする。
本実施例では、ステップ304の実施形態は、第2の実施例におけるステップ204におけるバックグラウンドで第1の実行コンテナを用いて第1の補助アプリケーションプログラムをプリロードする実施形態と同様であり、ここでは繰り返さない。
ステップ305、表示領域内のリソース結果ページに対する更新操作に応答して、更新されたリソース結果ページに第2の補助アプリケーションプログラムが含まれていると判断した場合、第2の補助アプリケーションプログラムのプリロード条件が満たされていると判断する。
選択的に、本実施例では、ユーザが表示領域のリソース結果ページを更新するとき、リソース結果ページを更新するプロセスにおいて、更新されたリソース結果ページに第2の補助アプリケーションプログラムが含まれている場合、第2の補助アプリケーションプログラムのプリロード条件が満たされていると判断する。
ただし、表示領域内のリソース結果ページに対するユーザの更新は、表示領域内のリソース結果ページに対するユーザのスライド、又は他の更新操作であってもよく、本実施例はこれについて限定しない。
理解できるように、更新されたリソース結果ページに第2の補助アプリケーションプログラムと第1の補助アプリケーションプログラムの両方が含まれる場合がある。
ステップ306、バックグラウンドで第2の実行コンテナを用いて第2の補助アプリケーションプログラムをプリロードする。
本実施例では、ステップ306の実施形態は、第2の実施例におけるステップ204におけるバックグラウンドで第2の実行コンテナを用いて第2の補助アプリケーションプログラムをプリロードする実施形態と同様であり、ここでは繰り返さない。
ただし、プリロードされた補助アプリケーションプログラムには、対応する目的関数が含まれ、目的関数は、対応する補助アプリケーションプログラムが業務データのダウンロード条件を満たすと判断したとき、対応する実行コンテナで対応する補助アプリケーションプログラムの業務データをプリダウンロードし、また対応する実行コンテナで対応する補助アプリケーションプログラムの起動表示ページをレンダリング及び生成するように指示することに用いられる。
ステップ307、補助アプリケーションプログラムに対する選択操作に応答して、フォアグラウンドで対応する補助アプリケーションプログラムをオープンする。
ステップ308、起動されていない補助アプリケーションプログラムに対応する実行コンテナを破棄することにより、起動されていない補助アプリケーションプログラムを破棄する。
ステップ309、オープンされている補助アプリケーションプログラムに対するシャットダウン操作が監視された場合、シャットダウン操作が行われた補助アプリケーションプログラムに対応する実行コンテナを破棄する。
ステップ310、表示領域内にリソース結果ページに対する更新操作があるか否かを監視し、そうであれば、ステップ311を実行し、そうでなければ、終了する。
ステップ311、他の実行コンテナを作成する。
本実施例では、ステップ307~ステップ311の実施形態は、本願の第2の実施例におけるステップ205~ステップ209の実施形態と同様であり、ここでは繰り返さない。
本実施例にて提供されるアプリケーションプログラムの起動方法によれば、表示領域内のリソース結果ページに第1の補助アプリケーションプログラムが含まれていると判断した場合、第1の補助アプリケーションプログラムのプリロード条件が満たされていると判断し、バックグラウンドで第1の実行コンテナを用いて第1の補助アプリケーションプログラムをプリロードし、かつ表示領域内のリソース結果ページに対する更新操作に応答して、更新されたリソース結果ページに第2の補助アプリケーションプログラムが含まれていると判断した場合、第2の補助アプリケーションプログラムのプリロード条件が満たされていると判断し、バックグラウンドで第2の実行コンテナを用いて第2の補助アプリケーションプログラムをプリロードする。リソース結果ページを更新するとき、バックグラウンドで対応する実行コンテナを使用して対応する補助アプリケーションプログラムを前処理する2つの補助アプリケーションプログラムが存在するシナリオを満たす。
なお、第2の実施例及び第3の実施例における各実施可能な形態は、別々に実施されてもよく、又は競合することなく任意の組み合わせで実施されてもよく、本願はこれについては限定しない。
図6は、本願の第4の実施例にて提供されるアプリケーションプログラムの起動装置の概略構造図であり、図6に示すように、本実施例にて提供されるアプリケーションプログラムの起動装置はホストアプリケーションプログラムに適用され、ホストアプリケーションプログラムには少なくとも1つの補助アプリケーションプログラムがホストされており、ホストアプリケーションプログラムは電子機器にある。該アプリケーションプログラムの起動装置600は、プログラム前処理モジュール601及びプログラムオープニングモジュール602を含む。
ただし、プログラム前処理モジュール601は、少なくとも1つの補助アプリケーションプログラムの前処理条件が満たされていると判断した場合、バックグラウンドで対応する実行コンテナを用いて補助アプリケーションプログラムを前処理することに用いられる。プログラムオープニングモジュール602は、補助アプリケーションプログラムに対する選択操作に応答して、フォアグラウンドで対応する補助アプリケーションプログラムをオープンすることに用いられる。
本実施例にて提供されるアプリケーションプログラムの起動装置は図3に示される方法の実施例の技術的解決手段を実行することができ、その実現原理及び技術的効果は、図3に示される方法の実施例と同様であり、ここでは繰り返さない。
図7は、本願の第5の実施例にて提供されるアプリケーションプログラムの起動装置の概略構造図であり、図7に示すように、本実施例にて提供されるアプリケーションプログラムの起動装置700は、第4実施例にて提供されるアプリケーションプログラムの起動装置600に基づいて、プログラム破棄モジュール701、第1の作成モジュール702、及び第2の作成モジュール703をさらに含む。
選択的に、実行コンテナは第1の実行コンテナ及び第2の実行コンテナを含む。
選択的に、プログラム前処理モジュール601は具体的には、
表示領域内のリソース結果ページに第1の補助アプリケーションプログラムと第2の補助アプリケーションプログラムが含まれていると判断した場合、第1の補助アプリケーションプログラムと第2の補助アプリケーションプログラムのプリロード条件が満たされていると判断し、前記リソース結果ページにおいて前記第1の補助アプリケーションプログラムは前記第2の補助アプリケーションプログラムの前にあること、及びバックグラウンドでは、第1の実行コンテナを用いて第1の補助アプリケーションプログラムをプリロードし、第2の実行コンテナを用いて第2の補助アプリケーションプログラムをプリロードすることに用いられる。
選択的に、プログラム前処理モジュール601は具体的には、
表示領域内のリソース結果ページに第1の補助アプリケーションプログラムが含まれていると判断した場合、第1の補助アプリケーションプログラムのプリロード条件が満たされていると判断すること、バックグラウンドで第1の実行コンテナを用いて第1の補助アプリケーションプログラムをプリロードすること、表示領域内のリソース結果ページに対する更新操作に応答して、更新されたリソース結果ページに第2の補助アプリケーションプログラムが含まれていると判断した場合、第2の補助アプリケーションプログラムのプリロード条件が満たされていると判断すること、及びバックグラウンドで第2の実行コンテナを用いて第2の補助アプリケーションプログラムをプリロードすることに用いられる。
ただし、プリロードされた補助アプリケーションプログラムには、対応する目的関数が含まれ、目的関数は、対応する補助アプリケーションプログラムが業務データのダウンロード条件を満たすと判断したとき、対応する実行コンテナで対応する補助アプリケーションプログラムの業務データをプリダウンロードし、また対応する実行コンテナで対応する補助アプリケーションプログラムの起動表示ページをレンダリング及び生成するように指示することに用いられる。
選択的に、プログラム破棄モジュール701は、起動されていない補助アプリケーションプログラムに対応する実行コンテナを破棄することにより、起動されていない補助アプリケーションプログラムを破棄することに用いられる。
選択的に、第1の作成モジュール702は、オープンされている補助アプリケーションプログラムに対するシャットダウン操作が監視された場合、表示領域内にリソース結果ページに対する更新操作があるか否かを監視すること、及び表示領域内にリソース結果ページに対する更新操作があることが監視された場合、他の実行コンテナを作成することに用いられる。
選択的に、プログラム破棄モジュール701はさらに、
シャットダウン操作が行われた補助アプリケーションプログラムに対応する実行コンテナを破棄することに用いられる。
選択的に、第2の作成モジュール703は、実行コンテナの作成条件が満たされているか否かを監視すること、及び実行コンテナの作成条件が満たされていると判断した場合、バックグラウンドで第1の実行コンテナと第2の実行コンテナを作成することに用いられる。
選択的に、第2の作成モジュール703は、実行コンテナの作成条件が満たされているか否かを監視するとき、具体的には、
ホストアプリケーションプログラムが起動されているか否かを監視すること、ホストアプリケーションプログラムが起動されていると判断した場合、実行コンテナの作成条件が満たされていると判断すること、及びホストアプリケーションプログラムが起動されていないと判断した場合、実行コンテナの作成条件が満たされていないと判断することに用いられる。
本実施例にて提供されるアプリケーションプログラムの起動装置は図4~図5に示される方法の実施例の技術的解決手段を実行することができ、その実現原理及び技術的効果は、図4~図5に示される方法の実施例と同様であり、ここでは繰り返さない。
本願の実施例によれば、本願は電子機器及び読み取り可能な記憶媒体をさらに提供する。
図8は、本願の実施例のアプリケーションプログラムの起動方法を実現するための電子機器のブロック図である。電子機器は、ラップトップコンピュータ、デスクトップコンピュータ、ワークステーション、パーソナルデジタルアシスタント、サーバ、ブレードサーバ、メインフレームコンピュータ、及び他の適切なコンピュータなどの様々な形態のデジタルコンピュータを表すことを目的とする。電子機器は、パーソナルデジタルプロセッサ、携帯電話、スマートフォン、ウェアラブルデバイス、他の類似するコンピューティングデバイスなどの様々な形態のモバイルデバイスを表すこともできる。本明細書で示されるコンポーネント、それらの接続と関係、及びそれらの機能は単なる例であり、本明細書の説明及び/又は要求される本願の実現を制限することを意図したものではない。
図8に示すように、該電子機器は、1つ又は複数のプロセッサ801と、メモリ802と、高速インタフェース及び低速インタフェースを含む各コンポーネントを接続するためのインタフェースと、を含む。各コンポーネントは、異なるバスで相互に接続され、共通のマザーボードに取り付けられるか、又は必要に応じて他の方式で取り付けることができる。プロセッサは、電子機器内で実行される命令を処理することができ、該命令は、外部入力/出力装置(例えば、インタフェースに結合されたディスプレイデバイスなど)にGUIの図形情報をディスプレイするためにメモリ内又はメモリに記憶されている命令を含む。他の実施方式では、必要に応じて、複数のプロセッサ及び/又は複数のバスを、複数のメモリと一緒に使用することができる。同様に、複数の電子機器を接続することができ、各機器は、一部の必要な操作(例えば、サーバアレイ、1グループのブレードサーバ、又はマルチプロセッサシステムとする)を提供することができる。図8では、1つのプロセッサ801を例とする。
メモリ802は、本願により提供される非一時的なコンピュータ読み取り可能な記憶媒体である。その中で、メモリには、少なくとも1つのプロセッサによって実行可能な命令が記憶され、少なくとも1つのプロセッサが本願により提供されるアプリケーションプログラムの起動方法を実行するようにする。本願の非一時的なコンピュータ読み取り可能な記憶媒体には、コンピュータに本願により提供されるアプリケーションプログラムの起動方法を実行させるためのコンピュータ命令が記憶されている。
メモリ802は、非一時的なコンピュータ読み取り可能な記憶媒体として、本願の実施例におけるアプリケーションプログラムの起動方法に対応するプログラム命令/モジュール(例えば、図6に示すプログラム前処理モジュール601及びプログラムオープニングモジュール602)のような、非一時的なソフトウェアプログラム、非一時的なコンピュータ実行可能なプログラム及びモジュールを記憶する。プロセッサ801は、メモリ802に記憶されている非一時的なソフトウェアプログラム、命令及びモジュールを実行することによって、サーバの様々な機能アプリケーション及びデータ処理を実行し、即ち上記の方法の実施例におけるアプリケーションプログラムの起動方法を実現する。
メモリ802は、ストレージプログラムエリアとストレージデータエリアとを含むことができ、その中で、ストレージプログラムエリアは、オペレーティングシステム、少なくとも1つの機能に必要なアプリケーションプログラムを記憶することができ、ストレージデータエリアは、図8に示される電子機器の使用によって作成されたデータなどを記憶することができる。また、メモリ802は、高速ランダムアクセスメモリを含むことができ、非一時的なメモリをさらに含むことができ、例えば、少なくとも1つの磁気ディスクストレージデバイス、フラッシュメモリデバイス、又は他の非一時的なソリッドステートストレージデバイスである。いくつかの実施例では、メモリ802は、プロセッサ801に対して遠隔に設定されたメモリを選択的に含むことができ、これらの遠隔メモリは、ネットワークを介して図8の電子機器に接続されることができる。上記のネットワークの例は、インターネット、イントラネット、ローカルエリアネットワーク、モバイル通信ネットワーク、及びその組み合わせを含むが、これらに限定されない。
図8に示される電子機器は、入力装置803と出力装置804とをさらに含むことができる。プロセッサ801、メモリ802、入力装置803及び出力装置804は、バス又は他の方式を介して接続することができ、図8では、バスを介して接続することを例とする。
入力装置803は、入力された音声、数字又は文字情報を受信し、図8の電子機器のユーザ設定及び機能制御に関するキー信号入力を生成することができ、例えば、タッチスクリーン、キーパッド、マウス、トラックパッド、タッチパッド、ポインティングスティック、1つ又は複数のマウスボタン、トラックボール、ジョイスティックなどの入力装置である。出力装置804は、音声再生装置、ディスプレイデバイス、補助照明装置(例えば、LED)、及び触覚フィードバックデバイス(例えば、振動モータ)などを含むことができる。該ディスプレイデバイスは、液晶ディスプレイ(LCD)、発光ダイオード(LED)ディスプレイ、及びプラズマディスプレイを含むことができるが、これらに限定されない。いくつかの実施形態で、ディスプレイデバイスは、タッチスクリーンであってもよい。
本願の実施例により、コンピュータプログラムをさらに提供し、前記コンピュータプログラムは、コンピュータ読み取り可能な記憶媒体に記憶され、電子機器の少なくとも1つのプロセッサは、コンピュータ読み取り可能な記憶媒体からコンピュータプログラムを読み取ることができ、少なくとも1つのプロセッサは、コンピュータプログラムを実行することによって、電子機器に上記実施例に記載の方法を実行させる。
本明細書で説明されるシステムと技術の様々な実施形態は、デジタル電子回路システム、集積回路システム、ASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、及び/又はそれらの組み合わせで実現することができる。これらの様々な実施形態は、1つ又は複数のコンピュータプログラムで実施され、該1つ又は複数のコンピュータプログラムは、少なくとも1つのプログラマブルプロセッサを含むプログラム可能なシステムで実行及び/又は解釈されることができ、該プログラマブルプロセッサは、専用又は汎用のプログラマブルプロセッサであってもよく、ストレージシステム、少なくとも1つの入力装置、及び少なくとも1つの出力装置からデータ及び命令を受信し、データ及び命令を該ストレージシステム、該少なくとも1つの入力装置、及び該少なくとも1つの出力装置に伝送することができる。
これらのコンピューティングプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、又はコードとも呼ばれる)は、プログラマブルプロセッサの機械命令を含むことができ、高レベルのプロセス及び/又は対象指向プログラミング言語、及び/又はアセンブリ/機械言語でこれらのコンピューティングプログラムを実施することができる。本明細書に使用されるような、「機械読み取り可能な媒体」及び「コンピュータ読み取り可能な媒体」の用語は、機械命令及び/又はデータをプログラマブルプロセッサに提供するための任意のコンピュータプログラム製品、機器、及び/又は装置(例えば、磁気ディスク、光ディスク、メモリ、プログラマブルロジックデバイス(PLD))を指し、機械読み取り可能な信号である機械命令を受信する機械読み取り可能な媒体を含む。「機械読み取り可能な信号」の用語は、機械命令及び/又はデータをプログラマブルプロセッサに提供するための任意の信号を指す。
ユーザとのインタラクションを提供するために、コンピュータ上で、ここで説明されているシステム及び技術を実施することができ、該コンピュータは、ユーザに情報を表示するためのディスプレイ装置(例えば、CRT(陰極線管)又はLCD(液晶ディスプレイ)モニタ)と、キーボード及びポインティングデバイス(例えば、マウス又はトラックボール)とを有し、ユーザは、該キーボード及び該ポインティングデバイスによって入力をコンピュータに提供することができる。他の種類の装置も、ユーザとのインタラクションを提供することができ、例えば、ユーザに提供されるフィードバックは、任意の形態のセンシングフィードバック(例えば、視覚フィードバック、聴覚フィードバック、又は触覚フィードバック)であってもよく、任意の形態(音響入力と、音声入力と、触覚入力とを含む)でユーザからの入力を受信することができる。
ここで説明されるシステム及び技術は、バックエンドコンポーネントを含むコンピューティングシステム(例えば、データサーバとする)、又はミドルウェアコンポーネントを含むコンピューティングシステム(例えば、アプリケーションサーバ)、又はフロントエンドコンポーネントを含むコンピューティングシステム(例えば、グラフィカルユーザインタフェース又はウェブブラウザを有するユーザコンピュータであり、ユーザは、該グラフィカルユーザインタフェース又は該ウェブブラウザによってここで説明されるシステム及び技術の実施形態とインタラクションする)、又はこのようなバックエンドコンポーネントと、ミドルウェアコンポーネントと、フロントエンドコンポーネントの任意の組み合わせを含むコンピューティングシステムで実施することができる。任意の形態又は媒体のデジタルデータ通信(例えば、通信ネットワーク)によってシステムのコンポーネントを相互に接続することができる。通信ネットワークの例は、ローカルエリアネットワーク(LAN)と、ワイドエリアネットワーク(WAN)と、インターネットとを含む。
コンピュータシステムは、クライアントとサーバとを含むことができる。クライアントとサーバは、一般に、互いに離れており、通常に通信ネットワークを介してインタラクションする。対応するコンピュータ上で実行され、かつ互いにクライアント-サーバの関係を有するコンピュータプログラムによって、クライアントとサーバとの関係が生成される。
本願の実施例の技術的解決手段によれば、少なくとも1つの補助アプリケーションプログラムの前処理条件が満たされていると判断した場合、バックグラウンドで対応する実行コンテナを用いて補助アプリケーションプログラムを前処理し、補助アプリケーションプログラムに対する選択操作に応答して、フォアグラウンドで対応する補助アプリケーションプログラムをオープンする。補助アプリケーションプログラムを前処理する場合、バックグラウンドで対応する実行コンテナを用いて補助アプリケーションプログラムを前処理し、実行コンテナを介して異なる補助アプリケーションプログラムの前処理プロセスを完全に物理的に分離することができ、相互に干渉しないため、補助アプリケーションプログラム間の実行サンドボックスメカニズムを保護し、実行コンテナ内の対応する補助アプリケーションプログラムの自由な配置を実現し、補助アプリケーションプログラムの前処理時の安全性を向上させる。また、各実行コンテナは独立したシングルスレッドタスクであるため、1つの補助アプリケーションプログラムが対応する実行コンテナでプリロードされている場合、ユーザが他の補助アプリケーションプログラムをオープンすると、該補助アプリケーションプログラムをオープンする前に1つの補助アプリケーションプログラムのプリロードを待つのではなく、対応する実行コンテナで直接オープンすることもでき、これにより、補助アプリケーションプログラムのオープニング速度を向上させ、起動パフォーマンスの低下を回避する。
上記に示される様々な形態のフローを使用して、ステップを並べ替え、追加、又は削除することができる。例えば、本願に記載されている各ステップは、並列に実行されてもよいし、順次的に実行されてもよいし、異なる順序で実行されてもよいが、本願で開示されている技術案が所望の結果を実現することができれば、本明細書では限定しない。
上記の具体的な実施方式は、本願の保護範囲を制限するものではない。当業者は、設計要件と他の要因に基づいて、様々な修正、組み合わせ、補助コンビネーション、及び代替を行うことができる。本願の精神と原則内で行われる任意の修正、同等の置換、及び改善などは、いずれも本願の保護範囲内に含まれるべきである。

Claims (19)

  1. ホストアプリケーションプログラムに適用されるアプリケーションプログラムの起動方法であって、前記ホストアプリケーションプログラムには少なくとも1つの補助アプリケーションプログラムがホストされており、前記アプリケーションプログラムの起動方法は、
    第1の実行コンテナ及び第2の実行コンテナを含む実行コンテナの作成条件が満たされているか否かを監視するステップと、
    実行コンテナの作成条件が満たされていると判断した場合、バックグラウンドで第1の実行コンテナと第2の実行コンテナを作成するステップと、
    少なくとも1つの補助アプリケーションプログラムの前処理条件が満たされていると判断した場合、バックグラウンドで対応する実行コンテナを用いて前記補助アプリケーションプログラムを前処理するステップと、
    前記補助アプリケーションプログラムに対する選択操作に応答して、フォアグラウンドで対応する補助アプリケーションプログラムをオープンするステップと、を含む、
    ことを特徴とするアプリケーションプログラムの起動方法。
  2. 少なくとも1つの補助アプリケーションプログラムの前処理条件が満たされていると判断した場合、バックグラウンドで対応する実行コンテナを用いて前記補助アプリケーションプログラムを前処理する前記ステップは、
    表示領域内のリソース結果ページに第1の補助アプリケーションプログラムと第2の補助アプリケーションプログラムが含まれていると判断した場合、第1の補助アプリケーションプログラムと第2の補助アプリケーションプログラムのプリロード条件が満たされていると判断し、前記リソース結果ページにおいて前記第1の補助アプリケーションプログラムは前記第2の補助アプリケーションプログラムの前にあることと、
    バックグラウンドでは、第1の実行コンテナを用いて前記第1の補助アプリケーションプログラムをプリロードし、第2の実行コンテナを用いて前記第2の補助アプリケーションプログラムをプリロードすることと、を含む、
    ことを特徴とする請求項に記載のアプリケーションプログラムの起動方法。
  3. 少なくとも1つの補助アプリケーションプログラムの前処理条件が満たされていると判断した場合、バックグラウンドで対応する実行コンテナを用いて前記補助アプリケーションプログラムを前処理する前記ステップは、
    表示領域内のリソース結果ページに第1の補助アプリケーションプログラムが含まれていると判断した場合、第1の補助アプリケーションプログラムのプリロード条件が満たされていると判断することと、
    バックグラウンドで第1の実行コンテナを用いて前記第1の補助アプリケーションプログラムをプリロードすることと、
    表示領域内のリソース結果ページに対する更新操作に応答して、更新されたリソース結果ページに第2の補助アプリケーションプログラムが含まれていると判断した場合、第2の補助アプリケーションプログラムのプリロード条件が満たされていると判断することと、
    バックグラウンドで第2の実行コンテナを用いて前記第2の補助アプリケーションプログラムをプリロードすることと、を含む、
    ことを特徴とする請求項に記載のアプリケーションプログラムの起動方法。
  4. プリロードされた補助アプリケーションプログラムには、対応する目的関数が含まれ、前記目的関数は、前記対応する補助アプリケーションプログラムが業務データのダウンロード条件を満たすと判断したとき、対応する実行コンテナで対応する補助アプリケーションプログラムの業務データをプリダウンロードし、また前記対応する実行コンテナで対応する補助アプリケーションプログラムの起動表示ページをレンダリング及び生成するように指示することに用いられる、
    ことを特徴とする請求項2又は3に記載のアプリケーションプログラムの起動方法。
  5. 前記補助アプリケーションプログラムに対する選択操作に応答して、フォアグラウンドで対応する補助アプリケーションプログラムをオープンする前記ステップの後、前記方法は、
    起動されていない補助アプリケーションプログラムに対応する実行コンテナを破棄することにより、起動されていない補助アプリケーションプログラムを破棄するステップをさらに含む、
    ことを特徴とする請求項1~請求項のいずれか一項に記載のアプリケーションプログラムの起動方法。
  6. オープンされている補助アプリケーションプログラムに対するシャットダウン操作が監視された場合、表示領域内にリソース結果ページに対する更新操作があるか否かを監視するステップと、
    表示領域内にリソース結果ページに対する更新操作があることが監視された場合、他の実行コンテナを作成するステップと、をさらに含む、
    ことを特徴とする請求項に記載のアプリケーションプログラムの起動方法。
  7. オープンされている補助アプリケーションプログラムに対するシャットダウン操作が監視された場合、前記アプリケーションプログラムの起動方法は、
    シャットダウン操作が行われた補助アプリケーションプログラムに対応する実行コンテナを破棄するステップをさらに含む、
    ことを特徴とする請求項に記載のアプリケーションプログラムの起動方法。
  8. 実行コンテナの作成条件が満たされているか否かを監視する前記ステップは、
    ホストアプリケーションプログラムが起動されているか否かを監視することと、
    ホストアプリケーションプログラムが起動されていると判断した場合、実行コンテナの作成条件が満たされていると判断することと、
    ホストアプリケーションプログラムが起動されていないと判断した場合、実行コンテナの作成条件が満たされていないと判断することと、を含む、
    ことを特徴とする請求項に記載のアプリケーションプログラムの起動方法。
  9. ホストアプリケーションプログラムに適用されるアプリケーションプログラムの起動装置であって、前記ホストアプリケーションプログラムには少なくとも1つの補助アプリケーションプログラムがホストされており、前記アプリケーションプログラムの起動装置は、
    第1の実行コンテナ及び第2の実行コンテナを含む実行コンテナの作成条件が満たされているか否かを監視すること、及び実行コンテナの作成条件が満たされていると判断した場合、バックグラウンドで第1の実行コンテナと第2の実行コンテナを作成することに用いられる第2の作成モジュールと、
    少なくとも1つの補助アプリケーションプログラムの前処理条件が満たされていると判断した場合、バックグラウンドで対応する実行コンテナを用いて前記補助アプリケーションプログラムを前処理することに用いられるプログラム前処理モジュールと、
    前記補助アプリケーションプログラムに対する選択操作に応答して、フォアグラウンドで対応する補助アプリケーションプログラムをオープンすることに用いられるプログラムオープニングモジュールと、を含む、
    ことを特徴とするアプリケーションプログラムの起動装置。
  10. 前記プログラム前処理モジュールは、
    表示領域内のリソース結果ページに第1の補助アプリケーションプログラムと第2の補助アプリケーションプログラムが含まれていると判断した場合、第1の補助アプリケーションプログラムと第2の補助アプリケーションプログラムのプリロード条件が満たされていると判断し、前記リソース結果ページにおいて前記第1の補助アプリケーションプログラムは前記第2の補助アプリケーションプログラムの前にあること、及びバックグラウンドでは、第1の実行コンテナを用いて前記第1の補助アプリケーションプログラムをプリロードし、第2の実行コンテナを用いて前記第2の補助アプリケーションプログラムをプリロードすることに用いられる、
    ことを特徴とする請求項に記載のアプリケーションプログラムの起動装置。
  11. 前記プログラム前処理モジュールは、
    表示領域内のリソース結果ページに第1の補助アプリケーションプログラムが含まれていると判断した場合、第1の補助アプリケーションプログラムのプリロード条件が満たされていると判断すること、バックグラウンドで第1の実行コンテナを用いて前記第1の補助アプリケーションプログラムをプリロードすること、表示領域内のリソース結果ページに対する更新操作に応答して、更新されたリソース結果ページに第2の補助アプリケーションプログラムが含まれていると判断した場合、第2の補助アプリケーションプログラムのプリロード条件が満たされていると判断すること、及びバックグラウンドで第2の実行コンテナを用いて前記第2の補助アプリケーションプログラムをプリロードすることに用いられる、
    ことを特徴とする請求項に記載のアプリケーションプログラムの起動装置。
  12. プリロードされた補助アプリケーションプログラムには、対応する目的関数が含まれ、前記目的関数は、前記対応する補助アプリケーションプログラムが業務データのダウンロード条件を満たすと判断したとき、対応する実行コンテナで対応する補助アプリケーションプログラムの業務データをプリダウンロードし、また前記対応する実行コンテナで対応する補助アプリケーションプログラムの起動表示ページをレンダリング及び生成するように指示することに用いられる、
    ことを特徴とする請求項10又は11に記載のアプリケーションプログラムの起動装置。
  13. 起動されていない補助アプリケーションプログラムに対応する実行コンテナを破棄することにより、起動されていない補助アプリケーションプログラムを破棄することに用いられるプログラム破棄モジュールをさらに含む、
    ことを特徴とする請求項9~11のいずれか一項に記載のアプリケーションプログラムの起動装置。
  14. オープンされている補助アプリケーションプログラムに対するシャットダウン操作が監視された場合、表示領域内にリソース結果ページに対する更新操作があるか否かを監視すること、及び表示領域内にリソース結果ページに対する更新操作があることが監視された場合、他の実行コンテナを作成することに用いられる第1の作成モジュールをさらに含む、
    ことを特徴とする請求項13に記載のアプリケーションプログラムの起動装置。
  15. 前記プログラム破棄モジュールはさらに、
    シャットダウン操作が行われた補助アプリケーションプログラムに対応する実行コンテナを破棄することに用いられる、
    ことを特徴とする請求項14に記載のアプリケーションプログラムの起動装置。
  16. 前記第2の作成モジュールは、実行コンテナの作成条件が満たされているか否かを監視するとき、
    ホストアプリケーションプログラムが起動されているか否かを監視すること、ホストアプリケーションプログラムが起動されていると判断した場合、実行コンテナの作成条件が満たされていると判断すること、及びホストアプリケーションプログラムが起動されていないと判断した場合、実行コンテナの作成条件が満たされていないと判断することに用いられる、
    ことを特徴とする請求項に記載のアプリケーションプログラムの起動装置。
  17. 少なくとも1つのプロセッサと、
    前記少なくとも1つのプロセッサに通信接続されるメモリと、を含み、ただし、
    前記メモリには前記少なくとも1つのプロセッサによって実行可能な命令が記憶され、前記命令は、前記少なくとも1つのプロセッサが請求項1~請求項のいずれか一項に記載のアプリケーションプログラムの起動方法を実行できるように、前記少なくとも1つのプロセッサによって実行される、
    ことを特徴とする電子機器。
  18. コンピュータ命令が記憶されている非一時的なコンピュータ読み取り可能な記憶媒体であって、
    前記コンピュータ命令はコンピュータに請求項1~請求項のいずれか一項に記載のアプリケーションプログラムの起動方法を実行させることに用いられる、
    ことを特徴とする非一時的なコンピュータ読み取り可能な記憶媒体。
  19. コンピュータプログラムであって、前記コンピュータプログラムがプロセッサで実行されると、コンピュータに請求項1~請求項のいずれか一項に記載のアプリケーションプログラムの起動方法を実行させる、
    ことを特徴とするコンピュータプログラム。
JP2021066072A 2020-05-15 2021-04-08 アプリケーションプログラムの起動方法、装置、機器、及び記憶媒体 Active JP7090774B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010415301.6 2020-05-15
CN202010415301.6A CN111597027A (zh) 2020-05-15 2020-05-15 应用程序的启动方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
JP2021119479A JP2021119479A (ja) 2021-08-12
JP7090774B2 true JP7090774B2 (ja) 2022-06-24

Family

ID=72187161

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021066072A Active JP7090774B2 (ja) 2020-05-15 2021-04-08 アプリケーションプログラムの起動方法、装置、機器、及び記憶媒体

Country Status (5)

Country Link
US (1) US20210191739A1 (ja)
EP (1) EP3812898A3 (ja)
JP (1) JP7090774B2 (ja)
KR (1) KR102546645B1 (ja)
CN (1) CN111597027A (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112817492A (zh) * 2021-01-12 2021-05-18 张宇翔 移动终端中应用程序管理方法及***
CN113254090B (zh) * 2021-06-04 2024-05-28 深圳市火乐科技发展有限公司 一种应用管理方法、装置及投影设备
CN114398094B (zh) * 2021-12-21 2023-08-18 ***股份有限公司 小程序启动方法、装置、设备及计算机可读存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018534670A (ja) 2015-11-19 2018-11-22 グーグル エルエルシー バックグラウンドにおけるネイティブアプリケーションの事前インスタンス化
CN109753617A (zh) 2019-01-14 2019-05-14 广州虎牙信息科技有限公司 一种页面显示方法、设备和存储介质

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101356368B1 (ko) 2012-02-24 2014-01-29 주식회사 팬택 어플리케이션 전환 장치 및 방법
EP2907290A1 (en) * 2012-10-10 2015-08-19 Citrix Systems Inc. Policy-based application management
IN2013DE00359A (ja) * 2013-02-07 2015-06-19 Samsung India Electronics Pvt Ltd
CN106897077B (zh) * 2013-12-02 2020-11-10 海信视像科技股份有限公司 应用程序控制方法
CN105373419A (zh) 2014-08-26 2016-03-02 阿里巴巴集团控股有限公司 一种后台应用的操作方法及装置
US9830175B1 (en) * 2015-12-16 2017-11-28 Amazon Technologies, Inc. Predictive management of on-demand code execution
US9900264B1 (en) * 2017-01-09 2018-02-20 Red Hat, Inc. Adaptive balancing of application programming interface calls of cloud tenants
CN107291495A (zh) * 2017-06-01 2017-10-24 努比亚技术有限公司 一种共享资源加载方法、终端及计算机可读存储介质
CN108920202B (zh) * 2018-05-15 2020-09-15 Oppo广东移动通信有限公司 应用预加载管理方法、装置、存储介质及智能终端
CN108776599B (zh) * 2018-05-21 2022-04-08 Oppo广东移动通信有限公司 预加载应用的管理方法、装置、存储介质及智能终端
KR20200042793A (ko) * 2018-10-16 2020-04-24 삼성전자주식회사 복수의 운영체제들을 실행하는 전자장치 및 그 제어 방법
CN110413921B (zh) * 2019-06-21 2022-08-30 深圳壹账通智能科技有限公司 网页加载方法、装置、计算机设备和存储介质
CN110321178A (zh) * 2019-06-28 2019-10-11 百度在线网络技术(北京)有限公司 附属应用端的启动处理方法、装置、设备及存储介质
CN111124391A (zh) * 2019-12-18 2020-05-08 中科全维科技(苏州)有限公司 一种桌面端软件挂件视窗管理方法和***

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018534670A (ja) 2015-11-19 2018-11-22 グーグル エルエルシー バックグラウンドにおけるネイティブアプリケーションの事前インスタンス化
CN109753617A (zh) 2019-01-14 2019-05-14 广州虎牙信息科技有限公司 一种页面显示方法、设备和存储介质

Also Published As

Publication number Publication date
CN111597027A (zh) 2020-08-28
EP3812898A3 (en) 2021-08-25
KR20210038858A (ko) 2021-04-08
JP2021119479A (ja) 2021-08-12
KR102546645B1 (ko) 2023-06-22
EP3812898A2 (en) 2021-04-28
US20210191739A1 (en) 2021-06-24

Similar Documents

Publication Publication Date Title
JP7090774B2 (ja) アプリケーションプログラムの起動方法、装置、機器、及び記憶媒体
US10776082B2 (en) Programming environment augment with automated dialog system assistance
US9635138B2 (en) Client-server input method editor architecture
US10684838B2 (en) Dynamic application deployment
US11663037B2 (en) Service information processing method, apparatus, device and computer storage medium
US8578144B2 (en) Partial hibernation restore for boot time reduction
JP7170768B2 (ja) 開発マシン操作タスクの処理方法、電子機器、コンピュータ可読記憶媒体及びコンピュータプログラム
CN112286656B (zh) 小程序模拟方法、装置、电子设备和计算机可读存储介质
EP3171275A1 (en) Transparent process interception
WO2019118149A1 (en) Automatically launched software add-ins for proactively analyzing content of documents and soliciting user input
US10528380B2 (en) Virtual machine to host communication channel
CN111881387B (zh) 用于小程序的数据处理方法、装置、设备和介质
US11294651B2 (en) Code execution method, device, and rendering apparatus
CN112506854A (zh) 页面模板文件的存储和页面生成方法、装置、设备及介质
US8468388B2 (en) Restoring programs after operating system failure
US10013259B2 (en) User initiated data rollback using operating system partitions
US20190220294A1 (en) Using lightweight jit compilation for short-lived jvms on parallel distributing computing framework
CN111966877A (zh) 前端服务方法、装置、设备及存储介质
US20170277390A1 (en) Providing user-defined application start pages
CN112379945B (zh) 用于运行应用的方法、装置、设备以及存储介质
JP7147123B2 (ja) ソースチャネル決定方法、装置、機器、プログラム及びコンピューター記憶媒体
US20170371732A1 (en) Method for debugging static memory corruption
CN112379973B (zh) 重载方法和装置
US20240256271A1 (en) Graphical user interface element for tracking design and development changes across multiple web-based applications
CN111061812B (zh) 大数据分布式存储方法、装置、电子设备、存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210408

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220131

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220215

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220511

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220524

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220614

R150 Certificate of patent or registration of utility model

Ref document number: 7090774

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150