US10303509B2 - Distributed task system based on internet of things and service processing method for distributed tasks based on the same - Google Patents

Distributed task system based on internet of things and service processing method for distributed tasks based on the same Download PDF

Info

Publication number
US10303509B2
US10303509B2 US15/545,697 US201615545697A US10303509B2 US 10303509 B2 US10303509 B2 US 10303509B2 US 201615545697 A US201615545697 A US 201615545697A US 10303509 B2 US10303509 B2 US 10303509B2
Authority
US
United States
Prior art keywords
execution
processing unit
service processing
task
service
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, expires
Application number
US15/545,697
Other versions
US20180004568A1 (en
Inventor
Haiming Qiao
Jinxiang Shen
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.)
Sengled Optoelectronics Co Ltd
Original Assignee
Sengled Optoelectronics 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 Sengled Optoelectronics Co Ltd filed Critical Sengled Optoelectronics Co Ltd
Assigned to SENGLED OPTOELECTRONICS CO., LTD reassignment SENGLED OPTOELECTRONICS CO., LTD ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: QIAO, Haiming, SHEN, JINXIANG
Publication of US20180004568A1 publication Critical patent/US20180004568A1/en
Application granted granted Critical
Publication of US10303509B2 publication Critical patent/US10303509B2/en
Active legal-status Critical Current
Adjusted 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/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • G06F9/4818Priority circuits therefor
    • 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
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • 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/5061Partitioning or combining of resources
    • G06F9/5066Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
    • 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

Definitions

  • the present disclosure generally relates to the field of internet of things and, more particularly, relates to a distributed task system and a service processing method based on internet of things.
  • Current software services may include use of a single smart device for a single service. Every time when a new smart device is connected or is used to process a task, a related function corresponding to the connection or task processing of the new smart device has to be developed and redeployed.
  • Another software service may use a load balancing method to relocate a request from a smart device to different processing units to realize a load balance among the different processing units.
  • the service function needs are closely coupled with the software services.
  • a connectivity or task processing of a new smart device may require a modification of the software.
  • a distributed task system based on internet of things and a service processing method for distributed tasks based on internet of things are provided.
  • An aspect of the present disclosure provides a distributed task system based on internet of things.
  • the system can include: a trigger configured for receiving data sent by at least a smart device and a user in the internet of things; a task scheduling module electrically connected to the trigger; and a plurality of processing units, wherein: the task scheduling module is configured for: instantiating a service processing flow according to the data received by the trigger, and sequentially scheduling and starting one or more of the plurality of processing units according to the service processing flow; each of the one or more processing units is configured for: executing a certain stage task of the service processing flow, and sending an execution result of the certain stage of the service processing flow back to the task scheduling module; and the task scheduling module is further configured for notifying the smart device or the user of a final execution result of one processing unit that executes a final stage task of the service processing flow.
  • the task scheduling module is further configured for monitoring an execution status of each of the one or more processing units.
  • the execution status of a processing unit includes an execution success state.
  • the task scheduling module is further configured for: when the execution state of an n th processing unit is an execution success state, scheduling and staring an (n+1) th processing unit according to an execution result transmitted from the n th processing unit, wherein number n is a positive integer between 1 and (N ⁇ 1), number N is a total number of the one or more of the plurality of processing units that execute the service processing flow.
  • the execution status of a processing unit includes an execution time-out state and an execution failure state.
  • the task scheduling module is further configured for: in response to a determination that n is equal to 1 and the execution status of the n th processing unit is an execution failure state or an execution timeout state, re-scheduling the n th processing unit according to the data received by the trigger; and in response to a determination that n is larger than 1 and the execution status of the n th processing unit is an execution failure state or an execution timeout state, re-scheduling the n th processing unit according to the execution result transmitted from the (n ⁇ 1) th processing unit.
  • the task scheduling module is further configured for: in response to a determination that the execution status of the n th processing unit is an execution failure state or an execution timeout state, cancelling the corresponding stage of the service processing flow executed by the n th processing unit.
  • the task scheduling module is further configured for: recording a failure value that indicates a number of times when the execution status of a processing unit is an execution failure state; and when the failure value is larger than a preset threshold value, scheduling and starting another processing unit to execute a corresponding failed stage task of the service processing flow.
  • the task scheduling module is further configured for: when a single processing unit is used to execute different service processing flows, determining priorities of the different service processing flows, and scheduling the single processing unit to sequentially execute the service processing flows based on the priorities.
  • the distributed task system further includes a storage module electrically connected to the task scheduling module, wherein the storage module is configured for storing identifications of the one or more of the plurality of processing units that execute different stage tasks of the service processing flow in a form of a queue; and wherein the task scheduling module is further configured for sequentially scheduling the one or more of the plurality of processing units to execute corresponding stages of the service processing flow based on the identifications of the one or more of the plurality of processing units stored in the queue.
  • Another aspect of the disclosed subject matter provides a service processing method for distributed tasks based on internet of things, comprising: receiving data sent by at least a smart device and a user in the internet of things; instantiating a service processing flow according to the data; according to the service processing flow, sequentially scheduling and starting one or more of a plurality of processing units to execute different stage tasks of the service processing flow; and notifying the smart device or the user of a final execution result of one processing unit that executes a final stage task of the service processing flow.
  • the method further includes monitoring an execution status of each of the one or more of the plurality of processing units.
  • the execution status of a processing unit includes an execution success state.
  • the method further includes: when the execution state of an n th processing unit is an execution success state, scheduling and staring an (n+1) th processing unit according to an execution result transmitted from the n th processing unit, wherein number n is a positive integer between 1 and (N ⁇ 1), number N is a total number of the one or more of the plurality of processing units that execute the service processing flow.
  • the execution status of a processing unit includes an execution time-out state and an execution failure state.
  • the method further includes: in response to a determination that n is equal to 1 and the execution status of the n th processing unit is an execution failure state or an execution timeout state, re-scheduling the n th processing unit according to the data received by the trigger; and in response to a determination that n is larger than 1 and the execution status of the n th processing unit is an execution failure state or an execution timeout state, re-scheduling the n th processing unit according to the execution result transmitted from the (n ⁇ 1) th processing unit.
  • the method further includes: in response to a determination that the execution status of the n th processing unit is an execution failure state or an execution timeout state, cancelling the corresponding stage of the service processing flow executed by the n th processing unit.
  • the method further includes recording a failure value that indicates a number of times when the execution status of a processing unit is an execution failure state; and when the failure value is larger than a preset threshold value, scheduling and starting another processing unit to execute a corresponding failed stage task of the service processing flow.
  • the method further includes: when a single processing unit is used to execute different service processing flows, determining priorities of the different service processing flows, and scheduling the single processing unit to sequentially execute the service processing flows based on the priorities.
  • the method further includes: storing identifications of the one or more of the plurality of processing units that execute different stage tasks of the service processing flow in a form of a queue; and sequentially scheduling the one or more of the plurality of processing units to execute corresponding stages of the service processing flow based on the identifications of the one or more of the plurality of processing units stored in the queue.
  • FIG. 1 is a schematic structural diagram of an exemplary distributed task system based on internet of things in accordance with various embodiments of the present disclosure
  • FIG. 2 is a schematic logical structural diagram of data processing of a distributed task system based on internet of things in accordance with various embodiments of the present disclosure
  • FIG. 3 is a schematic structural diagram of another exemplary distributed task system based on internet of things in accordance with various embodiments of the present disclosure.
  • FIG. 4 is a schematic flowchart of an exemplary service processing method for distributed tasks based on internet of things in accordance with various embodiments of the present disclosure.
  • the present disclosure provides a distributed task system based on internet of things and a service processing method for distributed tasks based on internet of things.
  • the term of internet of things used herein is referred to an internetworking of physical objects. Clearly, the core and foundation of the internet of things is still the Internet.
  • the internet of things is an expanded and extended network based on the Internet.
  • the user terminals of the internet of things can be expanded and extended to any objects and items for information exchange and communication.
  • the smart devices in the internet of things can have several notable features.
  • the smart devices in the internet of things can have a variety of different types, such as smart lighting devices, smart home appliances, smart life health devices, smart furniture, smart industrial devices, smart security devices, etc.
  • the smart devices in the internet of things can have a huge amount.
  • the smart devices in the internet of things can be in an online status at any time.
  • Various smart devices can be connected to the Internet and be kept online for a certain period of time. As such, the users may access their smart devices from anywhere at any time.
  • FIG. 1 a schematic structural diagram of an exemplary distributed task system based on internet of things is shown in accordance with various embodiments of the present disclosure.
  • the distributed tasks system 10 based on internet of things can include a trigger 11 , a task scheduling module 12 , and multiple processing units 13 .
  • the trigger 11 can be used for receiving data sent by one or more smart devices in the internet of things, or data inputted by one or more users of the internet of things.
  • the task scheduling module 12 is electrically connected to the trigger 11 .
  • the task scheduling module 12 can be used for instantiating a service processing flow according to the data sent by the smart devices or the data inputted by the users.
  • the task scheduling module 12 can be further used for sequentially scheduling and starting a set of the multiple processing units 13 according to the service processing flow.
  • Each of the multiple processing units 13 can be used for executing at a certain stage of the service processing flow, and for sending execution results back to the task scheduling module 12 .
  • the task scheduling module 12 is further used for notifying the one or more smart devices or the one or more users of an execution result of one processing unit that executes at a final stage of the service processing flow.
  • the trigger 11 receives the data sent by the one or more smart devices in the internet of things, or receives the data inputted by the one or more users of the internet of things, it can be determined that whether the received data meets conditions of a predefined service processing flow.
  • the trigger 11 can trigger the task scheduling module 12 to instantiate the service processing flow.
  • the task scheduling module 12 can schedule and start a first processing unit. After running of a first stage (or first stage task) of the service processing flow, the first processing unit can return an execution result to the task scheduling module 12 . Based on the execution result of the first processing unit, the task scheduling module 12 can select, schedule, and start a second processing unit. Then a second stage of the service processing flow can be executed. And the process can go on, and finally complete the entire service processing flow.
  • a logical structure of the distributed task system 10 based on internet of things can be described from an aspect of data processing in the following.
  • the logical structure of the system can include a data access layer 21 , a data analysis layer 22 , a data distribution layer 23 , and a service processing layer 24 .
  • the data access layer 21 can include a large number of parallel service operations to process the data transmitted from the smart devices or inputted by the users.
  • the data transmitted from a smart device can include data generated by a user clicking on a button of the smart device, and include data entered by a user by an input component of the smart device, such as, data inputted by the user on a touch screen of a smartphone.
  • the data analysis layer 22 can instantiate a service processing flow through corresponding logical processing, e.g., merging, the data transmitted from the smart devices, or the data inputted by the users.
  • the data distribution layer 23 can forwards the service processing flow obtained from the data analysis layer 22 to corresponding processing units through certain logics. In this process, the data distribution layer 23 can consider a carrying capacity of the processing units, and all possibly generated orders.
  • the service processing layer 24 can implement the service processing flow based on the predefined corresponding service processing flow, and can store/forward the data, or re-enters the data processing process. In this case, data flow loop must be considered.
  • the trigger 11 is located in the data access layer 21
  • the task scheduling module 12 is located in the data analysis layer 22 and the data distribution layer 23
  • the processing unit 13 is located in the service processing layer 24 .
  • a series of processing units can be combined as an execution subject that process a task at a certain stage of the service processing flow. And the service processing flow can be initiated through the trigger 11 .
  • an expletory number of the processing units 13 illustrated is two. However, any suitable positive integer number of processing units 13 can be used, and may not be limited herein according to various embodiments of the present disclosure.
  • processing units 13 may be embodied as processors or servers.
  • the numbers of the trigger 11 and the processing units 13 illustrated in FIG. 1 are only exemplary, and should not be limited herein according to various embodiments of the present disclosure.
  • the disclosed distributed task system based on internet of things can instantiate a service processing flow according to data sent by smart devices or inputted by the users.
  • the disclosed system can sequentially schedule and start multiple processing units to execute different tasks at certain stages of the service processing flow.
  • a final execution result from a processing unit that executes a final stage of the service processing flow can be notified to one or more smart devices or users.
  • the task scheduling module 12 is further used for monitoring an execution status of each processing unit in the internet of things.
  • the execution status of a processing unit may include an execution success state.
  • the (n+1) th processing unit is scheduled and started by the task scheduling module 12 according to the execution result transmitted from the n th processing unit.
  • Number n is a positive integer between 1 and N ⁇ 1
  • number N is a total number of all processing units that execute tasks in the service processing flow.
  • the task scheduling module 12 can schedule and start the second processing unit based on the execution result transmitted from the first processing unit. And the process can go on until the task scheduling module 12 obtains a final execution result transmitted from the fifth processing unit.
  • the execution status of a processing unit may also include an execution time-out state and an execution failure state.
  • the task scheduling module 12 is further used for, in response to a determination that n is equal to 1 and the execution status of the n th processing unit is an execution failure state or an execution timeout state, re-scheduling the n th processing unit according to the data transmitted from the smart device or inputted by the user.
  • the task scheduling module 12 is further used for, in response to a determination that n is larger than 1 and the execution status of the n th processing unit is an execution failure state or an execution timeout state, re-scheduling the n th processing unit according to the execution result transmitted from the (n ⁇ 1) th processing unit.
  • the task scheduling module 12 is further used for, in response to a determination that the execution status of the n th processing unit is an execution failure state or an execution timeout state, cancelling the task executed by the n th processing unit.
  • the task scheduling module 12 is further used for recording a failure value that indicates a number of times when the execution status of a processing unit is an execution failure state.
  • the failure value is larger than a preset threshold value, the task scheduling module 12 can schedule and start one or more processing units to execute the failed stage of the service processing flow.
  • a special processing unit may be provided in advance for only executing the failed stage of the service processing flow.
  • the example is not limited in the present disclosure.
  • the task scheduling module can monitor the execution status of the processing units. Since the execution status of the processing units can reflect a frequency of the service processing, the hot spots and performance bottleneck of the service can be acknowledged in real-time by monitoring the execution status of the processing units.
  • the task scheduling module 12 can be configured for, determining priorities of the different service processing flows, and scheduling the single processing unit to sequentially execute tasks in the service processing flows based on the priorities.
  • the priorities of the different service processing flows can be reflected by using weight values.
  • a processing unit 13 is used to execute a first stage of a service processing flow 1 and a first stage of a service processing flow 2 . It can be determined that a priority of the processing unit 13 to execute the first stage of the service processing flow 1 is weighted as 0.4, and a priority of the processing unit 13 to execute the first stage of the service processing flow 2 is weighted as 0.1. Therefore, the task scheduling module 12 can schedule the processing unit 13 to execute the first stage of the service processing flow 1 first.
  • FIG. 3 a schematic structural diagram of another exemplary distributed task system based on internet of things is illustrated in accordance with various embodiments of the present disclosure.
  • the system 30 for distributed tasks based on internet of things further includes a storage module 31 .
  • the storage module 31 is electrically connected to the task scheduling module 12 .
  • the storage module 31 can be used for storing identifications of the multiple processing units that execute different stages (or stage tasks) of a service processing flow in a form of a queue.
  • the task scheduling module 12 can be configured for sequentially scheduling the multiple processing units to execute corresponding stage tasks of the service processing flow based on the identifications of the multiple processing units stored in the queue.
  • the disclosed system including the storage module can store the identifications of the processing units that execute different stage tasks of a service processing flow in a queue, so as to ensure a scheduling order of the processing units and to guarantee a normal progress of the service processing flow.
  • the disclosed distributed task system based on internet of things can expand processing units in real time according to traffic load.
  • a service capability of the system can be enhanced, an automatic operation and maintenance can be realized, and a manual input can be reduced.
  • the service processing method for distributed tasks based on internet of things can include the following steps.
  • step 401 data sent by one or more smart devices in the internet of things, or data inputted by one or more users of the internet of things can be received.
  • a service processing flow can be instantiated according to the data sent by the smart devices or the data inputted by the users.
  • a set of processing units can be sequentially scheduled and started according to the service processing flow.
  • Each processing unit can be used for executing a certain stage of the service processing flow.
  • an execution result of one processing unit that executes a final stage of the service processing flow can be notified to the one or more smart devices or users.
  • the disclosed service processing method can be implemented by the disclosed distributed task system based on internet of things discussed above in connection with FIG. 1 .
  • the disclosed service processing method can further include monitoring an execution status of each processing unit in the internet of things.
  • the execution status of a processing unit may include an execution success state.
  • the (n+1) th processing unit can be scheduled and started according to the execution result transmitted from the n th processing unit.
  • Number n is a positive integer between 1 and (N ⁇ 1), and number N is a total number of all processing units that execute tasks of the service processing flow.
  • the execution status of a processing unit may further include an execution time-out state and an execution failure state.
  • the disclosed service processing method can further include, in response to a determination that n is equal to 1 and the execution status of the n th processing unit is an execution failure state or an execution timeout state, re-scheduling the n th processing unit according to the data transmitted from the smart device or inputted by the user.
  • the disclosed service processing method can further include, in response to a determination that n is larger than 1 and the execution status of the n th processing unit is an execution failure state or an execution timeout state, re-scheduling the n th processing unit according to the execution result transmitted from the (n ⁇ 1) th processing unit.
  • the disclosed service processing method can further include, in response to a determination that the execution status of the n th processing unit is an execution failure state or an execution timeout state, cancelling the task executed by the n th processing unit.
  • the disclosed service processing method can include recording a failure value that indicates a number of times when the execution status of a processing unit is an execution failure state.
  • the failure value is larger than a preset threshold value, one or more processing units can be scheduled and started to execute the failed stage task of the service processing flow.
  • the disclosed service processing method can include determining priorities of the different service processing flows, and scheduling the single processing unit to sequentially execute the service processing flows based on the priorities.
  • the disclosed service processing method can further include storing identifications of the multiple processing units that execute different stages of a service processing flow in a form of a queue. Accordingly, the multiple processing units can be sequentially scheduled and started to execute corresponding stages of the service processing flow based on the identifications of the multiple processing units stored in the queue.
  • the task scheduling module 12 can generate a special task scheduling explorer for each instantiated service processing flow. In this case, for each instantiated service processing flow, the task scheduling module 12 only schedules and starts a first processing unit of the instantiated service processing flow, and transmits the special task scheduling explorer for the instantiated service processing flow to the first processing unit.
  • the first processing unit can use the special task scheduling explorer to determine a second processing unit to be scheduled and started based on an execution result of the first stage task of the service processing flow. Then the execution result of the first stage task of the service processing flow and the special task scheduling explorer of the instantiated service processing flow can be transmitted directly from the first processing unit to the second processing unit. And a second stage task of the service processing flow can be executed by the second processing unit. And the second processing unit can use the special task scheduling explorer to determine a third processing unit to be scheduled and started based on an execution result of the second stage task of the service processing flow. And the process can go on, and finally complete the entire service processing flow.
  • the program may be stored in a computer-readable storage medium.
  • the storage medium can include various kinds of media, such as a ROM, a RAM, a magnetic disk, or an optical disk, on which program codes can be stored.
  • a distributed task system based on internet of things and a service processing method for distributed tasks based on internet of things are provided.

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)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Debugging And Monitoring (AREA)

Abstract

A distributed task system based on internet of things and a related service processing method are provided. The system can include a trigger for receiving data sent by a smart device or a user in the internet of things, a task scheduling module and a plurality of processing units. The task scheduling module can instantiate a service processing flow according to the data received by the trigger, and can sequentially schedule and start multiple processing units according to the service processing flow. Each processing units can execute a certain stage task of the service processing flow, and send an execution result of the certain stage of the service processing flow back to the task scheduling module. And the task scheduling module can notify the smart device or the user of a final execution result of one processing unit that executes a final stage task of the service processing flow.

Description

CROSS-REFERENCES TO RELATED APPLICATIONS
This application is a national phase entry under 35 U.S.C. § 371 of International Application No. PCT/CN2016/109327, filed on Dec. 9, 2016, which claims priority of Chinese Patent Application No. 201511025583.4, filed on Dec. 30, 2015, The above enumerated patent applications are incorporated by reference herein in their entirety.
TECHNICAL FIELD
The present disclosure generally relates to the field of internet of things and, more particularly, relates to a distributed task system and a service processing method based on internet of things.
BACKGROUND
As smart devices have been widely used in all aspects of people's day-to-day life, internet of things, which promotes connections between smart devices and users, is currently rising rapidly. The software services in the internet of things need to face a complicated connectivity and task processing of a large number of users and a large number of different types of smart devices.
Current software services may include use of a single smart device for a single service. Every time when a new smart device is connected or is used to process a task, a related function corresponding to the connection or task processing of the new smart device has to be developed and redeployed.
Another software service may use a load balancing method to relocate a request from a smart device to different processing units to realize a load balance among the different processing units. In this case, the service function needs are closely coupled with the software services. Thus, a connectivity or task processing of a new smart device may require a modification of the software.
Further, the current software services have a common, slow response problem.
Accordingly, it is desirable to provide a distributed task system based on internet of things and a service processing method for distributed tasks based on internet of things.
BRIEF SUMMARY
In accordance with embodiments of the present disclosure, a distributed task system based on internet of things and a service processing method for distributed tasks based on internet of things are provided.
An aspect of the present disclosure provides a distributed task system based on internet of things. The system can include: a trigger configured for receiving data sent by at least a smart device and a user in the internet of things; a task scheduling module electrically connected to the trigger; and a plurality of processing units, wherein: the task scheduling module is configured for: instantiating a service processing flow according to the data received by the trigger, and sequentially scheduling and starting one or more of the plurality of processing units according to the service processing flow; each of the one or more processing units is configured for: executing a certain stage task of the service processing flow, and sending an execution result of the certain stage of the service processing flow back to the task scheduling module; and the task scheduling module is further configured for notifying the smart device or the user of a final execution result of one processing unit that executes a final stage task of the service processing flow.
In some embodiments, the task scheduling module is further configured for monitoring an execution status of each of the one or more processing units.
In some embodiments, the execution status of a processing unit includes an execution success state.
In some embodiments, the task scheduling module is further configured for: when the execution state of an nth processing unit is an execution success state, scheduling and staring an (n+1)th processing unit according to an execution result transmitted from the nth processing unit, wherein number n is a positive integer between 1 and (N−1), number N is a total number of the one or more of the plurality of processing units that execute the service processing flow.
In some embodiments, the execution status of a processing unit includes an execution time-out state and an execution failure state.
In some embodiments, the task scheduling module is further configured for: in response to a determination that n is equal to 1 and the execution status of the nth processing unit is an execution failure state or an execution timeout state, re-scheduling the nth processing unit according to the data received by the trigger; and in response to a determination that n is larger than 1 and the execution status of the nth processing unit is an execution failure state or an execution timeout state, re-scheduling the nth processing unit according to the execution result transmitted from the (n−1)th processing unit.
In some embodiments, the task scheduling module is further configured for: in response to a determination that the execution status of the nth processing unit is an execution failure state or an execution timeout state, cancelling the corresponding stage of the service processing flow executed by the nth processing unit.
In some embodiments, the task scheduling module is further configured for: recording a failure value that indicates a number of times when the execution status of a processing unit is an execution failure state; and when the failure value is larger than a preset threshold value, scheduling and starting another processing unit to execute a corresponding failed stage task of the service processing flow.
In some embodiments, the task scheduling module is further configured for: when a single processing unit is used to execute different service processing flows, determining priorities of the different service processing flows, and scheduling the single processing unit to sequentially execute the service processing flows based on the priorities.
In some embodiments, the distributed task system further includes a storage module electrically connected to the task scheduling module, wherein the storage module is configured for storing identifications of the one or more of the plurality of processing units that execute different stage tasks of the service processing flow in a form of a queue; and wherein the task scheduling module is further configured for sequentially scheduling the one or more of the plurality of processing units to execute corresponding stages of the service processing flow based on the identifications of the one or more of the plurality of processing units stored in the queue.
Another aspect of the disclosed subject matter provides a service processing method for distributed tasks based on internet of things, comprising: receiving data sent by at least a smart device and a user in the internet of things; instantiating a service processing flow according to the data; according to the service processing flow, sequentially scheduling and starting one or more of a plurality of processing units to execute different stage tasks of the service processing flow; and notifying the smart device or the user of a final execution result of one processing unit that executes a final stage task of the service processing flow.
In some embodiments, the method further includes monitoring an execution status of each of the one or more of the plurality of processing units.
In some embodiments, the execution status of a processing unit includes an execution success state.
In some embodiments, the method further includes: when the execution state of an nth processing unit is an execution success state, scheduling and staring an (n+1)th processing unit according to an execution result transmitted from the nth processing unit, wherein number n is a positive integer between 1 and (N−1), number N is a total number of the one or more of the plurality of processing units that execute the service processing flow.
In some embodiments, the execution status of a processing unit includes an execution time-out state and an execution failure state.
In some embodiments, the method further includes: in response to a determination that n is equal to 1 and the execution status of the nth processing unit is an execution failure state or an execution timeout state, re-scheduling the nth processing unit according to the data received by the trigger; and in response to a determination that n is larger than 1 and the execution status of the nth processing unit is an execution failure state or an execution timeout state, re-scheduling the nth processing unit according to the execution result transmitted from the (n−1)th processing unit.
In some embodiments, the method further includes: in response to a determination that the execution status of the nth processing unit is an execution failure state or an execution timeout state, cancelling the corresponding stage of the service processing flow executed by the nth processing unit.
In some embodiments, the method further includes recording a failure value that indicates a number of times when the execution status of a processing unit is an execution failure state; and when the failure value is larger than a preset threshold value, scheduling and starting another processing unit to execute a corresponding failed stage task of the service processing flow.
In some embodiments, the method further includes: when a single processing unit is used to execute different service processing flows, determining priorities of the different service processing flows, and scheduling the single processing unit to sequentially execute the service processing flows based on the priorities.
In some embodiments, the method further includes: storing identifications of the one or more of the plurality of processing units that execute different stage tasks of the service processing flow in a form of a queue; and sequentially scheduling the one or more of the plurality of processing units to execute corresponding stages of the service processing flow based on the identifications of the one or more of the plurality of processing units stored in the queue.
Other aspects of the present disclosure can be understood by those skilled in the art in light of the description, the claims, and the drawings of the present disclosure.
BRIEF DESCRIPTION OF THE DRAWINGS
Various objects, features, and advantages of the present disclosure can be more fully appreciated with reference to the following detailed description of the present disclosure when considered in connection with the following drawings, in which like reference numerals identify like elements. It should be noted that the following drawings are merely examples for illustrative purposes according to various disclosed embodiments and are not intended to limit the scope of the present disclosure.
FIG. 1 is a schematic structural diagram of an exemplary distributed task system based on internet of things in accordance with various embodiments of the present disclosure;
FIG. 2 is a schematic logical structural diagram of data processing of a distributed task system based on internet of things in accordance with various embodiments of the present disclosure;
FIG. 3 is a schematic structural diagram of another exemplary distributed task system based on internet of things in accordance with various embodiments of the present disclosure; and
FIG. 4 is a schematic flowchart of an exemplary service processing method for distributed tasks based on internet of things in accordance with various embodiments of the present disclosure.
DETAILED DESCRIPTION
For those skilled in the art to better understand the technical solution of the present disclosure, reference will now be made in detail to exemplary embodiments of the present disclosure, which are illustrated in the accompanying drawings. Wherever possible, the same reference numbers will be used throughout the drawings to refer to the same or like parts.
In accordance with various embodiments, the present disclosure provides a distributed task system based on internet of things and a service processing method for distributed tasks based on internet of things.
The term of internet of things used herein is referred to an internetworking of physical objects. Clearly, the core and foundation of the internet of things is still the Internet. The internet of things is an expanded and extended network based on the Internet. The user terminals of the internet of things can be expanded and extended to any objects and items for information exchange and communication.
The smart devices in the internet of things can have several notable features.
For example, the smart devices in the internet of things can have a variety of different types, such as smart lighting devices, smart home appliances, smart life health devices, smart furniture, smart industrial devices, smart security devices, etc.
As another example, the smart devices in the internet of things can have a huge amount. Data shows that the number of objects in the internet of things can be hundreds of millions of scale, which is hundreds of times or even thousands of times the size of the Internet.
As yet another example, the smart devices in the internet of things can be in an online status at any time. Various smart devices can be connected to the Internet and be kept online for a certain period of time. As such, the users may access their smart devices from anywhere at any time.
Referring to FIG. 1, a schematic structural diagram of an exemplary distributed task system based on internet of things is shown in accordance with various embodiments of the present disclosure.
As illustrated, the distributed tasks system 10 based on internet of things can include a trigger 11, a task scheduling module 12, and multiple processing units 13. The trigger 11 can be used for receiving data sent by one or more smart devices in the internet of things, or data inputted by one or more users of the internet of things.
The task scheduling module 12 is electrically connected to the trigger 11. The task scheduling module 12 can be used for instantiating a service processing flow according to the data sent by the smart devices or the data inputted by the users. The task scheduling module 12 can be further used for sequentially scheduling and starting a set of the multiple processing units 13 according to the service processing flow.
Each of the multiple processing units 13 can be used for executing at a certain stage of the service processing flow, and for sending execution results back to the task scheduling module 12.
The task scheduling module 12 is further used for notifying the one or more smart devices or the one or more users of an execution result of one processing unit that executes at a final stage of the service processing flow.
Specifically, after the trigger 11 receives the data sent by the one or more smart devices in the internet of things, or receives the data inputted by the one or more users of the internet of things, it can be determined that whether the received data meets conditions of a predefined service processing flow.
When the received data meets the conditions of a predefined service processing flow, the trigger 11 can trigger the task scheduling module 12 to instantiate the service processing flow.
Based on the received data, the task scheduling module 12 can schedule and start a first processing unit. After running of a first stage (or first stage task) of the service processing flow, the first processing unit can return an execution result to the task scheduling module 12. Based on the execution result of the first processing unit, the task scheduling module 12 can select, schedule, and start a second processing unit. Then a second stage of the service processing flow can be executed. And the process can go on, and finally complete the entire service processing flow.
A logical structure of the distributed task system 10 based on internet of things can be described from an aspect of data processing in the following.
Referring to FIG. 2, a schematic logical structural diagram of data processing of the distributed task system based on internet of things is shown in accordance with some embodiments of the present disclosure. As illustrated, the logical structure of the system can include a data access layer 21, a data analysis layer 22, a data distribution layer 23, and a service processing layer 24.
Since the internet of things can include a large number of smart devices and users, the distributed task system 10 based on internet of things needs to face a large number of smart devices and users. Therefore, the data access layer 21 can include a large number of parallel service operations to process the data transmitted from the smart devices or inputted by the users. The data transmitted from a smart device can include data generated by a user clicking on a button of the smart device, and include data entered by a user by an input component of the smart device, such as, data inputted by the user on a touch screen of a smartphone.
The data analysis layer 22 can instantiate a service processing flow through corresponding logical processing, e.g., merging, the data transmitted from the smart devices, or the data inputted by the users.
The data distribution layer 23 can forwards the service processing flow obtained from the data analysis layer 22 to corresponding processing units through certain logics. In this process, the data distribution layer 23 can consider a carrying capacity of the processing units, and all possibly generated orders.
The service processing layer 24 can implement the service processing flow based on the predefined corresponding service processing flow, and can store/forward the data, or re-enters the data processing process. In this case, data flow loop must be considered.
In the structure illustrated in FIG. 1, the trigger 11 is located in the data access layer 21, the task scheduling module 12 is located in the data analysis layer 22 and the data distribution layer 23, and the processing unit 13 is located in the service processing layer 24.
In some embodiments, by using a service pre-definition, a series of processing units can be combined as an execution subject that process a task at a certain stage of the service processing flow. And the service processing flow can be initiated through the trigger 11. In FIG. 1, an expletory number of the processing units 13 illustrated is two. However, any suitable positive integer number of processing units 13 can be used, and may not be limited herein according to various embodiments of the present disclosure.
It should be noted that, the processing units 13 may be embodied as processors or servers. The numbers of the trigger 11 and the processing units 13 illustrated in FIG. 1 are only exemplary, and should not be limited herein according to various embodiments of the present disclosure.
Compared to the existing services, the disclosed distributed task system based on internet of things can instantiate a service processing flow according to data sent by smart devices or inputted by the users. According to the service processing flow, the disclosed system can sequentially schedule and start multiple processing units to execute different tasks at certain stages of the service processing flow. A final execution result from a processing unit that executes a final stage of the service processing flow can be notified to one or more smart devices or users.
Through such a distributed execution of the service processing flow, it is possible to flexibly add new service processes. As such, without performing complex development and testing work, new smart device connections or new service processes can be supported. Therefore, a rapid response of new smart device connectivity or service processing can be achieved.
On the basis of the above embodiments, in some implementations, the task scheduling module 12 is further used for monitoring an execution status of each processing unit in the internet of things.
The execution status of a processing unit may include an execution success state. When the execution state of the nth processing unit is an execution success state, the (n+1)th processing unit is scheduled and started by the task scheduling module 12 according to the execution result transmitted from the nth processing unit. Number n is a positive integer between 1 and N−1, and number N is a total number of all processing units that execute tasks in the service processing flow.
For example, assuming a value of N is 5. When the execution state of the first processing unit is monitored to be an execution success state, the task scheduling module 12 can schedule and start the second processing unit based on the execution result transmitted from the first processing unit. And the process can go on until the task scheduling module 12 obtains a final execution result transmitted from the fifth processing unit.
In some other implementations, the execution status of a processing unit may also include an execution time-out state and an execution failure state.
The task scheduling module 12 is further used for, in response to a determination that n is equal to 1 and the execution status of the nth processing unit is an execution failure state or an execution timeout state, re-scheduling the nth processing unit according to the data transmitted from the smart device or inputted by the user.
The task scheduling module 12 is further used for, in response to a determination that n is larger than 1 and the execution status of the nth processing unit is an execution failure state or an execution timeout state, re-scheduling the nth processing unit according to the execution result transmitted from the (n−1)th processing unit.
Optionally, the task scheduling module 12 is further used for, in response to a determination that the execution status of the nth processing unit is an execution failure state or an execution timeout state, cancelling the task executed by the nth processing unit.
In some embodiments, the task scheduling module 12 is further used for recording a failure value that indicates a number of times when the execution status of a processing unit is an execution failure state. When the failure value is larger than a preset threshold value, the task scheduling module 12 can schedule and start one or more processing units to execute the failed stage of the service processing flow. For example, a special processing unit may be provided in advance for only executing the failed stage of the service processing flow. However, the example is not limited in the present disclosure.
Through the above embodiments, the task scheduling module can monitor the execution status of the processing units. Since the execution status of the processing units can reflect a frequency of the service processing, the hot spots and performance bottleneck of the service can be acknowledged in real-time by monitoring the execution status of the processing units.
Further, when a single processing unit is used to execute different service processing flows, the task scheduling module 12 can be configured for, determining priorities of the different service processing flows, and scheduling the single processing unit to sequentially execute tasks in the service processing flows based on the priorities. In some embodiments, the priorities of the different service processing flows can be reflected by using weight values.
For example, a processing unit 13 is used to execute a first stage of a service processing flow 1 and a first stage of a service processing flow 2. It can be determined that a priority of the processing unit 13 to execute the first stage of the service processing flow 1 is weighted as 0.4, and a priority of the processing unit 13 to execute the first stage of the service processing flow 2 is weighted as 0.1. Therefore, the task scheduling module 12 can schedule the processing unit 13 to execute the first stage of the service processing flow 1 first.
Referring to FIG. 3, a schematic structural diagram of another exemplary distributed task system based on internet of things is illustrated in accordance with various embodiments of the present disclosure.
As illustrated, based on the structure of distributed task system 10 based on internet of things shown in FIG. 1, the system 30 for distributed tasks based on internet of things further includes a storage module 31.
The storage module 31 is electrically connected to the task scheduling module 12. The storage module 31 can be used for storing identifications of the multiple processing units that execute different stages (or stage tasks) of a service processing flow in a form of a queue. Accordingly, the task scheduling module 12 can be configured for sequentially scheduling the multiple processing units to execute corresponding stage tasks of the service processing flow based on the identifications of the multiple processing units stored in the queue.
The disclosed system including the storage module can store the identifications of the processing units that execute different stage tasks of a service processing flow in a queue, so as to ensure a scheduling order of the processing units and to guarantee a normal progress of the service processing flow.
In addition, according to the integration of resource management, the disclosed distributed task system based on internet of things can expand processing units in real time according to traffic load. As such, a service capability of the system can be enhanced, an automatic operation and maintenance can be realized, and a manual input can be reduced.
Referring to FIG. 4, a schematic flowchart of an exemplary service processing method for distributed tasks based on internet of things is shown in accordance with some embodiments of the present disclosure. As illustrated, the service processing method for distributed tasks based on internet of things can include the following steps.
At step 401, data sent by one or more smart devices in the internet of things, or data inputted by one or more users of the internet of things can be received.
At step 402, a service processing flow can be instantiated according to the data sent by the smart devices or the data inputted by the users.
At step 403, a set of processing units can be sequentially scheduled and started according to the service processing flow. Each processing unit can be used for executing a certain stage of the service processing flow.
At step 404, an execution result of one processing unit that executes a final stage of the service processing flow can be notified to the one or more smart devices or users.
The disclosed service processing method can be implemented by the disclosed distributed task system based on internet of things discussed above in connection with FIG. 1.
In some embodiments, the disclosed service processing method can further include monitoring an execution status of each processing unit in the internet of things. The execution status of a processing unit may include an execution success state.
When the execution state of the nth processing unit is an execution success state, the (n+1)th processing unit can be scheduled and started according to the execution result transmitted from the nth processing unit. Number n is a positive integer between 1 and (N−1), and number N is a total number of all processing units that execute tasks of the service processing flow.
In some embodiments, the execution status of a processing unit may further include an execution time-out state and an execution failure state.
The disclosed service processing method can further include, in response to a determination that n is equal to 1 and the execution status of the nth processing unit is an execution failure state or an execution timeout state, re-scheduling the nth processing unit according to the data transmitted from the smart device or inputted by the user.
The disclosed service processing method can further include, in response to a determination that n is larger than 1 and the execution status of the nth processing unit is an execution failure state or an execution timeout state, re-scheduling the nth processing unit according to the execution result transmitted from the (n−1)th processing unit.
Optionally, the disclosed service processing method can further include, in response to a determination that the execution status of the nth processing unit is an execution failure state or an execution timeout state, cancelling the task executed by the nth processing unit.
Further, the disclosed service processing method can include recording a failure value that indicates a number of times when the execution status of a processing unit is an execution failure state. When the failure value is larger than a preset threshold value, one or more processing units can be scheduled and started to execute the failed stage task of the service processing flow.
Further, when a single processing unit is used to execute different tasks according to the service processing flows, the disclosed service processing method can include determining priorities of the different service processing flows, and scheduling the single processing unit to sequentially execute the service processing flows based on the priorities.
Based on the above embodiments, the disclosed service processing method can further include storing identifications of the multiple processing units that execute different stages of a service processing flow in a form of a queue. Accordingly, the multiple processing units can be sequentially scheduled and started to execute corresponding stages of the service processing flow based on the identifications of the multiple processing units stored in the queue.
In some alternative embodiments, the task scheduling module 12 can generate a special task scheduling explorer for each instantiated service processing flow. In this case, for each instantiated service processing flow, the task scheduling module 12 only schedules and starts a first processing unit of the instantiated service processing flow, and transmits the special task scheduling explorer for the instantiated service processing flow to the first processing unit.
After running of a first stage task of the service processing flow, the first processing unit can use the special task scheduling explorer to determine a second processing unit to be scheduled and started based on an execution result of the first stage task of the service processing flow. Then the execution result of the first stage task of the service processing flow and the special task scheduling explorer of the instantiated service processing flow can be transmitted directly from the first processing unit to the second processing unit. And a second stage task of the service processing flow can be executed by the second processing unit. And the second processing unit can use the special task scheduling explorer to determine a third processing unit to be scheduled and started based on an execution result of the second stage task of the service processing flow. And the process can go on, and finally complete the entire service processing flow.
It should be understood by those of ordinary skill in the art that, all or part of the steps of implementing the above-described embodiments may be accomplished by program related hardware, such as a hardware processor. The program may be stored in a computer-readable storage medium. When the program is executed, the steps including the above-described embodiments can be executed. The storage medium can include various kinds of media, such as a ROM, a RAM, a magnetic disk, or an optical disk, on which program codes can be stored.
The descriptions of the examples described herein (as well as clauses phrased as “such as,” “e.g.,” “including,” and the like) should not be interpreted as limiting the claimed subject matter to the specific examples; rather, the examples are intended to illustrate only some of many possible aspects.
Accordingly, a distributed task system based on internet of things and a service processing method for distributed tasks based on internet of things are provided.
Although the present disclosure has been described and illustrated in the foregoing illustrative embodiments, it is understood that the present disclosure has been made only by way of example, and that numerous changes in the details of embodiment of the present disclosure can be made without departing from the spirit and scope of the present disclosure, which is only limited by the claims which follow. Features of the disclosed embodiments can be combined and rearranged in various ways. Without departing from the spirit and scope of the present disclosure, modifications, equivalents, or improvements to the present disclosure are understandable to those skilled in the art and are intended to be encompassed within the scope of the present disclosure.

Claims (19)

What is claimed is:
1. A distributed task system based on internet of things, comprising:
a trigger configured for receiving data sent by at least a smart device and a user in the internet of things;
a task scheduling module electrically connected to the trigger; and
a plurality of processing units, wherein:
the task scheduling module is configured for: instantiating a service processing flow according to the data received by the trigger, and sequentially scheduling and starting one or more of the plurality of processing units according to the service processing flow;
each of the one or more processing units is configured for: executing a certain stage task of the service processing flow, and sending an execution result of the certain stage of the service processing flow back to the task scheduling module; and
the task scheduling module is further configured for: scheduling and starting an (n+1)th processing unit according to the execution result transmitted from an nth processing unit when an execution status of the nth processing unit is an execution success state, number n being a positive integer between 1 and (N−1), and number N being a total number of the one or more of the plurality of processing units that execute the service processing flow; and
notifying the smart device or the user of a final execution result of one processing unit that executes a final stage task of the service processing flow.
2. The distributed task system of claim 1, wherein the task scheduling module is further configured for monitoring the execution status of each of the one or more processing units.
3. The distributed task system of claim 2, wherein the execution status of a processing unit includes an execution success state.
4. The distributed task system of claim 2, wherein the execution status of a processing unit includes an execution time-out state and an execution failure state.
5. The distributed task system of claim 4, wherein the task scheduling module is further configured for:
in response to a determination that n is equal to 1 and the execution status of the nth processing unit is an execution failure state or an execution timeout state, re-scheduling the nth processing unit according to the data received by the trigger; and
in response to a determination that n is larger than 1 and the execution status of the nth processing unit is an execution failure state or an execution timeout state, re-scheduling the nth processing unit according to the execution result transmitted from the (n−1)th processing unit.
6. The distributed task system of claim 5, wherein the task scheduling module is further configured for: in response to a determination that the execution status of the nth processing unit is an execution failure state or an execution timeout state, cancelling the corresponding stage of the service processing flow executed by the nth processing unit.
7. The distributed task system of claim 5, wherein the task scheduling module is further configured for:
recording a failure value that indicates a number of times when the execution status of a processing unit is an execution failure state; and
when the failure value is larger than a preset threshold value, scheduling and starting another processing unit to execute a corresponding failed stage task of the service processing flow.
8. The distributed task system of claim 2, wherein the task scheduling module is further configured for:
when a single processing unit is used to execute different service processing flows, determining priorities of the different service processing flows, and scheduling the single processing unit to sequentially execute the service processing flows based on the priorities.
9. The distributed task system of claim 2, further comprising:
a storage module electrically connected to the task scheduling module,
wherein the storage module is configured for storing identifications of the one or more of the plurality of processing units that execute different stage tasks of the service processing flow in a form of a queue; and
wherein the task scheduling module is further configured for sequentially scheduling the one or more of the plurality of processing units to execute corresponding stapes of the service processing flow based on the identifications of the one or more of the plurality of processing units stored in the queue.
10. A service processing method for distributed tasks based on internet of things, comprising:
receiving data sent by at least a smart device and a user in the internet of things;
instantiating a service processing flow according to the data;
according to the service processing flow, sequentially scheduling and starting one or more of a plurality of processing units to execute different stage tasks of the service processing flow;
scheduling and starting an (n+1)th processing unit according to an execution result transmitted from an nth processing unit when an execution status of the nth processing unit is an execution success state, number n being a positive integer between 1 and (N−1), and number N being a total number of the one or more of the plurality of processing units that execute the service processing flow; and
notifying the smart device or the user of a final execution result of one processing unit that executes a final stage task of the service processing flow.
11. The service processing method of claim 10, further comprising monitoring the execution status of each of the one or more of the plurality of processing units.
12. The service processing method of claim 11, wherein the execution status of a processing unit includes an execution success state.
13. The service processing method of claim 11, wherein the execution status of a processing unit includes an execution time-out state and an execution failure state.
14. The service processing method of claim 13, further comprising:
in response to a determination that n is equal to 1 and the execution status of the nth processing unit is an execution failure state or an execution timeout state, re-scheduling the nth processing unit according to the data received by the trigger; and
in response to a determination that n is larger than 1 and the execution status of the nth processing unit is an execution failure state or an execution timeout state, re-scheduling the nth processing unit according to the execution result transmitted from the (n−1)th processing unit.
15. The service processing method of claim 14, further comprising:
in response to a determination that the execution status of the nth processing unit is an execution failure state or an execution timeout state, cancelling the corresponding stage of the service processing flow executed by the nth processing unit.
16. The service processing method of claim 14, further comprising:
recording a failure value that indicates a number of times when the execution status of a processing unit is an execution failure state; and
when the failure value is larger than a preset threshold value, scheduling and starting another processing unit to execute a corresponding failed stage task of the service processing flow.
17. The service processing method of claim 11, further comprising:
when a single processing unit is used to execute different service processing flows, determining priorities of the different service processing flows, and scheduling the single processing unit to sequentially execute the service processing flows based on the priorities.
18. The service processing method of claim 11, further comprising:
storing identifications of the one or more of the plurality of processing units that execute different stage tasks of the service processing flow in a form of a queue; and
sequentially scheduling the one or more of the plurality of processing units to execute corresponding stages of the service processing flow based on the identifications of the one or more of the plurality of processing units stored in the queue.
19. A distributed task system based on internet of things, comprising:
a trigger configured for receiving data sent by at least a smart device and a user in the internet of things;
a task scheduling module electrically connected to the trigger; and
a plurality of processing units, wherein:
the task scheduling module is configured for: instantiating a service processing flow according to the data received by the trigger, and sequentially scheduling and starting one or more of the plurality of processing units according to the service processing flow;
each of the one or more processing units is configured for: executing a certain stage task of the service processing flow; and
the task scheduling module is further configured for:
in response to a determination that n is equal to 1 and an execution status of an nth processing unit is an execution failure state or an execution timeout state, re-scheduling the nth processing unit according to the data received by the trigger;
in response to a determination that n is larger than 1 and the execution status of the nth processing unit is an execution failure state or an execution timeout state, re-scheduling the nth processing unit according to an execution result transmitted from an (n−1)th processing unit, number n being a positive integer; and
notifying the smart device or the user of a final execution result of one processing unit that executes a final stage task of the service processing flow.
US15/545,697 2015-12-30 2016-12-09 Distributed task system based on internet of things and service processing method for distributed tasks based on the same Active 2036-12-21 US10303509B2 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CN201511025583 2015-12-30
CN201511025583.4A CN105677462A (en) 2015-12-30 2015-12-30 Distributed task system based on internet of things and business processing method
CN201511025583.4 2015-12-30
PCT/CN2016/109327 WO2017114141A1 (en) 2015-12-30 2016-12-09 Distributed task system and service processing method based on internet of things

Publications (2)

Publication Number Publication Date
US20180004568A1 US20180004568A1 (en) 2018-01-04
US10303509B2 true US10303509B2 (en) 2019-05-28

Family

ID=56189860

Family Applications (1)

Application Number Title Priority Date Filing Date
US15/545,697 Active 2036-12-21 US10303509B2 (en) 2015-12-30 2016-12-09 Distributed task system based on internet of things and service processing method for distributed tasks based on the same

Country Status (4)

Country Link
US (1) US10303509B2 (en)
EP (1) EP3398064A4 (en)
CN (1) CN105677462A (en)
WO (1) WO2017114141A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11221601B1 (en) 2021-05-24 2022-01-11 Zurn Industries, Llc Various IoT sensory products and cloud-purge for commercial building solutions utilizing LoRa to BACnet conversion for efficient data management and monitoring
US11316908B1 (en) 2021-02-01 2022-04-26 Zurn Industries, Llc BACnet conversion of water management data for building management solutions
US11803166B2 (en) 2021-09-03 2023-10-31 Zurn Industries, Llc Systems and methods for determining operations of a smart fixture

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105677462A (en) * 2015-12-30 2016-06-15 生迪光电科技股份有限公司 Distributed task system based on internet of things and business processing method
CN107679817B (en) * 2016-08-02 2022-02-08 阿里巴巴集团控股有限公司 Workflow execution method and related equipment
CN106713504B (en) * 2017-02-17 2018-01-16 平安科技(深圳)有限公司 Task processing method and system
US11025722B2 (en) * 2017-04-15 2021-06-01 Microsoft Technology Licensing, Llc IoT device jobs
CN108549577A (en) * 2018-04-23 2018-09-18 昆山融捷信息技术有限公司 Intelligent scheduling business data processing method
CN109086126B (en) * 2018-06-15 2022-01-21 创新先进技术有限公司 Task scheduling processing method and device, server, client and electronic equipment
CN110858158B (en) * 2018-08-23 2024-04-05 京东科技控股股份有限公司 Distributed task scheduling method and device, electronic equipment and storage medium
CN110895487B (en) * 2018-09-12 2023-03-10 北京奇虎科技有限公司 Distributed task scheduling system
DE102019201780B4 (en) * 2019-02-12 2020-09-03 BSH Hausgeräte GmbH System and method for operating household appliances
CN110807048A (en) * 2019-10-30 2020-02-18 泰康保险集团股份有限公司 Automatic task processing method and device, computer storage medium and electronic equipment
CN111078770B (en) * 2019-11-28 2023-07-21 曙光信息产业股份有限公司 Data processing system, method and storage medium
CN111290846B (en) * 2020-02-26 2023-08-18 杭州涂鸦信息技术有限公司 Distributed task scheduling method and system
CN111782366A (en) * 2020-06-30 2020-10-16 中国工商银行股份有限公司 Distributed task scheduling method and device
CN111866787A (en) * 2020-07-09 2020-10-30 科大国创云网科技有限公司 Intelligent complementary mining system and method for mass heterogeneous equipment
CN113010306A (en) * 2021-02-24 2021-06-22 金蝶软件(中国)有限公司 Service data processing method and device, computer equipment and storage medium
CN112633784A (en) * 2021-03-10 2021-04-09 武汉慧联无限科技有限公司 Method and device for quickly building business function of Internet of things and electronic equipment
CN114448911B (en) * 2022-01-28 2023-09-22 重庆邮电大学 Multi-objective-based industrial communication protocol test case priority ordering method

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060048161A1 (en) * 2004-08-26 2006-03-02 De Rose Cesar Resource allocation method and system
CN104462370A (en) 2014-12-09 2015-03-25 北京百度网讯科技有限公司 Distributed task scheduling system and method
CN104636199A (en) 2015-03-13 2015-05-20 华存数据信息技术有限公司 Real-time large data processing system and method based on distributed internal memory calculation
EP2882140A1 (en) 2013-12-06 2015-06-10 Tata Consultancy Services Ltd. Data partitioning in internet-of-things (IOT) network
CN104750549A (en) 2015-04-13 2015-07-01 飞狐信息技术(天津)有限公司 Computational task processing device, method and system
US20150186228A1 (en) * 2013-12-27 2015-07-02 Dinesh Kumar Managing nodes in a distributed computing environment
CN105677462A (en) 2015-12-30 2016-06-15 生迪光电科技股份有限公司 Distributed task system based on internet of things and business processing method
US20170060633A1 (en) * 2015-08-27 2017-03-02 Qualcomm Incorporated Data Management for Multiple Processing Units Using Data Transfer Costs

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7974939B2 (en) * 2007-10-26 2011-07-05 Microsoft Corporation Processing model-based commands for distributed applications
CN101567013B (en) * 2009-06-02 2011-09-28 阿里巴巴集团控股有限公司 Method and apparatus for implementing ETL scheduling
US8607242B2 (en) * 2010-09-02 2013-12-10 International Business Machines Corporation Selecting cloud service providers to perform data processing jobs based on a plan for a cloud pipeline including processing stages
CN103345664A (en) * 2013-05-31 2013-10-09 华为技术有限公司 Method and system for adaptation between workflow and task scheduling

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060048161A1 (en) * 2004-08-26 2006-03-02 De Rose Cesar Resource allocation method and system
EP2882140A1 (en) 2013-12-06 2015-06-10 Tata Consultancy Services Ltd. Data partitioning in internet-of-things (IOT) network
US20150163289A1 (en) * 2013-12-06 2015-06-11 Tata Consultancy Services Limited Data partitioning in internet-of-things (iot) network
US20150186228A1 (en) * 2013-12-27 2015-07-02 Dinesh Kumar Managing nodes in a distributed computing environment
CN104462370A (en) 2014-12-09 2015-03-25 北京百度网讯科技有限公司 Distributed task scheduling system and method
CN104636199A (en) 2015-03-13 2015-05-20 华存数据信息技术有限公司 Real-time large data processing system and method based on distributed internal memory calculation
CN104750549A (en) 2015-04-13 2015-07-01 飞狐信息技术(天津)有限公司 Computational task processing device, method and system
US20170060633A1 (en) * 2015-08-27 2017-03-02 Qualcomm Incorporated Data Management for Multiple Processing Units Using Data Transfer Costs
CN105677462A (en) 2015-12-30 2016-06-15 生迪光电科技股份有限公司 Distributed task system based on internet of things and business processing method

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11316908B1 (en) 2021-02-01 2022-04-26 Zurn Industries, Llc BACnet conversion of water management data for building management solutions
US11805155B2 (en) 2021-02-01 2023-10-31 Zurn Industries, Llc BACnet conversion of water management data for building management solutions
US11221601B1 (en) 2021-05-24 2022-01-11 Zurn Industries, Llc Various IoT sensory products and cloud-purge for commercial building solutions utilizing LoRa to BACnet conversion for efficient data management and monitoring
US11768473B2 (en) 2021-05-24 2023-09-26 Zurn Industries, Llc IoT network with BACnet communication for various sensors in a building management system (BMS) platform
US11803166B2 (en) 2021-09-03 2023-10-31 Zurn Industries, Llc Systems and methods for determining operations of a smart fixture

Also Published As

Publication number Publication date
EP3398064A1 (en) 2018-11-07
WO2017114141A1 (en) 2017-07-06
US20180004568A1 (en) 2018-01-04
CN105677462A (en) 2016-06-15
EP3398064A4 (en) 2019-08-28

Similar Documents

Publication Publication Date Title
US10303509B2 (en) Distributed task system based on internet of things and service processing method for distributed tasks based on the same
CN111950988B (en) Distributed workflow scheduling method and device, storage medium and electronic equipment
CN106293914B (en) A kind of method and terminal of task schedule
US20090282413A1 (en) Scalable Scheduling of Tasks in Heterogeneous Systems
Picoreti et al. Multilevel observability in cloud orchestration
CN105159769A (en) Distributed job scheduling method suitable for heterogeneous computational capability cluster
CN106790706A (en) A kind of method of data resource optimization, platform and system
da Silva et al. Self-healing of workflow activity incidents on distributed computing infrastructures
CN106406494B (en) A kind of method and terminal of processor scheduling
CN106789308A (en) The GIS service device and its control method of a kind of micro services framework automatically retractable
Maruf et al. Extending resources for avoiding overloads of mixed‐criticality tasks in cyber‐physical systems
CN114201278A (en) Task processing method, task processing device, electronic device, and storage medium
CN109656783A (en) System platform monitoring method and device
CN110781180A (en) Data screening method and data screening device
CA2631255A1 (en) Scalable scheduling of tasks in heterogeneous systems
Ji et al. Improving multi-job MapReduce scheduling in an opportunistic environment
CN109302723A (en) A kind of multinode real-time radio pyroelectric monitor control system Internet-based and control method
CN113986516A (en) Distributed task scheduling system based on Hongming system
CN111026809B (en) Distributed execution system for scheduling process
Cao et al. Novel client-cloud architecture for scalable instance-intensive workflow systems
CN113656239A (en) Monitoring method and device for middleware and computer program product
CN106210120A (en) A kind of recommendation method of server and device thereof
CN106850283B (en) Event-driven cloud AC alarm processing system and method
CN116909758B (en) Processing method and device of calculation task and electronic equipment
Cuomo et al. Enhancing an autonomic cloud architecture with mobile agents

Legal Events

Date Code Title Description
AS Assignment

Owner name: SENGLED OPTOELECTRONICS CO., LTD, CHINA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:QIAO, HAIMING;SHEN, JINXIANG;SIGNING DATES FROM 20170622 TO 20170626;REEL/FRAME:043071/0544

STPP Information on status: patent application and granting procedure in general

Free format text: NOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONS

STPP Information on status: patent application and granting procedure in general

Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT RECEIVED

STPP Information on status: patent application and granting procedure in general

Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT VERIFIED

STCF Information on status: patent grant

Free format text: PATENTED CASE

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 4