Method and apparatus for scheduling concurrent task among service servers by using processing thread

US10067789B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10067789-B2
Application numberUS-201615204424-A
CountryUS
Kind codeB2
Filing dateJul 7, 2016
Priority dateApr 3, 2014
Publication dateSep 4, 2018
Grant dateSep 4, 2018

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A method for scheduling a concurrent task includes: receiving an uploaded service request, and encapsulating the service request into a task object; acquiring a processing thread, and allocating the task object to the processing thread, so that the processing thread selects a service server and sends the task object to the selected service server for processing; and receiving, by using the processing thread, a processing result returned by the service server, generating a response according to the processing result, and returning the response.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for scheduling a concurrent task, performed by an ingress node connected to a plurality of service servers, wherein the method comprises: receiving an uploaded service request from a client, and encapsulating the service request into a task object, wherein the task object comprises parameters about contents required to be serviced; splitting the task object into subtask objects with each subtask object comprising a parameter about a content required to be serviced by the subtask object, acquiring a service type of the subtask object, and allocating a processing thread corresponding to the service type of the subtask object for the subtask object, so that the corresponding processing thread selects a service server from the plurality of service servers, forms a converted subtask object in a preset text protocol format by extracting the parameter in the subtask object and sends the converted subtask object to the selected service server for processing, wherein the preset text protocol format comprises a subtask identifier and a protocol content for performing the processing by the selected service server according to the subtask identifier; and receiving, by using each of the processing threads, a processing result returned by the corresponding service server of a corresponding subtask, generating a corresponding response according to the processing results, and returning, by using the ingress node, a response that integrates the responses from the processing threads to the client. 2. The method for scheduling a concurrent task according to claim 1 , after the step of encapsulating the service request into a task object, further comprising: buffering the task object, which is obtained through encapsulation, in a preset task queue according to a sequence in which the service request is received. 3. The method for scheduling a concurrent task according to claim 2 , before the step of allocating the task object to the processing thread, further comprising: extracting, in a first-in-first-out mode, the task object from the task queue. 4. The method for scheduling a concurrent task according to claim 1 , wherein the step of selecting, by the processing thread, a service server comprises: acquiring, by the processing thread, a service type of the allocated subtask object, and selecting a service server corresponding to the service type. 5. An apparatus for scheduling a concurrent task, wherein the apparatus is connected to a plurality of service servers and the apparatus comprises a processor and a software module executed by the processor, and the software module comprises: a request receiving module, configured to receive an uploaded service request from a client, and encapsulate the service request into a task object, wherein the task object comprises parameters about contents required to be serviced; a task allocation module, configured to split the task object into subtask objects, with each subtask object comprising a parameter about a content required to be serviced by the subtask object, acquire a service type of the subtask object, and allocate a processing thread corresponding to the service type of the subtask object for the subtask object, so that the corresponding processing thread selects a service server from the plurality of service servers, forms a converted subtask object in a preset text protocol format by extracting the parameter in the subtask object and sends the converted subtask object to the selected service server for processing, wherein the preset text protocol format comprises a subtask identifier and a protocol content for performing the processing by the selected service server according to the subtask identifier; and a response generation module, configured to receive, by using each of the processing threads, a processing result returned by the corresponding service server of a corresponding subtask, generate, for each of the processing threads, a response according to the processing result of a corresponding processing thread, and return a response that integrates the processing results from the processing threads to the client. 6. The apparatus for scheduling a concurrent task according to claim 5 , wherein the request receiving module is further configured to buffer the task object, which is obtained through encapsulation, in a preset task queue according to a sequence in which the service request is received; and the task allocation module is further configured to extract, in a first-in-first-out mode, the task object from the task queue. 7. The apparatus for scheduling a concurrent task according to claim 5 , wherein the task allocation module is further configured so that the processing thread acquires a service type of the allocated subtask object and selects a service server corresponding to the service type. 8. A method for scheduling a concurrent task, comprising: receiving, by an ingress node connected to a plurality of service servers, a service request uploaded by a client, encapsulating the service request into a task object, wherein the task object comprises parameters about contents required to be serviced, splitting the task object into subtask objects with each subtask object comprising a parameter about a content required to be serviced by the subtask object, acquiring a service type of the subtask object, and allocating a processing thread corresponding to the service type of the subtask object for the subtask object, so that the corresponding processing thread selects a service server from the plurality of service servers, forms a converted subtask object in a preset text protocol format by extracting the parameter in the subtask object and sends the converted subtask object to the selected service server for processing, wherein the preset text protocol format comprises a subtask identifier and a protocol content for performing the processing by the selected service server according to the subtask identifier; generating, by the service node by performing read and write operations on a data node corresponding to the service node, a processing result corresponding to the task object, and returning the processing result to the ingress node; and receiving, by the ingress node by using each of the processing threads, the processing result returned by the corresponding service server of a corresponding subtask, generating a corresponding response according to the processing results, and returning, by using the ingress node, a response that integrates the responses from the processing threads to the client.

Assignees

Inventors

Classifications

  • Techniques for rebalancing the load in a distributed system · CPC title

  • G06F9/4881Primary

    Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues · CPC title

  • G06F9/505Primary

    considering the load · CPC title

  • Thread allocation · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10067789B2 cover?
A method for scheduling a concurrent task includes: receiving an uploaded service request, and encapsulating the service request into a task object; acquiring a processing thread, and allocating the task object to the processing thread, so that the processing thread selects a service server and sends the task object to the selected service server for processing; and receiving, by using the proc…
Who is the assignee on this patent?
Tencent Tech Shenzhen Co Ltd
What technology area does this patent fall under?
Primary CPC classification G06F9/4881. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Sep 04 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).