JP7112919B2 - スマート装置のタスク処理方法および装置 - Google Patents

スマート装置のタスク処理方法および装置 Download PDF

Info

Publication number
JP7112919B2
JP7112919B2 JP2018174147A JP2018174147A JP7112919B2 JP 7112919 B2 JP7112919 B2 JP 7112919B2 JP 2018174147 A JP2018174147 A JP 2018174147A JP 2018174147 A JP2018174147 A JP 2018174147A JP 7112919 B2 JP7112919 B2 JP 7112919B2
Authority
JP
Japan
Prior art keywords
pending
task
waiting
upload
queue
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
JP2018174147A
Other languages
English (en)
Other versions
JP2019102064A (ja
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 JP2019102064A publication Critical patent/JP2019102064A/ja
Application granted granted Critical
Publication of JP7112919B2 publication Critical patent/JP7112919B2/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/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
    • 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/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • 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/546Message passing systems or structures, e.g. queues
    • 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/547Remote procedure calls [RPC]; Web services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/541Client-server
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/548Queue
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/549Remote execution

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Telephonic Communication Services (AREA)
  • Information Transfer Between Computers (AREA)

Description

本発明は、コンピュータの技術分野に関し、具体的にインターネットの技術分野に関し、より詳細に、スマート装置のタスク処理方法および装置に関する。
人工知能の発展により、スマート装置は、ユーザの音声入力を取得してサーバにアップロードし、サーバから返されたコマンドを受信して、例えば装置制御、情報クエリ、スケジュール管理などのコマンドに対応する操作を実行することができる。これにより、自然言語対話によるユーザとモバイル機器との対話を実現することができる。
本発明は、スマート装置のタスク処理方法および装置を提案する。
第一の局面として、本発明は、スマート装置のタスク処理方法を提供する。上記スマート装置のタスク処理方法は、所定のデータフォーマットのタスク記述情報を含むサービス情報をサーバから受信するステップと、上記所定のデータフォーマットに基づいて、上記サービス情報を解析して処理待ちタスクを決定するステップと、上記処理待ちタスクを処理待ちタスクキューに配分するステップと、上記処理待ちタスクキューにおける処理待ちタスクを処理するステップと、を含む。
本発明の一部の実施形態において、上記処理待ちタスクキューは並行タスクキューであり、上記処理待ちタスクキューにおける処理待ちタスクを処理するステップは、上記処理待ちタスクキューが空白でないとともに、第1のスレッドプールにアイドルスレッドが存在することに応じて、上記処理待ちタスクキューの少なくとも一部の処理待ちタスクを上記第1のスレッドプールに追加するステップであって、上記少なくとも一部の処理待ちタスクにおける処理待ちタスクの数が、上記第1のスレッドプールにおけるアイドルスレッドの数以下であるステップと、上記少なくとも一部の処理待ちタスクが実行終了した後に、上記少なくとも一部の処理待ちタスクを上記処理待ちタスクキューから除去するステップと、を含む。
本発明の一部の実施形態において、上記処理待ちタスクキューはシリアルタスクキューであり、上記処理待ちタスクキューにおける処理待ちタスクを処理するステップは、処理中の処理待ちタスクが存在しないとともに、上記シリアルタスクキューが空白でないことに応じて、上記シリアルタスクキューの先頭に位置する処理待ちタスクを第1のタスクとして、シリアル処理ステップを実行するステップであって、上記シリアル処理ステップは、上記第1のタスクを実行した後に、上記第1のタスクを上記シリアルタスクキューから除去するステップである、ステップと、上記シリアルタスクキューが空白でないことに応じて、上記シリアルタスクキューの先頭に位置する上記処理待ちタスクを上記第1のタスクとし、上記シリアル処理ステップを継続する、ステップと、を含む。
本発明の一部の実施形態において、上記サービス情報は、上記スマート装置から受信されたイベント情報に基づいて上記サーバによって生成され、上記イベント情報は、上記スマート装置の音声入力情報と、処理待ちタスクを実行する期間の上記スマート装置の状態変化情報とのうち少なくとも1つを含む。
本発明の一部の実施形態において、上記イベント情報は、上記イベント情報に基づいてアップロード待ちイベントを生成するステップと、上記アップロード待ちイベントをアップロード待ちイベントキューに配分するステップと、上記アップロード待ちイベントキューにおけるアップロード待ちイベントを所定のデータフォーマットで上記サーバに送信するステップと、によって上記サーバに送信される。
本発明の一部の実施形態において、上記アップロード待ちイベントキューにおけるアップロード待ちイベントを所定のデータフォーマットで上記サーバに送信するステップは、上記アップロード待ちイベントキューが空白でないとともに、第2のスレッドプールにアイドルスレッドが存在することに応じて、上記アップロード待ちイベントキューにおける少なくとも一部のアップロード待ちイベントを上記第2のスレッドプールに追加するステップであって、上記少なくとも一部のアップロード待ちイベントにおけるアップロード待ちイベントの数が、上記第2のスレッドプールにおけるアイドルスレッドの数以下である、ステップと、上記少なくとも一部のアップロード待ちイベントが実行完了した後に、上記少なくとも一部のアップロード待ちイベントを、アップロード待ちイベントキューから除去するステップとを含む。
本発明の一部の実施形態において、上記スマート装置と上記サーバとの間に、再使用可能な通信リンクが存在する。
第二の局面として、本発明は、スマート装置のタスク処理装置を提供する。上記スマート装置のタスク処理装置は、所定のデータフォーマットのタスク記述情報を含むサービス情報をサーバから受信する受信ユニットと、上記所定のデータフォーマットに基づいて、上記サービス情報を解析して処理待ちタスクを決定する解析ユニットと、上記処理待ちタスクを処理待ちタスクキューに配分する配分ユニットと、上記処理待ちタスクキューにおける処理待ちタスクを処理する処理ユニットと、を含む。
本発明の一部の実施形態において、上記処理待ちタスクキューは並行タスクキューであり、処理ユニットは、上記処理待ちタスクキューが空白でないとともに、第1のスレッドプールにアイドルスレッドが存在することに応じて、上記処理待ちタスクキューの少なくとも一部の処理待ちタスクを上記第1のスレッドプールに追加するユニットであって、上記少なくとも一部の処理待ちタスクにおける処理待ちタスクの数が、上記第1のスレッドプールにおけるアイドルスレッドの数以下である並行実行ユニットと、上記少なくとも一部の処理待ちタスクが実行終了した後に、上記少なくとも一部の処理待ちタスクを上記処理待ちタスクキューから除去する並行除去ユニットと、を含む。
本発明の一部の実施形態において、上記処理待ちタスクキューはシリアルタスクキューであり、処理ユニットは、処理中の処理待ちタスクが存在しないとともに、上記シリアルタスクキューが空白でないことに応じて、上記シリアルタスクキューの先頭に位置する処理待ちタスクを第1のタスクとして、シリアル処理ステップを実行するユニットであって、上記シリアル処理ステップは、上記第1のタスクを実行した後に、上記第1のタスクを上記シリアルタスクキューから除去する、第1のシリアル実行ユニットと、上記シリアルタスクキューが空白でないことに応じて、上記シリアルタスクキューの先頭に位置する上記処理待ちタスクを上記第1のタスクとして、上記シリアル処理ステップを継続する、第2のシリアル実行ユニットと、を含む。
本発明の一部の実施形態において、上記サービス情報は、上記スマート装置から受信されたイベント情報に基づいて上記サーバによって生成され、上記イベント情報は、上記スマート装置の音声入力情報と、処理待ちタスクを実行する期間の上記スマート装置の状態変化情報とのうち少なくとも1つを含む。
本発明の一部の実施形態において、上記装置は、イベント情報をサーバに送信するように構成されているイベントユニットをさらに含む。
本発明の一部の実施形態において、イベントユニットは、上記イベント情報に基づいてアップロード待ちイベントを生成するイベント生成ユニットと、上記アップロード待ちイベントをアップロード待ちイベントキューに配分するイベント配分ユニットと、上記アップロード待ちイベントキューにおけるアップロード待ちイベントを所定のデータフォーマットで上記サーバに送信するアップロードユニットとを含む。
本発明の一部の実施形態において、アップロードユニットは、上記アップロード待ちイベントキューが空白でないとともに、第2のスレッドプールにアイドルスレッドが存在することに応じて、上記アップロード待ちイベントキューにおける少なくとも一部のアップロード待ちイベントを上記第2のスレッドプールに追加するユニットであって、上記少なくとも一部のアップロード待ちイベントにおけるアップロード待ちイベントの数が、上記第2のスレッドプールにおけるアイドルスレッドの数以下である、実行サブユニットと、上記少なくとも一部のアップロード待ちイベントが実行完了した後に、上記少なくとも一部のアップロード待ちイベントを、アップロード待ちイベントキューから除去する除去サブユニットとを含む。
本発明の一部の実施形態において、上記スマート装置と上記サーバとの間に、再使用可能な通信リンクが存在する。
本発明によって提供されるスマート装置のタスク処理方法及び装置は、タスク記述情報を含むサービス情報を受信した後、処理待ちタスクキューに配分し、その後に、処理待ちタスクキューにおける処理待ちタスクを処理することにより、処理待ちタスクの処理効率を向上させることができる。
以下の図面を参照してなされた制限的でない実施形態に対する詳細的な説明により、本発明の他の特徴、目的及び利点はより明らかになる。
図1は、本発明が適用され得る例示的なシステムの構造図である。 図2は、本発明に係るスマート装置のタスク処理方法の一実施形態のプロセス図である。 図3は、本発明に係るスマート装置のタスク処理方法の適用シーンの概略図である。 図4は、本発明に係るスマート装置のタスク処理方法の別の実施形態のプロセス図である。 図5は、本発明に係るスマート装置のタスク処理装置の一実施形態の構造概略図である。 図6は、本発明の実施形態を実現するための装置に適用されるコンピュータシステムの構成模式図である。
以下、図面及び実施形態を参照しながら本発明をより詳細に説明する。理解すべきことは、ここで説明する具体的な実施形態は、当該発明を説明するものに過ぎず、当該発明を限定するものではない。ただし、説明の便宜上、図面には発明に関連する部分のみが示されている。
なお、衝突しない場合、本発明の実施形態及び実施形態における特徴を相互に組み合せてもよい。以下、図面及び実施形態を参照しながら本発明を詳細に説明する。
図1は、本発明が適用できるタスク処理方法またはタスク処理装置の実施形態の例示的なシステムアーキテクチャ100を示す。
図1に示されたように、システムアーキテクチャ100は、端末装置101、102、103と、ネットワーク104と、サーバ105とを備えても良い。ネットワーク104は、端末装置101、102、103とサーバ105の間に通信リンクの媒体を提供する。ネットワーク104は、各種の接続タイプ、例えば有線、無線通信リンク又は光ファイバ、ケーブルなどを含んでも良い。
ユーザは、端末装置101、102、103を使用してネットワーク104を介してサーバ105とインタラクションすることにより、メッセージなどを送受信することができる。端末装置101、102、103には、各種の通信クライアントアプリ、例えば音声補助型のアプリ、買物型のアプリ、検索型のアプリ、即時通信ツール、メールボックスクライアント、交際型のプラットフォームソフトウェアなどがインストールされても良い。
端末装置101、102、103は、音声受信機能を有する各種の電子装置であっても良く、スマートフォーン、タブレット、電子書籍閲覧機、MP3プレーヤ(Moving Picture Experts Group Audio Layer III、ムービングピクチャエクスパーシグループオーディオレイヤー3)、MP4(Moving Picture Experts Group Audio Layer IV、ムービングピクチャエクスパーシグループオーディオレイヤー4)プレーヤ、ノードパソコン及びディスクトップコンピュータなどを含むが、それらに限定されない。
サーバ105は、端末装置101、102、103との会話型インタラクションをサポートすることなどの、様々なサービスを提供するサーバである。 サーバ105は、受信した音声入力等のデータに対して解析処理を行い、解析処理結果に基づいて端末装置101、102、103にコマンドを送信することができる。
説明すべきなのは、本発明の実施形態により提供される情報を抽出する方法は、一般的にサーバ105により実行される。それに応じて、情報を抽出する装置は一般的にサーバ105に設置される。説明すべきなのは、本発明の実施形態により提供される情報を抽出する方法は、ある場合に端末装置101、102、103により実行されても良い。
理解すべきなのは、図1における端末装置、ネットワーク及びサーバの数は例示的なものに過ぎない。実現の必要に応じて、任意の数の端末装置、ネットワーク及びサーバを備えても良い。
本発明に係るスマート装置のタスク処理方法の一実施形態のプロセス200を示す図2をさらに参照する。スマート装置におけるタスクの処理方法は、以下のステップを含む。
ステップ201において、サーバによって送信された、所定のデータフォーマットのタスク記述情報を含むサービス情報を受信する。
本実施形態において、タスク処理方法が実行されるスマート装置(例えば、図1の端末装置)は、有線接続または無線接続によってサーバからサービス情報を受信することができ、サービス情報は、タスク記述情報を所定のフォーマットで含む。
通常、スマート装置は、HTTP(HyperText Transfer Protocol)2.0に基づいてサービス情報を受信する。タスク記述情報は、JSON(JavaScript Object Notation、軽量データ交換フォーマット)フォーマットのテキスト情報であってもよい。
サービス情報は、タスク記述情報を含むだけでなく、追加情報を含むこともできることを理解されたい。例えば、後述する処理待ちタスクが音楽再生などの音声を含む操作である場合、サービス(業務)情報は、バイナリ音声ストリーム情報をさらに含むことができる。
ステップ202において、処理すべきタスクを決定するために、所定のデータフォーマットに基づいてサービス情報を解析する。
本実施形態において、携帯機器(例えば、図1のサーバ)は、ステップ201で取得したサービス情報を所定のデータフォーマット(例えば、JSONフォーマット)に基づいて解析して、解析した装置記述情報を取得し、解析されたタスク記述情報に基づいて処理待ちタスクを生成する。
タスク記述情報を含むサービス情報をJSONフォーマットで例を挙げて説明すると、まず、タスク記述情報中のタスク属性及び属性値(キー値対のフォーマットによりJSONテキスト内に存在する)を取得し、取得したタスク属性および属性値をパッケージ化して処理待ちタスクを取得することができる(例えば、オブジェクト指向プログラミングでは、処理待ちタスクはタスク類の具体的例であってもよい)。
ステップ203において、処理待ちタスクを処理待ちタスクキューに配分する。
本実施形態において、スマート装置のタスク処理方法が実行されるスマート装置は、少なくとも1つの処理待ちタスクキューを予め設定しておき、ステップ202で決定された処理待ちタスクを処理待ちタスクキューに配分する。例えば、処理待ちタスクは、処理待ちタスクの生成時刻に基づいて処理待ちタスクキューに配分され、例えば、最新に生成された処理待ちタスクを処理待ちタスクキューの後方(尾部)に配分し、または、処理待ちタスクの優先度に基づいて、処理待ちタスクを処理待ちタスクキューに配分することができる。例えば、優先度の低い処理待ちタスクを、処理待ちタスクキューの尾部に配分する。ここで、処理待ちタスクキューは、スマート装置のローカルメモリやリムーバブル記憶媒体などに記憶されてもよい。
ステップ204において、処理待ちタスクキューにおける処理待ちタスクを処理する。
本実施形態では、モバイル装置は、被処理装置の種類(例えば、並行タスクキューまたはシリアルタスクキュー)及び処理待ちタスクキューにおける処理待ちタスクの属性(例えば、生成時間や優先度)に基づいて、処理待ちタスクキューにおける処理待ちタスクを処理してもよく。
本実施形態の一部の選択可能な実装形態では、処理待ちタスクキューは並行タスクキューであり、処理待ちタスクキューにおける処理待ちタスクを処理することは、上記処理待ちタスクキューが空白でないとともに、第1のスレッドプールにアイドルスレッドが存在することに応じて、上記処理待ちタスクキューの少なくとも一部の処理待ちタスクを上記第1のスレッドプールに追加するステップであって、上記少なくとも一部の処理待ちタスクにおける処理待ちタスクの数が、上記第1のスレッドプールにおけるアイドルスレッドの数以下であるステップと、上記少なくとも一部の処理待ちタスクが実行終了した後に、上記少なくとも一部の処理待ちタスクを上記処理待ちタスクキューから除去するステップと、を含む。
具体的には、スマート装置には、所定の数(例えば、4つ)のスレッドを有する第1のスレッドプールを備えることができる。スマート装置は、処理されるタスクキューおよび第1のスレッドプールの状態を定期的にチェックする。処理待ちタスクキューが空白でない(つまり、少なくとも1つの処理待ちタスクが存在する)とともに第1のスレッドプールにアイドルスレッド(全スレッドまたは一部のスレッドが待機状態である)が存在する場合には、処理待ちタスクキューから少なくとも一部の処理待ちタスクを抽出して第1のスレッドプールに追加し、第1のスレッドプールマネージャによって処理待ちタスクの実行を制御する。ここで、当該少なくとも一部処理待ちタスクの数は、第1のスレッドプールにおけるアイドルスレッドの数以下である。例えば、4つのアイドルスレッドが存在する場合、1~4の処理待ちタスクを第1のスレッドプールに追加することができる。2つのアイドルスレッドが存在する場合には、1-2の処理待ちタスクを第1のスレッドプールに追加することができる。
第1スレッドプールに追加された処理待ちタスク毎に対して、当該処理待ちタスクの実行が完了した後、処理待ちタスクを処理待ちタスクキューから除去する。
第1スレッドプールが処理待ちタスクを同時(並行)に処理するように設定するこれにより、処理待ちタスクの処理効率を向上させる一方、多すぎる処理待ちタスクを同時に処理することによるスマート装置の実行圧力を軽減することができる。
なお、第1スレッドプールにおけるスレッドは一定量のシステム資源を占有するので、第1スレッドプールにおけるスレッド数は、第1スレッドプールにおける処理待ちタスクの数及びスレッドの待機(閑)時間に基づいて動的に調整されてもよい。例えば、処理待ちタスクキューにおける処理待ちタスクの数がタスク数閾値より大きい場合には、第1スレッドプールにおけるスレッド数を増加させて処理効率を向上させることができ、スレッドの待機時間が時間閾値よりも長い場合、時間閾値よりも長い待機時間を有するスレッドは、システムオーバーヘッドを節約するために削除してもよい。
本発明の実施形態の一部の選択可能な実装形態では、処理待ちタスクキューは、シリアルタスクキューであり、上記処理待ちタスクキューにおける上記処理待ちタスクを処理するステップは、処理中の処理待ちタスクが存在しないとともに、上記シリアルタスクキューが空白でないことに応じて、上記シリアルタスクキューの先頭に位置する処理待ちタスクを第1のタスクとし、シリアル処理ステップを実行するステップであって、上記シリアル処理ステップは、上記第1のタスクを実行した後に、上記第1のタスクを上記シリアルタスクキューから除去するステップである、ステップと、上記シリアルタスクキューが空白でないことに応じて、上記シリアルタスクキューの先頭に位置する上記処理待ちタスクを上記第1のタスクとし、上記シリアル処理ステップを継続する、ステップと、を含む。
具体的には、処理待ちタスクキューがシリアルタスクキュー(つまり、シリアルモードで処理待ちタスクを実行する)である場合に、処理中の処理待ちタスクが存在しないとともに、処理待ちタスクキューが空白でないと、処理待ちタスクキューにおける処理待ちタスクの順番にしたがって、シリアルタスクキューの先頭に位置する処理待ちタスクを第1のタスクとして処理を行い、第1のタスクの実行が完了した後、第1のタスクをシリアルタスクキューから除去する。第1のタスクを除去した後でもシリアルタスクキューが空白でない場合は、続いてタスクキューの先頭の処理待ちタスクを実行し、当該過程を繰り返す。
図3をさらに参照すると、図3は、本実施形態に係るスマート装置のタスク処理方法の応用シーン300の概略図である。図3の適用シーン300において、スマート装置302は、まず、サーバ301からサービス情報を受信し、その後、スマート装置302は、サービス情報における所定のフォーマットのタスク記述情報を解析して、処理待ちタスクを決定する。次に、処理待ちタスクキューに決定された処理待ちタスクを配分303(例えば、処理待ちタスクキュー303の尾部)、最後に、処理待ちタスクキュー303における処理待ちタスクを処理する。
本発明の実施形態によるスマート装置のタスク処理方法は、処理待ちタスクキューに処理待ちタスクを配分して処理することにより、処理待ちタスクの処理効率を向上させることができる。
さらに、図4を参照すると、スマート装置のタスク処理方法の他の実施形態のプロセス400が示されている。スマート装置のタスク処理方法のプロセス400は、以下のステップを含む。
ステップ401において、サーバにから送信された、所定のデータフォーマットのタスク記述情報を含むサービス情報を受信する。
本実施形態において、タスク処理方法が実行されるスマート装置(例えば、図1の端末装置)は、有線接続または無線接続によってサーバからサービス情報を受信することができ、サービス情報は、所定のフォーマットのタスク記述情報を含む。
ステップ402において、処理待ちタスクを決定するために、所定のデータフォーマットに基づいてサービス情報を解析する。
本実施形態では、モバイル機器(例えば、図1のサーバ)は、ステップ401で取得したサービス情報を所定のデータフォーマット(例えば、JSONフォーマット)に基づいて解析して、解析されたタスク記述情報を取得し、解析されたタスク記述情報に基づいて処理待ちタスクを生成する。
ステップ403において、処理待ちタスクキューに処理待ちタスクキューを配分する。
本実施形態では、タスク処理方法が実行されるスマート装置は、少なくとも1つの処理待ちタスクキューを予め構築し、ステップ402から決定された処理待ちタスクを処理待ちタスクキューに配分する。
ステップ404において、処理待ちタスクキューにおける処理待ちタスクを処理する。
本実施形態では、モバイル機器は、処理待ちタスクキューの種類(例えば、処理対象の並行タスクキューやシリアルto-タスクキュー)及び処理待ちタスクキューの属性(例えば、生成時刻や優先度)に基づいて、処理待ちタスクキューにおける処理待ちタスクを処理する。
本実施形態では、図2の実施形態と比較すると、サービス情報は、スマート装置から受信されたイベント情報に基づいてサーバによって生成され、イベント情報は、スマート装置の音声入力情報または処理待ちタスクを実行する期間のスマート装置の状態変化情報のうちの少なくとも1つを含む。
したがって、スマート装置のタスク処理方法のプロセス400は、以下のステップをさらに含む。
ステップ405において、イベント情報に基づいてアップロード待ちイベントを生成する。
本実施形態では、スマート装置は、ユーザの音声入力を受けて適切なイベント情報を生成することができ、または、処理待ちタスクを実行する際(例えば、処理待ちタスクが音楽再生であれば、音楽を再生し始めたとき)にもイベント情報を生成することができる。この場合、後続の処理のために、生成されたアップロード待ちイベントをパッケージ化してアップロード待ちイベントを生成することができる(例えば、オブジェクト指向プログラミングでは、アップロード待ちイベントは事件類の具体的実例である)。
ステップ406において、アップロード待ちイベントをアップロード待ちイベントキューに配分する。
本実施形態において、タスク処理方法が実行されるスマート装置は、少なくとも1つのアップロード待ちイベントキューを事前に構築して、ステップ405で生成されたアップロード待ちイベントをアップロード待ちイベントキューに配分することができる。例えば、アップロード待ちイベントを、アップロード待ちイベントの生成時刻に基づいてアップロード待ちイベントキューに配分することができ、例えば、最新に生成されたアップロード待ちイベントをアップロード待ちイベントキューの後方(アップロード待ちイベントキュー尾部)に配分することができる。または、アップロード待ちイベントを、アップロード待ちイベントの優先度に基づいてアップロード待ちイベントキューに配分することができ、例えば、優先度の低いアップロード待ちイベントをアップロード待ちイベントキューの尾部に配分することができる。ここで、アップロード待ちイベントキューは、スマート装置のローカルメモリまたはリムーバブル記憶媒体に記憶されてもよい。
ステップ407において、アップロード待ちイベントキューにおけるアップロード待ちイベントを所定のデータフォーマットでサーバに送信する。
本実施形態では、モバイル装置は、アップロード待ちイベントを、アップロード待ちイベントキューの種類(並行イベントキューまたはシリアルイベントキュー)及びアップロード待ちイベントキューの属性(例えば、生成時刻または優先度)に基づいて、所定のデータフォーマット(例えば、JSONフォーマット)でサーバにアップロードすることができる。
実施形態の一部の選択可能な実装形態では、上記アップロード待ちイベントキューにおける上記アップロード待ちイベントを上記所定のデータフォーマットで上記サーバに送信するステップは、上記アップロード待ちイベントキューが空白でないとともに、第2のスレッドプールにアイドルスレッドが存在することに応じて、上記アップロード待ちイベントキューにおける少なくとも一部のアップロード待ちイベントを上記第2のスレッドプールに追加するステップであって、上記少なくとも一部のアップロード待ちイベントにおけるアップロード待ちイベントの数が、上記第2のスレッドプールにおけるアイドルスレッドの数以下である、ステップと、上記少なくとも一部のアップロード待ちイベントが実行完了した後に、上記少なくとも一部のアップロード待ちイベントを、アップロード待ちイベントキューから除去するステップとを含む。
具体的には、スマート装置には、所定の数(例えば、2つ)のスレッドを有する第2のスレッドプールを備えることができる。スマート装置は、アップロード待ちイベントキューおよび第2のスレッドプールの状態を定期的にチェックする。アップロード待ちイベントキューが空白でない(つまり、少なくとも1つのアップロード待ちイベントが存在する)とともに第2のスレッドプールにアイドルスレッド(全スレッドまたは一部のスレッドが待機状態である)が存在する場合には、アップロード待ちイベントキューから少なくとも一部のアップロード待ちイベントを抽出して第2のスレッドプールに追加し、第2のスレッドプールマネージャによって処理待ちタスクの実行を制御する。ここで、当該少なくとも一部アップロード待ちイベントの数は、第2のスレッドプールにおけるアイドルスレッドの数以下である。例えば、2つのアイドルスレッドが存在する場合、1~2のアップロード待ちイベントを第2のスレッドプールに追加することができる。1つのアイドルスレッドが存在する場合には、1つのアップロード待ちイベントを第2のスレッドプールに追加することができる。
理解すべきことは、第2のスレッドプールにおけるスレッドの数は1でもよく、第2のスレッドプールが1つのスレッドプールのみを含む場合、アップロード待ちイベントは実質的にシリアルモードでアップロードされる。アップロード待ちイベントがアップロードされた後で、次のアップロード待ちイベントが続いてアップロードされる。
第2のスレッドプールに追加されたアップロード待ちイベント毎について、アップロード待ちイベントのアップロードが完了すると、アップロード待ちイベントをアップロード待ちイベントから除去する。
第2のスレッドプールがアップロード待ちイベントを同時(並行)にアップロードするように設定するこれにより、アップロード効率を向上させる一方、多すぎるアップロード待ちイベントを同時にアップロードすることによるスマート装置の実行圧力を軽減することができる。
なお、第2スレッドプールにおけるスレッドは一定量のシステム資源を占有するので、第2スレッドプールにおけるスレッド数は、第2スレッドプールにおけるアップロード待ちイベントの数及びスレッドの待機(閑)時間に基づいて動的に調整されてもよい。例えば、アップロード待ちイベントキューにおけるアップロード待ちイベントの数がイベント数閾値より大きい場合には、第2スレッドプールにおけるスレッド数を増加させて処理効率を向上させることができ、スレッドの待機時間が時間閾値よりも長い場合、時間閾値よりも長い待機時間を有するスレッドは、システムオーバーヘッドを節約するために削除してもよい。
一部の選択可能な実施形態では、スマート装置とサーバとの間に再使用可能な通信リンクが存在する。たとえば、通信リンクはHTTP2.0を使用して構築することができる。スマート装置とサーバとの間に再利用可能な通信リンクを構築することにより、データ送信毎に通信リンクを構築することを回避し、これによりデータ送信効率を改善する。例えば、より速く、より効率的にサービス情報を受信したり、アップロード待ちイベントをアップロードすることができる。
図4からわかるように、本実施形態によるスマート装置のタスク処理方法のプロセス400は、図2に対応する実施形態と比較して、アップロード待ちイベントのアップロードを強調した。その結果、本実施形態に係る技術案は、アップロード待ちイベントキューを介してアップロード待ちイベントをアップロードすることにより、アップロード待ちイベントのアップロード効率を向上させることができる。
上記の各図に示された方法の実施態様として、本発明は、スマート装置のタスク処理装置の実施形態を提供する。装置の実施形態は、図2に示される方法の実施形態に対応し、装置は、様々なスマート装置に具体的に適用され得る。
図5に示すように、本実施形態に係るスマート装置のタスク処理装置500は、受信ユニット501、解析ユニット502、配分ユニット503及び処理ユニット504を含む。受信ユニット501は、所定のデータフォーマットのタスク記述情報を含む、サーバから送信されたサービス情報を受信するように構成されている。解析ユニット502は、処理待ちタスクを決定するために、所定のデータフォーマットに基づいてサービス情報を解析するように構成されている。配分ユニット503は、処理待ちタスクを処理待ちタスクキューに配分するように構成されており、処理ユニット504は、処理待ちタスクキューの処理待ちタスクを処理するように構成されている。
本実施形態において、スマート装置のタスク処理装置500の受信ユニット501は、有線接続または無線接続によってサーバから所定のフォーマットのタスク記述情報を含むサービス情報を受信することができる。
本実施形態において、解析ユニット502は、受信ユニット501で受信されたサービス情報を所定のデータフォーマット(例えば、JSONフォーマット)に基づいて解析して、解析されたタスク記述情報を取得し、解析されたタスク記述情報にもとづいて処理待ちタスクを生成する。
本実施形態において、配分ユニット503は、少なくとも1つの処理待ちタスクキューを予め設定しておき、解析ユニット502によって決定された処理待ちタスクを処理待ちタスクキューに配分することができる。
本実施形態では、処理ユニット504は、処理待ちタスクの種類(例えば、並行タスクキュー又はシリアルタスクキュー)及び処理待ちタスクの属性(例えば、生成時間や優先度)に基づいて、処理待ちタスクキューにおける処理待ちタスクを処理する。
本実施形態の一部の選択可能な実装形態では、処理待ちタスクキューは並行タスクキューであり、処理待ちタスクキューにおける処理待ちタスクを処理することは、上記処理待ちタスクキューが空白でないとともに、第1のスレッドプールにアイドルスレッドが存在することに応じて、上記処理待ちタスクキューの少なくとも一部の処理待ちタスクを上記第1のスレッドプールに追加するステップであって、上記少なくとも一部の処理待ちタスクにおける処理待ちタスクの数が、上記第1のスレッドプールにおけるアイドルスレッドの数以下であるステップと、上記少なくとも一部の処理待ちタスクが実行終了した後に、上記少なくとも一部の処理待ちタスクを上記処理待ちタスクキューから除去するステップと、を含む。
本発明の実施形態の一部の選択可能な実装形態では、処理待ちタスクキューは、シリアルタスクキューであり、上記処理待ちタスクキューにおける上記処理待ちタスクを処理するステップは、処理中の処理待ちタスクが存在しないとともに、上記シリアルタスクキューが空白でないことに応じて、上記シリアルタスクキューの先頭に位置する処理待ちタスクを第1のタスクとし、シリアル処理ステップを実行するステップであって、上記シリアル処理ステップは、上記第1のタスクを実行した後に、上記第1のタスクを上記シリアルタスクキューから除去するステップである、ステップと、上記シリアルタスクキューが空白でないことに応じて、上記シリアルタスクキューの先頭に位置する上記処理待ちタスクを上記第1のタスクとし、上記シリアル処理ステップを継続する、ステップと、を含む。
本発明の実施形態の一部の選択可能な実装形態では、サービス情報は、スマート装置から受信されたイベント情報に基づいてサーバによって生成され、イベント情報は、スマート装置の音声入力情報または処理待ちタスクを実行する期間のスマート装置の状態変化情報のうちの少なくとも1つを含む。
本発明の実施形態の一部の選択可能な実装形態では、装置500は、イベント情報をサーバに送信するように構成されたイベントユニットをさらに含む。
本実施形態の一部の選択可能な実装形態では、イベントユニットは、イベント生成モジュール、イベント配分モジュール、およびアップロードモジュールを含む。イベント生成モジュールは、イベント情報に基づいてアップロード待ちイベントを生成するように構成されている。上記イベント配分モジュールは、上記アップロード待ちイベントをアップロード待ちイベントキューに配分するように構成され、上記アップロードモジュールは、上記アップロード待ちイベントキューの上記アップロード待ちイベントを所定のデータフォーマットで上記サーバに送信するように構成されている。
本発明の実施形態の一部の選択可能な実施形態では、アップロードモジュールは、上記アップロード待ちイベントキューが空白でないとともに、第2のスレッドプールにアイドルスレッドが存在することに応じて、上記アップロード待ちイベントキューにおける少なくとも一部のアップロード待ちイベントを上記第2のスレッドプールに追加する実行サブモジュールであって、上記少なくとも一部のアップロード待ちイベントにおけるアップロード待ちイベントの数が、上記第2のスレッドプールにおけるアイドルスレッドの数以下である、実行サブモジュールと、上記少なくとも一部のアップロード待ちイベントが実行完了した後に、上記少なくとも一部のアップロード待ちイベントを、アップロード待ちイベントキューから除去する除去サブモジュールとを含む。
本発明の実施形態の一部の選択可能な実施形態では、スマート装置とサーバとの間に再使用可能な通信リンクが存在する。
本発明の実施形態によるスマート装置のタスク処理装置は、処理待ちタスクキューに処理待ちタスクを配分することにより、処理待ちタスクの処理効率を向上させることができる。
続いて図6を参照する。図6は、本発明の実施形態を実現するための電子装置に適用されるコンピュータシステム600の構成模式図を示した。図6に示された電子装置は一つの例示に過ぎず、本発明の実施形態の機能及び使用範囲に制限しない。
図6に示されたように、コンピュータシステム600は、読み出し専用メモリ(ROM)602に記憶されているプログラム又は記憶部606からランダムアクセスメモリ(RAM)603にロードされたプログラムに基づいて様々な適当な動作および処理を実行することができる中央処理装置(CPU)601を備える。RAM603には、システム600の操作に必要な様々なプログラムおよびデータがさらに記憶されている。CPU601、ROM602およびRAM 603は、バス604を介して互いに接続されている。入力/出力(I/O)インターフェース606もバス604に接続されている。
キーボード、マウスなどを含む入力部606、陰極線管(CRT)、液晶ディスプレイ(LCD)など、およびスピーカなどを含む出力部607、ハードディスクなどを含む記憶部608、およびLANカード、モデムなどを含むネットワークインターフェースカードの通信部609は、I/Oインターフェース606に接続されている。通信部609は、例えばインターネットのようなネットワークを介して通信処理を実行する。ドライバ610は、必要に応じてI/Oインターフェース606に接続される。リムーバブルメディア611は、例えば、マグネチックディスク、光ディスク、光磁気ディスク、半導体メモリなどのようなものであり、必要に応じてドライバ610に取り付けられ、したがって、ドライバ610から読み出されたコンピュータプログラムが必要に応じて記憶部608にインストールされる。
特に,本発明の実施形態によれば、上記のフローチャートに参照して説明された過程はコンピュータソフトウェアプログラムに実現されても良い。例えば、本発明の実施形態はコンピュータ読取可能な媒体にロードされるコンピュータプログラムを含むコンピュータプログラム製品を備える。当該コンピュータプログラムは、フローチャートに示される方法を実行するためのプログラムコードを含む。このような実施形態において、当該コンピュータプログラムは、通信部609を介してネットワークからダウンロードしてインストールされ、及び/又はリムーバブルメディア611からインストールされても良い。当該コンピュータプログラムは、中央処理ユニット(CPU)601により実行される場合に、本発明の方法に限定される上記機能を実行する。
説明すべきなのは、本発明のコンピュータ読取可能な媒体は、コンピュータ読取可能な信号媒体、コンピュータ読取可能な記憶媒体、或いは上記両者の任意の組合わせであっても良い。コンピュータ読取可能な記憶媒体は、例えば電気、磁気、光、電磁気、赤外線、半導体のシステム、サーバ又は部品、或いはこれらの任意の組み合わせであっても良いが、それらに限定されない。コンピュータ読取可能な記憶媒体についてのより具体的な例は、一つ又は複数の導線を含む電気的な接続、携帯可能なコンピュータ磁気ディスク、ハードディスク、ランダムアクセスメモリ(RAM)、読取専用メモリ(ROM)、消去可能なプログラミング読取専用メモリ(EPROM又はフラッシュ)、光ファイバ、携帯可能なコンパクト磁気ディスク読取専用メモリ(CD-ROM)、光学記憶素子、磁気記憶素子、或いは上記の任意の適当の組み合わせを含むが、それらに限定されない。本発明において、コンピュータ読取可能な記憶媒体は、プログラムを含むか記憶する任意の有形の媒体であっても良い。当該プログラムは、コマンドによりシステム、サーバ又は部品の使用を実行し、或いはそれらに組合わせて使用されても良い。本発明において、コンピュータ読取可能な信号媒体は、ベースバンドに伝送され或いはキャリアの一部として伝送され、コンピュータ読取可能なプログラムコードがロードされるデータ信号を含んでも良い。このような伝送されるデータ信号は、各種のフォーマットを採用しても良く、電磁気信号、光信号又は上記の任意の適当の組合わせを含むが、それらに限定されない。コンピュータ読取可能な信号媒体は、コンピュータ読取可能な記憶媒体以外の任意のコンピュータ読取可能な媒体であっても良い。当該コンピュータ読取可能な媒体は、コマンドによりシステム、サーバ又は部品の使用を実行し又はそれらと組合わせて使用されるプログラムを送信し、伝播し又は伝送することができる。コンピュータ読取可能な媒体に含まれるプログラムコードは、任意の適当の媒体で伝送されても良く、無線、電線、光ケーブル、RFなど、或いは上記の任意の適当の組み合わせを含むが、それらに限定されない。
図面におけるフローチャート及びブロック図は、本発明の各実施形態によるシステム、方法及びコンピュータプログラム製品により実現可能なシステム構造、機能及び操作を示した。この点において、フローチャート又はブロック図における各ブロックは、一つのモジュール、プログラムセグメント、又はコードの一部を表すことができる。当該モジュール、プログラムセグメント、コードの一部には、一つ又は複数の所定のロジック機能を実現するための実行可能なコマンドが含まれる。注意すべきなのは、幾つかの置換としての実現において、ブロックに示される機能は図面に示される順序と異なって発生されても良い。例えば、二つの接続的に表示されるブロックは実際に基本的に併行に実行されても良く、場合によっては逆な順序で実行されても良く、関連の機能に従って決定される。
注意すべきなのは、ブロック図及び/又はフローチャートにおける各ブロック、及びブロック図及び/又はフローチャートにおけるブロックの組合わせは、所定の機能又は操作を実行する専用のハードウェアによるシステムで実現されても良く、或いは専用のハードウェアとコンピュータコードの組合わせで実現されても良い。
本発明の実施形態に説明されたユニットは、ソフトウェアの手段で実現されても良く、ハードウェアの手段で実現されても良い。説明されたユニットは、プロセッサに設置されても良い。例えば、受信ユニットと、解析ユニットと、配分ユニットと、処理ユニットとを備えるプロセッサとして記載されても良い。なお、これらのユニットの名称は場合によってユニットの自身に対する限定とされない。例えば、受信ユニットは、「所定のデータフォーマットのタスク記述情報を含むサービス情報をサーバから受信するユニット」と記載されても良い。
他の局面として、本発明は更にコンピュータ読取可能な媒体を提供した。当該コンピュータ読取可能な媒体は、上記実施形態に説明された装置に含まれたものであっても良く、当該装置に実装されずに別途に存在するものであっても良い。上記コンピュータ読取可能な媒体には、一つ又は複数のプログラムがロードされる。上記一つ又は複数のプログラムが当該装置により実行されると、当該装置に、タスク記述情報を含むサービス情報を受信した後、処理待ちタスクキューに配分し、その後に、処理待ちタスクキューにおける処理待ちタスクを処理するように実行させる。
以上の記載は、ただ本発明の好適な実施形態及び運用される技術原理に対する説明である。当業者であればわかるように、本発明にかかる発明範囲は、上記技術特徴の特定の組み合わせからなる技術案に限定されず、上記の発明構想から逸脱されない場合に上記技術特徴又は均等の特徴による任意の組み合わせで形成される他の技術案も同時に含まれべきである。例えば上記特徴と本発明に開示された(それらに限定されない)類似の機能を具備する技術特徴が互いに置換されて得られる技術案は該当する。

Claims (11)

  1. スマート装置のタスク処理方法であって、
    所定のデータフォーマットのタスク記述情報を含むサービス情報をサーバから受信するステップと、
    前記所定のデータフォーマットに基づいて、前記サービス情報を解析して、現在では前記スマート装置のプロセッサによって処理される処理待ちタスクを決定するステップと、
    前記処理待ちタスクを処理待ちタスクキューに配分するステップと、
    前記処理待ちタスクキューの種類に応じて、当該処理待ちタスクキューにおける処理待ちタスクを処理するステップと、を含み、
    処理待ちタスクを処理するステップにおいて、前記処理待ちタスクキューの種類が並行タスクキューであることに応答して、前記処理待ちタスクキューにおける処理待ちタスクを並行して処理するための、所定の数のスレッドを有する第1のスレッドプールを確立することと、前記処理待ちタスクキューにおける処理待ちタスクの数及びスレッドの待機時間に基づいて、第1のスレッドプールにおけるスレッドの数を動的に調整することとを含み、前記動的に調整することは、第1のスレッドプールにおいて待機時間が所定の時間閾値より長いスレッドを消除することを含む、
    ことを特徴とする方法。
  2. 前記処理待ちタスクキューは並行タスクキューであり、
    前記処理待ちタスクキューにおける処理待ちタスクを処理するステップは、
    前記処理待ちタスクキューが空白でないとともに、第1のスレッドプールにアイドルスレッドが存在することに応じて、前記処理待ちタスクキューの少なくとも一部の処理待ちタスクを前記第1のスレッドプールに追加するステップであって、前記少なくとも一部の処理待ちタスクにおける処理待ちタスクの数が、前記第1のスレッドプールにおけるアイドルスレッドの数以下であるステップと、
    前記少なくとも一部の処理待ちタスクが実行終了した後に、前記少なくとも一部の処理待ちタスクを前記処理待ちタスクキューから除去するステップと、
    を含むことを特徴とする請求項1に記載の方法。
  3. 前記処理待ちタスクキューはシリアルタスクキューであり、
    前記処理待ちタスクキューにおける処理待ちタスクを処理するステップは、
    処理中の処理待ちタスクが存在しないとともに、前記シリアルタスクキューが空白でないことに応じて、前記シリアルタスクキューの先頭に位置する処理待ちタスクを第1のタスクとして、シリアル処理ステップを実行するステップであって、前記シリアル処理ステップは、前記第1のタスクを実行した後に、前記第1のタスクを前記シリアルタスクキューから除去するステップである、ステップと、
    前記シリアルタスクキューが空白でないことに応じて、前記シリアルタスクキューの先頭に位置する処理待ちタスクを前記第1のタスクとして、前記シリアル処理ステップを継続する、ステップと、
    を含むことを特徴とする請求項1に記載の方法。
  4. 前記サービス情報は、前記スマート装置から受信されたイベント情報に基づいて前記サーバによって生成され、前記イベント情報は、前記スマート装置の音声入力情報と、処理待ちタスクを実行する期間の前記スマート装置の状態変化情報とのうち少なくとも1つを含む、
    ことを特徴とする請求項1に記載の方法。
  5. 前記イベント情報は、
    前記イベント情報に基づいてアップロード待ちイベントを生成するステップと、
    前記アップロード待ちイベントをアップロード待ちイベントキューに配分するステップと、
    前記アップロード待ちイベントキューにおけるアップロード待ちイベントを所定のデータフォーマットで前記サーバに送信するステップと、
    によって、前記サーバに送信される、
    ことを特徴とする請求項4に記載の方法。
  6. 前記アップロード待ちイベントキューにおけるアップロード待ちイベントを所定のデータフォーマットで前記サーバに送信するステップは、
    前記アップロード待ちイベントキューが空白でないとともに、第2のスレッドプールにアイドルスレッドが存在することに応じて、前記アップロード待ちイベントキューにおける少なくとも一部のアップロード待ちイベントを前記第2のスレッドプールに追加するステップであって、前記少なくとも一部のアップロード待ちイベントにおけるアップロード待ちイベントの数が、前記第2のスレッドプールにおけるアイドルスレッドの数以下である、ステップと、
    前記少なくとも一部のアップロード待ちイベントが実行完了した後に、前記少なくとも一部のアップロード待ちイベントを、アップロード待ちイベントキューから除去するステップと、
    を含むことを特徴とする請求項5に記載の方法。
  7. 前記スマート装置と前記サーバとの間に、再使用可能な通信リンクが存在する、
    ことを特徴とする請求項1乃至請求項6のいずれか一項に記載の方法。
  8. スマート装置のタスク処理装置であって、
    所定のデータフォーマットのタスク記述情報を含むサービス情報をサーバから受信する受信ユニットと、
    前記所定のデータフォーマットに基づいて、前記サービス情報を解析して、現在では前記タスク処理装置によって処理される処理待ちタスクを決定する解析ユニットと、
    前記処理待ちタスクを処理待ちタスクキューに配分する配分ユニットと、
    前記処理待ちタスクキューの種類に応じて、当該処理待ちタスクキューにおける処理待ちタスクを処理する処理ユニットと、を含み、
    前記処理ユニットは、さらに、前記処理待ちタスクキューの種類が並行タスクキューであることに応答して、前記処理待ちタスクキューにおける処理待ちタスクを並行して処理するための、所定の数のスレッドを有する第1のスレッドプールを確立し、前記処理待ちタスクキューにおける処理待ちタスクの数及びスレッドの待機時間に基づいて、第1のスレッドプールにおけるスレッドの数を動的に調整するように構成され、前記動的に調整することは、第1のスレッドプールにおいて待機時間が所定の時間閾値より長いスレッドを消除することを含む、
    ことを特徴とする装置。
  9. 一つ又は複数のプロセッサと、
    一つ又は複数のプログラムが記憶されている記憶装置と、を備え、
    前記一つ又は複数のプログラムが前記一つ又は複数のプロセッサにより実行されると、前記一つ又は複数のプロセッサに請求項1乃至請求項7のいずれか一項に記載の方法を実現させることを特徴とする機器。
  10. コンピュータプログラムが記憶されており、当該プログラムがプロセッサにより実行されると、請求項1乃至請求項7のいずれか一項に記載の方法を実現させることを特徴とするコンピュータ読取可能な記憶媒体。
  11. プロセッサにより実行されると、請求項1乃至請求項7のいずれか一項に記載の方法を実現させることを特徴とするコンピュータプログラム。
JP2018174147A 2017-11-30 2018-09-18 スマート装置のタスク処理方法および装置 Active JP7112919B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201711242775.XA CN107885590A (zh) 2017-11-30 2017-11-30 用于智能设备的任务处理方法和装置
CN201711242775.X 2017-11-30

Publications (2)

Publication Number Publication Date
JP2019102064A JP2019102064A (ja) 2019-06-24
JP7112919B2 true JP7112919B2 (ja) 2022-08-04

Family

ID=61776425

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018174147A Active JP7112919B2 (ja) 2017-11-30 2018-09-18 スマート装置のタスク処理方法および装置

Country Status (3)

Country Link
US (1) US11188380B2 (ja)
JP (1) JP7112919B2 (ja)
CN (1) CN107885590A (ja)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109086138A (zh) * 2018-08-07 2018-12-25 北京京东金融科技控股有限公司 数据处理方法和***
CN110837414B (zh) * 2018-08-15 2024-04-12 京东科技控股股份有限公司 任务处理方法和装置
CN109582445A (zh) * 2018-09-29 2019-04-05 阿里巴巴集团控股有限公司 消息处理方法、装置、电子设备及计算机可读存储介质
US11422856B2 (en) * 2019-06-28 2022-08-23 Paypal, Inc. Adaptive program task scheduling to blocking and non-blocking queues
CN112288198A (zh) * 2019-07-22 2021-01-29 北京车和家信息技术有限公司 任务处理***及方法
CN112667368A (zh) * 2019-10-16 2021-04-16 北京京东乾石科技有限公司 一种任务数据处理方法和装置
CN110764936A (zh) * 2019-10-28 2020-02-07 深圳前海微众银行股份有限公司 一种数据采集方法及装置
CN111158798A (zh) * 2019-12-27 2020-05-15 中国银行股份有限公司 一种业务数据处理方法及装置
CN113760482A (zh) * 2020-06-22 2021-12-07 北京沃东天骏信息技术有限公司 一种任务处理方法、装置和***
CN111831411A (zh) * 2020-07-01 2020-10-27 Oppo广东移动通信有限公司 任务处理方法、装置、存储介质及电子设备
CN111880910A (zh) * 2020-07-31 2020-11-03 北京小米移动软件有限公司 数据处理方法及装置、服务器及存储介质
CN112163468A (zh) * 2020-09-11 2021-01-01 浙江大华技术股份有限公司 基于多线程的图像处理方法及装置
CN113760177A (zh) * 2021-01-04 2021-12-07 北京沃东天骏信息技术有限公司 一种数据的上报方法和装置
CN113344375A (zh) * 2021-06-01 2021-09-03 北京十一贝科技有限公司 保险服务流程中的任务管理方法、装置、电子设备和介质
CN113391896B (zh) * 2021-06-15 2023-09-22 北京京东振世信息技术有限公司 任务处理方法及装置、存储介质及电子设备
CN113296915B (zh) * 2021-06-18 2023-07-18 瀚云科技有限公司 一种基于工业互联网平台的任务生成方法及***
CN113867916B (zh) * 2021-09-28 2024-05-07 北京百度网讯科技有限公司 任务处理方法、装置及电子设备
CN114567519B (zh) * 2022-02-28 2024-06-18 武汉世聪智能科技有限公司 一种多线程并行管理多个智能设备指令消息的方法及装置
CN114924877B (zh) * 2022-05-17 2023-10-17 江苏泰坦智慧科技有限公司 一种基于数据流的动态分配计算方法、装置和设备
CN115114028B (zh) * 2022-07-05 2023-04-28 南方电网科学研究院有限责任公司 一种电力仿真二次控制的任务分配方法及装置
CN116737330B (zh) * 2022-09-02 2024-05-07 荣耀终端有限公司 任务处理方法和电子设备
WO2024102236A1 (en) * 2022-11-11 2024-05-16 Microsoft Technology Licensing, Llc Dynamic thread count optimizations

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005276175A (ja) 2004-02-13 2005-10-06 Microsoft Corp 拡張性のあるプリントスプーラ
JP2011065645A (ja) 2009-09-18 2011-03-31 Square Enix Co Ltd マルチコアプロセッサシステム
JP2013500526A (ja) 2009-07-28 2013-01-07 テレフオンアクチーボラゲット エル エム エリクソン(パブル) 電気通信ネットワークにおけるイベントを処理するための装置および方法
JP2014518409A (ja) 2011-06-03 2014-07-28 アップル インコーポレイテッド 実行するタスクを表すタスク項目の生成及び処理

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6182109B1 (en) * 1996-03-08 2001-01-30 International Business Machines Corporation Dynamic execution unit management for high performance user level network server system
US7689989B2 (en) * 2004-12-28 2010-03-30 Sap Ag Thread monitoring using shared memory
KR20090006572A (ko) * 2007-07-12 2009-01-15 삼성전자주식회사 쓰레드 풀 관리 장치 및 방법
US9229779B2 (en) * 2009-12-28 2016-01-05 Empire Technology Development Llc Parallelizing heterogeneous network communications in smart devices based on selection of task allocation strategy
WO2013034801A2 (en) * 2011-09-09 2013-03-14 Nokia Corporation Method and apparatus for processing metadata in one or more media streams
CN102891779B (zh) * 2012-09-27 2014-10-22 北京网瑞达科技有限公司 用于ip网络的大规模网络性能测量***的测量方法
CN102930427A (zh) * 2012-11-15 2013-02-13 上海华勤通讯技术有限公司 日程管理方法及其移动终端
US9535759B2 (en) * 2014-05-23 2017-01-03 Osr Open Systems Resources, Inc. Work queue thread balancing
CN104407847B (zh) * 2014-10-29 2019-05-07 中国建设银行股份有限公司 一种批处理的方法及装置
US9569255B1 (en) * 2015-03-25 2017-02-14 Amazon Technologies, Inc. Persistent state machine
CN105608940A (zh) * 2016-03-16 2016-05-25 深圳市育成科技有限公司 交互定制计划式教学***及其教学方法
CN105847179B (zh) * 2016-03-23 2019-07-26 武汉绿色网络信息服务有限责任公司 一种dpi***中数据并发上报的方法及装置
CN107305548B (zh) * 2016-04-18 2020-02-28 北京国双科技有限公司 控制网络爬虫的任务分配方法和装置
US10552213B2 (en) * 2017-12-15 2020-02-04 Red Hat, Inc. Thread pool and task queuing method and system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005276175A (ja) 2004-02-13 2005-10-06 Microsoft Corp 拡張性のあるプリントスプーラ
JP2013500526A (ja) 2009-07-28 2013-01-07 テレフオンアクチーボラゲット エル エム エリクソン(パブル) 電気通信ネットワークにおけるイベントを処理するための装置および方法
JP2011065645A (ja) 2009-09-18 2011-03-31 Square Enix Co Ltd マルチコアプロセッサシステム
JP2014518409A (ja) 2011-06-03 2014-07-28 アップル インコーポレイテッド 実行するタスクを表すタスク項目の生成及び処理

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
平野 敬幸、BANCS接続システム(3) ーホストオンライン処理に要求される信頼性・パフォーマンスの実現、技報 UNISYS TECHNOLOGY REVIEW、日本ユニシス株式会社、2002年11月30日、第22巻、第3号、42-53ページ

Also Published As

Publication number Publication date
US11188380B2 (en) 2021-11-30
US20190163524A1 (en) 2019-05-30
CN107885590A (zh) 2018-04-06
JP2019102064A (ja) 2019-06-24

Similar Documents

Publication Publication Date Title
JP7112919B2 (ja) スマート装置のタスク処理方法および装置
CN109033001B (zh) 用于分配gpu的方法和装置
WO2017041398A1 (zh) 数据传输方法和装置
CN107832143B (zh) 一种物理机资源的处理方法和装置
CN111580974B (zh) Gpu实例分配方法、装置、电子设备和计算机可读介质
CN108733527B (zh) 用于测试服务器功能的***、方法和装置
CN110288683B (zh) 用于生成信息的方法和装置
CN112104679B (zh) 处理超文本传输协议请求的方法、装置、设备和介质
CN114244821B (zh) 数据处理方法、装置、设备、电子设备和存储介质
CN112398669A (zh) 一种Hadoop部署方法和装置
CN114296953A (zh) 一种多云异构***及任务处理方法
CN110113176B (zh) 用于配置服务器的信息同步方法及装置
CN111435315A (zh) 分配资源的方法、装置、设备和计算机可读介质
CN110716809B (zh) 用于调度云资源的方法和装置
CN111124708B (zh) 面向微服务的批推理方法、服务器和计算机可读存储介质
CN108989157B (zh) 用于智能设备控制的方法、装置
CN113556387A (zh) 边缘网关控制方法及***、装置、电子设备、存储介质
CN115865974A (zh) 边缘设备、云端设备、边缘计算***及方法和存储介质
CN112667368A (zh) 一种任务数据处理方法和装置
CN111477229B (zh) 语音识别请求处理方法和装置
CN115454666A (zh) 消息队列集群间的数据同步方法和装置
CN113127561B (zh) 业务单号的生成方法、装置、电子设备和存储介质
CN113760482A (zh) 一种任务处理方法、装置和***
CN114125684B (zh) 智能音箱测试方法、装置、电子设备和存储介质
US11902346B2 (en) Method and apparatus for processing streaming media service, electronic device, and storage medium

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181016

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181018

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191030

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191126

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200226

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201006

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20210105

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210210

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20210531

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20210831

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211224

C60 Trial request (containing other claim documents, opposition documents)

Free format text: JAPANESE INTERMEDIATE CODE: C60

Effective date: 20211224

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20220124

C21 Notice of transfer of a case for reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C21

Effective date: 20220125

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20220304

C211 Notice of termination of reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C211

Effective date: 20220308

C22 Notice of designation (change) of administrative judge

Free format text: JAPANESE INTERMEDIATE CODE: C22

Effective date: 20220517

C23 Notice of termination of proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C23

Effective date: 20220614

C03 Trial/appeal decision taken

Free format text: JAPANESE INTERMEDIATE CODE: C03

Effective date: 20220712

C30A Notification sent

Free format text: JAPANESE INTERMEDIATE CODE: C3012

Effective date: 20220712

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220725

R150 Certificate of patent or registration of utility model

Ref document number: 7112919

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150