CN110825532B - 分布式任务处理方法、装置、系统、机器人和存储介质 - Google Patents

分布式任务处理方法、装置、系统、机器人和存储介质 Download PDF

Info

Publication number
CN110825532B
CN110825532B CN201810896501.0A CN201810896501A CN110825532B CN 110825532 B CN110825532 B CN 110825532B CN 201810896501 A CN201810896501 A CN 201810896501A CN 110825532 B CN110825532 B CN 110825532B
Authority
CN
China
Prior art keywords
distributed
application
task
application node
nodes
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810896501.0A
Other languages
English (en)
Other versions
CN110825532A (zh
Inventor
熊友军
付品军
黄祥斌
黄高波
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jiujiang Youbixing Technology Co ltd
Ubtech Robotics Corp
Original Assignee
Ubtech Robotics Corp
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 Ubtech Robotics Corp filed Critical Ubtech Robotics Corp
Priority to CN201810896501.0A priority Critical patent/CN110825532B/zh
Publication of CN110825532A publication Critical patent/CN110825532A/zh
Application granted granted Critical
Publication of CN110825532B publication Critical patent/CN110825532B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种分布式任务处理系统,应用于机器人,分布式任务处理系统包括分布式系统、独立于分布式系统的分布式应用开发库以及基于分布式应用开发库构建的两个或者两个以上的分布式应用;分布式应用开发库和分布式应用设置于机器人内对应的应用节点中,应用节点包括有宿主操作系统的应用节点和无宿主操作系统的应用节点;分布式应用,用于进行应用节点中待处理任务的发送或者处理;分布式系统通过通信网络与各分布式应用连接,以通过分布式系统实现各应用节点之间的相互通信,并根据应用节点的通信指令信息进行应用节点之间待处理任务的分发,使得无宿主操作系统的应用节点之间亦可通过分布式系统实现通信,实现各应用节点之间的协调工作。

Description

分布式任务处理方法、装置、系统、机器人和存储介质
技术领域
本发明涉及机器人技术领域,尤其涉及一种分布式任务处理方法、装置、系统、机器人和存储介质。
背景技术
在机器人中往往分布着红外、超声、雷达、深度摄像头、彩色摄像头、热释电、微波、GPS等各种传感器和伺服驱动器、电机驱动器等驱动装置,以及用于进行人机交互的显示设备、手机App、PC客户端等人机交互设备,这些传感器、驱动装置和人机交互设备等应用节点通过互相通信、协调工作来实现机器人的完整功能。
为了满足机器人日益复杂的功能需求,许多分布式任务处理系统应运而生,如ROS(Robot Operating System)系统,但ROS系统中分布式系统和分布式应用的运行都依赖于RTThread、WinCE、Windows、Ubuntu、FreeBSD、iOS、MacOS、Android等这样的宿主操作系统。而机器人中的应用节点有的运行于这样的宿主操作系统中,有的则没有或者无法在这样的宿主操作系统中运行,从而使得没有宿主操作系统的应用节点就无法通过现有分布式任务处理系统进行通信,进而无法实现机器人的完整功能。
综上,如何解决机器人中无宿主操作系统的应用节点之间的通信问题,以实现机器人的完整功能成为本领域技术人员亟待解决的问题。
发明内容
本发明实施例提供了一种分布式任务处理方法、装置、系统、机器人和存储介质,能够解决机器人中无宿主操作系统的应用节点之间的通信问题,以实现机器人的完整功能。
本发明实施例的第一方面,提供了一种分布式任务处理方法,应用于机器人,所述机器人包括多个应用节点,所述分布式任务处理方法包括:
接收第一应用节点发送的待处理任务,所述第一应用节点为所述多个应用节点中的任一应用节点;
确定所述第一应用节点的通信指令信息,并根据所述通信指令信息确定处理所述待处理任务的第二应用节点,所述第二应用节点为所述多个应用节点中不同于所述第一应用节点的应用节点;
将所述待处理任务分发至所述第二应用节点,以便所述第二应用节点对所述待处理任务进行处理。
进一步地,所述通信指令信息包括通信指令的主题和通信指令对应的数据类型。
优选地,在接收第一应用节点发送的待处理任务之前,包括:
获取各应用节点的连接请求和通信指令信息;
根据各应用节点的连接请求分别与各应用节点建立连接,并关联保存各应用节点的通信指令信息。
可选地,在将所述待处理任务分发至所述第二应用节点,以便所述第二应用节点对所述待处理任务进行处理之后,包括:
接收所述第二应用节点返回的任务处理结果,并将所述任务处理结果发送至所述第一应用节点。
本发明实施例的第二方面,提供了一种分布式任务处理装置,应用于机器人,所述机器人包括多个应用节点,所述分布式任务处理装置包括:
任务接收模块,用于接收第一应用节点发送的待处理任务,所述第一应用节点为所述多个应用节点中的任一应用节点;
指令确定模块,用于确定所述第一应用节点的通信指令信息,并根据所述通信指令信息确定处理所述待处理任务的第二应用节点,所述第二应用节点为所述多个应用节点中不同于所述第一应用节点的应用节点;
任务分发模块,用于将所述待处理任务分发至所述第二应用节点,以便所述第二应用节点对所述待处理任务进行处理。
本发明实施例的第三方面,提供了一种机器人,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如前述第一方面所述分布式任务处理方法的步骤。
本发明实施例的第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如前述第一方面所述分布式任务处理方法的步骤。
本发明实施例的第五方面,提供了一种分布式任务处理系统,应用于机器人,所述分布式任务处理系统包括分布式系统、独立于所述分布式系统的分布式应用开发库以及基于所述分布式应用开发库构建的两个或者两个以上的分布式应用;
所述分布式应用开发库和所述分布式应用设置于机器人内对应的应用节点中,所述应用节点包括有宿主操作系统的应用节点和无宿主操作系统的应用节点;
所述分布式应用,用于进行应用节点中待处理任务的发送或者处理;
所述分布式系统通过通信网络与各分布式应用连接,以通过所述分布式系统实现各应用节点之间的相互通信,并根据应用节点的通信指令信息进行应用节点之间待处理任务的分发。
进一步地,所述分布式应用开发库采用C或者C++编程语言构建,其中,所述分布式应用开发库中设置有通过所述分布式系统实现各分布式应用之间通信的通信协议。
优选地,所述通信协议为Light weight IP网络协议。
从以上技术方案可以看出,本发明实施例具有以下优点:
本发明实施例提供的分布式任务处理系统中,分布式应用开发库与分布式系统相独立,使得基于分布式应用开发库构建的分布式应用不需要依赖于分布式系统和宿主操作系统,可直接运行在有宿主操作系统或者无宿主操作系统的应用节点中,而分布式系统与各应用节点之间可通过通信网络连接,以通过分布式系统来实现各分布式应用之间的互相通信,从而使得无宿主操作系统的应用节点之间亦可通过分布式系统来实现通信,以解决分布式应用运行平台的限制问题,使得各应用节点之间可协调工作,从而实现机器人的完整功能,极大地提高了分布式任务处理系统的通用性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种分布式任务处理系统的系统结构图;
图2为本发明实施例提供的一种分布式任务处理方法的一个实施例流程图;
图3为本发明实施例中分布式任务处理方法在一个应用场景下的流程示意图;
图4为本发明实施例提供的一种分布式任务处理装置的一个实施例结构图;
图5为本发明实施例提供的一种机器人的结构示意图。
具体实施方式
本发明实施例提供了一种分布式任务处理方法、装置、系统、机器人和存储介质,用于解决机器人中无宿主操作系统的应用节点之间的通信问题,以实现机器人的完整功能。
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供了一种分布式任务处理系统,应用于机器人,所述分布式任务处理系统包括分布式系统10、独立于所述分布式系统10的分布式应用开发库11以及基于所述分布式应用开发库11构建的两个或者两个以上的分布式应用12;
所述分布式应用开发库11和所述分布式应用12设置于机器人内对应的应用节点中,所述应用节点包括有宿主操作系统的应用节点和无宿主操作系统的应用节点;
所述分布式应用12,用于进行应用节点中待处理任务的发送或者处理;
所述分布式系统10通过通信网络与各分布式应用连接,以通过所述分布式系统10实现各应用节点之间的相互通信,并根据应用节点的通信指令信息进行应用节点之间待处理任务的分发。
需要说明的是,本发明实施例中,分布式应用开发库11与分布式系统10彼此独立,因而,基于分布式应用开发库11构建的分布式应用12的运行不需要依赖于分布式系统10,进而不需要依赖于宿主操作系统,使得本发明实施例中的分布式应用12可运行于有宿主操作系统的应用节点中,也可运行于无宿主操作系统的应用节点中。
可以理解的是,本发明实施例中,分布式应用12可根据机器人内应用节点的任务需求来构建,如需将分布式应用12设置于机器人内的伺服驱动器,以实现驱动任务的话,则可基于分布式应用开发库11构建可实现伺服驱动器的驱动任务的分布式应用12,并将所构建的分布式应用12和对应的分布式应用开发库11设置于机器人内对应的伺服驱动器中,从而可通过所构建的分布式应用12来执行伺服驱动器中对应的驱动任务,如自身驱动任务的执行或者驱动任务的发送等。
进一步地,如图1所示,本发明实施例中,分布式系统10可设置于有宿主操作系统的主控端,如可设置于机器人的处理器中,并通过通信网络分别与各分布式应用12连接,从而可通过分布式系统10来实现各应用节点之间的相互通信,进而可根据各应用节点的通信指令信息进行应用节点之间待处理任务的分发,实现应用节点之间的协调工作。如当应用节点A需要某一应用节点B与其一起处理某项待处理任务时,应用节点A可通过通信网络将该待处理任务发送至分布式系统10,分布式系统10在收到该待处理任务后,则可根据应用节点A所对应的通信指令信息确定出可处理该待处理任务的应用节点B,并向应用节点B广播该待处理任务,可处理该待处理任务的应用节点B则接收并处理该待处理任务,从而实现机器人的具体功能。
进一步地,本发明实施例中,所述分布式应用开发库11采用C或者C++编程语言构建,其中,所述分布式应用开发库11中设置有通过所述分布式系统实现各分布式应用之间通信的通信协议。优选地,所述通信协议为Light weight IP网络协议。
可以理解的是,本发明实施例中,分布式应用开发库11是基于标准C或者C++编程语言实现的,而且分布式应用开发库11中定义了可以通过分布式系统10与各应用节点之间进行通信的数据类型和通信协议,其中,分布式应用开发库11以源码形式提供,而通信协议优选为开源Light weight IP网络协议,从而使得基于分布式应用开发库11构建的分布式应用12可在有/无宿主操作系统的应用节点中运行,即解决了没有宿主操作系统的应用节点之间无法相互通信的问题,可确保不同应用节点之间的互连互通、协调工作,以实现机器人的完整功能。
本发明实施例提供的分布式任务处理系统中,分布式应用开发库与分布式系统相独立,使得基于分布式应用开发库构建的分布式应用不需要依赖于分布式系统和宿主操作系统,可直接运行在有宿主操作系统或者无宿主操作系统的应用节点中,而分布式系统与各应用节点之间可通过通信网络连接,以通过分布式系统来实现各分布式应用之间的互相通信,从而使得无宿主操作系统的应用节点之间亦可通过分布式系统来实现通信,以解决分布式应用运行平台的限制问题,使得各应用节点之间可协调工作,从而实现机器人的完整功能,极大地提高了分布式任务处理系统的通用性。
下面基于上述分布式任务处理系统来结合实施例对分布式任务处理方法进行描述。如图2所示,本发明实施例提供了一种分布式任务处理方法,应用于机器人,所述机器人包括多个应用节点,所述分布式任务处理方法包括:
步骤S201、接收第一应用节点发送的待处理任务,所述第一应用节点为所述多个应用节点中的任一应用节点;
可以理解的是,本发明实施例中,分布式任务处理方法的执行主体为设置于主控端的分布式系统10。当机器人内的任一应用节点,如第一应用节点需要其他应用节点的协调工作以实现机器人的某一功能时,第一应用节点可将需要其他应用节点协调完成的待处理任务发送至分布式系统10,分布式系统10则可实时接收第一应用节点发送的待处理任务。
进一步地,本发明实施例中,在接收第一应用节点发送的待处理任务之前,可以包括:步骤a、获取各应用节点的连接请求和通信指令信息;步骤b、根据各应用节点的连接请求分别与各应用节点建立连接,并关联保存各应用节点的通信指令信息。
需要说明的是,本发明实施例中,在主控端启动后,所有应用节点均启动分布式应用12,并在启动分布式应用12后即分别向主控端的分布式系统10发送连接请求以及其所指定的通信指令信息。在此,通信指令信息包括通信指令的主题和通信指令对应的数据类型,其中,通信指令的主题可以包括获取雷达数据、控制机器人底盘转动一定角度、控制舵机转动等,通信指令对应的数据类型可以包括字符串型、数值型等等。
分布式系统10在获取到各应用节点发送的连接请求以及其所指定的通信指令信息后,即可创建对应的新连接任务,以分别与各应用节点建立连接。分布式系统10在与各应用节点建立连接后,即在其中注册各应用节点所指定的通信指令信息,以在分布式系统10中关联保存各应用节点的通信指令信息。
步骤S202、确定所述第一应用节点的通信指令信息,并根据所述通信指令信息确定处理所述待处理任务的第二应用节点,所述第二应用节点为所述多个应用节点中不同于所述第一应用节点的应用节点;
可以理解的是,本发明实施例中,分布式系统10在接收到第一应用节点发送的待处理任务后,即可根据分布式系统10内关联保存的各应用节点的通信指令信息,确定出与第一应用节点所对应的通信指令信息,并在确定出与第一应用节点所对应的通信指令信息后,可进一步根据该通信指令信息找到能处理该待处理任务的第二应用节点,即在机器人的多个应用节点中找到与第一应用节点所指定的通信指令信息相同的其他应用节点。
如在某一具体应用中,分布式系统10中关联保存有如下信息:应用节点a所指定的通信指令信息为E;应用节点b所指定的通信指令信息为F;应用节点c所指定的通信指令信息为G;应用给点d所指定的通信指令信息为E;应用节点e所指定的通信指令信息为F;应用节点f所指定的通信指令信息为E,等等。因而,当分布式系统10接收到应用节点a所发送的待处理任务时,其即可确定出与应用节点a对应的通信指令信息为E,进而可根据通信指令信息E确定出能处理该待处理任务的应用节点为应用节点d和应用节点f。
步骤S203、将所述待处理任务分发至所述第二应用节点,以便所述第二应用节点对所述待处理任务进行处理。
可以理解的是,分布式系统10在找到能处理该待处理任务的第二应用节点后,即可向所找到的第二应用节点广播该待处理任务,而第二应用节点中能处理该待处理任务的应用节点即接收到该待处理任务,并在确定接收到该待处理任务后,自动处理该待处理任务,以完成机器人的具体功能。
如在上述具体应用中,分布式系统10在确定出能处理应用节点a所发送的待处理任务的应用节点为应用节点d和应用节点f后,即可同时向应用节点d和应用节点f广播该待处理任务,而应用节点d和应用节点f中,若只有应用节点d能处理该待处理任务,则应用节点d接收并处理该待处理任务,应用节点f则不对该待处理任务进行响应。
进一步地,本发明实施例,在将所述待处理任务分发至所述第二应用节点,以便所述第二应用节点对所述待处理任务进行处理之后,还可以包括:接收所述第二应用节点返回的任务处理结果,并将所述任务处理结果发送至所述第一应用节点。
需要说明的是,本发明实施例中,第二应用节点在接收到第一应用节点的待处理任务后,可根据该待处理任务确定是否需要向第一应用节点返回任务处理结果,若需要向第一应用节点返回任务处理结果的话,第二应用节点则在处理完该待处理任务后,即向分布式系统10返回其对该待处理任务的任务处理结果,而分布式系统10在接收到该任务处理结果后,即将该任务处理结果发送至第一应用节点,以便第一应用节点根据该任务处理结果执行后续操作。如第一应用节点发送的待处理任务为获取雷达数据时,第二应用节点在接收到该待处理任务时,即可知需要将所获取的雷达数据返回给第一应用节点,因而,第二应用节点在获取到雷达数据后,即可将所获取的雷达数据发送给分布式系统10,分布式系统10进而可将该雷达数据发送给第一应用节点。
本发明实施例中,通过分布式系统实现了各应用节点之间的互连互通,以实现各应用节点之间的协调工作,从而实现机器人中多应用节点分布式处理任务的目的,提高任务处理效率,以实现机器人的完整功能。
为便于理解,根据图2所描述的实施例,并结合图1提供的分布式任务处理系统,下面以一个实际应用场景对本发明实施例在分布式任务系统中实现分布式任务处理方法的具体处理过程进行描述:
如图3所示,本场景中,所述分布式任务处理方法,可以包括:
步骤S301、第一应用节点和第二应用节点分别向分布式系统发送连接请求;
在此,第一应用节点和第二应用节点仅用于描述目的,不指代某一具体应用节点,可泛指机器人中的任一应用节点。
本场景中,当分布式系统所在的主控端启动后,机器人中的所有应用节点均启动自身的分布式应用,并分别向分布式系统发送连接请求,以请求与分布式系统建立通信关系。
步骤S302、所述分布式系统根据所述连接请求与各应用节点建立连接,并关联保存各应用节点的通信指令信息;
需要说明的是,本场景中,当主控端启动后,分布式系统即可实时监听各应用节点的连接请求,并在接收到连接请求后,即可创建新连接任务以与对应的应用节点建立连接,从而实现该应用节点与分布式系统之间的通信。可以理解的是,各应用节点在向分布式任务系统发送连接请求的同时,可对应向分布式系统发送其与其他应用节点进行通信的通信指令信息,分布式系统则可将所接收到的通信指令信息与对应的应用节点关联保存。
步骤S303、在建立连接后,所述分布式系统向各应用节点返回连接状态;
需要说明的是,分布式系统在完成与应用节点之间的连接建立后,即可向该应用节点返回连接成功或者连接失败的连接状态信息。
步骤S304、所述第一应用节点根据所述分布式系统返回的连接状态,确定其与所述分布式系统之间是否连接成功;
步骤S305、当所述第一应用节点确定其与所述分布式系统之间连接成功时,则向所述分布式系统发送待处理任务;
可以理解的是,各应用节点在收到分布式系统返回的连接状态后,即可根据该连接状态判断其与分布式系统之间是否连接成功,若未连接成功,则可重新向分布式系统发送连接请求;若连接成功,且其自身存在待处理任务需要发送时,则可向分布式系统发送该待处理任务。
步骤S306、所述分布式系统接收所述第一应用节点发送的所述待处理任务;
步骤S307、所述分布式系统确定所述第一应用节点的通信指令信息,并根据所述通信指令信息确定处理所述待处理任务的第二应用节点;
步骤S308、所述分布式系统在确定所述第二应用节点后,将所述待处理任务分发给所述第二应用节点;
在此,分布式系统在接收到某一应用节点发送的待处理任务后,即可根据分布式系统内关联保存的各应用节点的通信指令信息,确定出该应用节点的通信指令信息,并在确定出该应用节点的通信指令信息后,进一步根据该通信指令信息找到能处理该待处理任务的其他应用节点,即在机器人的多个应用节点中找到与该应用节点的通信指令信息相同的其他应用节点,并在找到其他节点后,即可向所找到的其他应用节点广播该待处理任务。
步骤S309、所述第二应用节点则接收所述待处理任务;
步骤S310、所述第二应用节点在确认收到所述待处理任务后,处理所述待处理任务。
可以理解的是,所找到的其他应用节点中能处理该待处理任务的应用节点即可接收到该待处理任务,并在确定接收到该待处理任务后,自动处理该待处理任务,以完成机器人的具体功能。
本发明实施例中,通过分布式系统实现了各应用节点之间的互连互通,以实现各应用节点之间的协调工作,从而实现了机器人中多应用节点分布式处理任务的目的,提高任务处理效率,以实现机器人的完整功能。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
上面主要描述了一种分布式任务处理方法,下面将对一种分布式任务处理装置进行详细描述。
如图4所示,本发明实施例提供的一种分布式任务处理装置,应用于机器人,所述机器人包括多个应用节点,所述分布式任务处理装置包括:
任务接收模块401,用于接收第一应用节点发送的待处理任务,所述第一应用节点为所述多个应用节点中的任一应用节点;
指令确定模块402,用于确定所述第一应用节点的通信指令信息,并根据所述通信指令信息确定处理所述待处理任务的第二应用节点,所述第二应用节点为所述多个应用节点中不同于所述第一应用节点的应用节点;
任务分发模块403,用于将所述待处理任务分发至所述第二应用节点,以便所述第二应用节点对所述待处理任务进行处理。
进一步地,所述通信指令信息包括通信指令的主题和通信指令对应的数据类型。
优选地,所述分布式任务处理装置,还包括:
连接请求获取模块,用于获取各应用节点的连接请求和通信指令信息;
连接建立模块,用于根据各应用节点的连接请求分别与各应用节点建立连接,并关联保存各应用节点的通信指令信息。
可选地,所述分布式任务处理装置,还包括:
结果发送模块,用于接收所述第二应用节点返回的任务处理结果,并将所述任务处理结果发送至所述第一应用节点。
图5是本发明实施例提供的一种机器人的示意图。如图5所示,该实施例的机器人5包括:处理器50、存储器51以及存储在所述存储器51中并可在所述处理器50上运行的计算机程序52,例如分布式任务处理程序。所述处理器50执行所述计算机程序52时实现上述各个分布式任务处理方法实施例中的步骤,例如图2所示的步骤S201至步骤S203。或者,所述处理器50执行所述计算机程序52时实现上述各装置实施例中各模块/单元的功能,例如图4所示的模块401至模块403的功能。
示例性的,所述计算机程序52可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器51中,并由所述处理器50执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序52在所述机器人5中的执行过程。例如,所述计算机程序52可以被分割成任务接收模、指令确定模块、任务分发模块,各模块具体功能如下:
任务接收模块,用于接收第一应用节点发送的待处理任务,所述第一应用节点为所述多个应用节点中的任一应用节点;
指令确定模块,用于确定所述第一应用节点的通信指令信息,并根据所述通信指令信息确定处理所述待处理任务的第二应用节点,所述第二应用节点为所述多个应用节点中不同于所述第一应用节点的应用节点;
任务分发模块,用于将所述待处理任务分发至所述第二应用节点,以便所述第二应用节点对所述待处理任务进行处理。
所述机器人可包括,但不仅限于,处理器50、存储器51。本领域技术人员可以理解,图5仅仅是机器人5的示例,并不构成对机器人5的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述机器人还可以包括输入输出设备、网络接入设备、总线等。
所述处理器50可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器51可以是所述机器人5的内部存储单元,例如机器人5的硬盘或内存。所述存储器51也可以是所述机器人5的外部存储设备,例如所述机器人5上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器51还可以既包括所述机器人5的内部存储单元也包括外部存储设备。所述存储器51用于存储所述计算机程序以及所述机器人5所需的其他程序和数据。所述存储器51还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各实施例的模块、单元和/或方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种分布式任务处理方法,其特征在于,应用于机器人,所述机器人包括分布式系统和多个应用节点,所述多个应用节点中包括无宿主操作系统的应用节点,各所述应用节点中设置有分布式应用,所述分布式应用为基于分布式应用开发库构建的,所述分布式应用开发库独立于所述分布式系统,所述分布式应用开发库中定义有所述分布式系统和所述分布式应用之间通信的通信协议;
所述分布式任务处理方法包括:
所述分布式系统接收第一应用节点发送的待处理任务,所述第一应用节点为所述多个应用节点中的任一应用节点;
所述分布式系统确定所述第一应用节点的通信指令信息,并根据所述通信指令信息确定处理所述待处理任务的第二应用节点,所述第二应用节点为所述多个应用节点中不同于所述第一应用节点的应用节点;
所述分布式系统将所述待处理任务分发至所述第二应用节点,以便所述第二应用节点对所述待处理任务进行处理。
2.根据权利要求1所述的分布式任务处理方法,其特征在于,所述通信指令信息包括通信指令的主题和通信指令对应的数据类型。
3.根据权利要求1所述的分布式任务处理方法,其特征在于,在接收第一应用节点发送的待处理任务之前,包括:
获取各应用节点的连接请求和通信指令信息;
根据各应用节点的连接请求分别与各应用节点建立连接,并关联保存各应用节点的通信指令信息。
4.根据权利要求1至3中任一项所述的分布式任务处理方法,其特征在于,在将所述待处理任务分发至所述第二应用节点,以便所述第二应用节点对所述待处理任务进行处理之后,包括:
接收所述第二应用节点返回的任务处理结果,并将所述任务处理结果发送至所述第一应用节点。
5.一种分布式任务处理装置,其特征在于,应用于机器人,所述机器人包括分布式系统和多个应用节点,所述多个应用节点中包括无宿主操作系统的应用节点,各所述应用节点中设置有分布式应用,所述分布式应用为基于分布式应用开发库构建的,所述分布式应用开发库独立于所述分布式系统,所述分布式应用开发库中定义有所述分布式系统和所述分布式应用之间通信的通信协议;
所述分布式任务处理装置包括:
任务接收模块,用于接收第一应用节点发送的待处理任务,所述第一应用节点为所述多个应用节点中的任一应用节点;
指令确定模块,用于确定所述第一应用节点的通信指令信息,并根据所述通信指令信息确定处理所述待处理任务的第二应用节点,所述第二应用节点为所述多个应用节点中不同于所述第一应用节点的应用节点;
任务分发模块,用于将所述待处理任务分发至所述第二应用节点,以便所述第二应用节点对所述待处理任务进行处理。
6.一种机器人,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至4中任一项所述分布式任务处理方法的步骤。
7.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至4中任一项所述分布式任务处理方法的步骤。
8.一种分布式任务处理系统,其特征在于,应用于机器人,所述分布式任务处理系统包括分布式系统、独立于所述分布式系统的分布式应用开发库以及基于所述分布式应用开发库构建的两个或者两个以上的分布式应用;
所述分布式应用开发库和所述分布式应用设置于机器人内对应的应用节点中,所述应用节点包括有宿主操作系统的应用节点和无宿主操作系统的应用节点;
所述分布式应用,用于进行应用节点中待处理任务的发送或者处理;
所述分布式系统通过通信网络与各分布式应用连接,以通过所述分布式系统实现各应用节点之间的相互通信,并根据应用节点的通信指令信息进行应用节点之间待处理任务的分发。
9.根据权利要求8所述的分布式任务处理系统,其特征在于,所述分布式应用开发库采用C或者C++编程语言构建,其中,所述分布式应用开发库中设置有通过所述分布式系统实现各分布式应用之间通信的通信协议。
10.根据权利要求9所述的分布式任务处理系统,其特征在于,所述通信协议为Lightweight IP网络协议。
CN201810896501.0A 2018-08-08 2018-08-08 分布式任务处理方法、装置、系统、机器人和存储介质 Active CN110825532B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810896501.0A CN110825532B (zh) 2018-08-08 2018-08-08 分布式任务处理方法、装置、系统、机器人和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810896501.0A CN110825532B (zh) 2018-08-08 2018-08-08 分布式任务处理方法、装置、系统、机器人和存储介质

Publications (2)

Publication Number Publication Date
CN110825532A CN110825532A (zh) 2020-02-21
CN110825532B true CN110825532B (zh) 2022-08-05

Family

ID=69540665

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810896501.0A Active CN110825532B (zh) 2018-08-08 2018-08-08 分布式任务处理方法、装置、系统、机器人和存储介质

Country Status (1)

Country Link
CN (1) CN110825532B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114816442A (zh) * 2021-01-22 2022-07-29 华为技术有限公司 分布式应用的处理方法和装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102447620A (zh) * 2011-11-10 2012-05-09 江苏德意软件科技有限公司 一种关联型数据库实时交换管理方法、装置以及系统
CN102498471A (zh) * 2009-09-23 2012-06-13 微软公司 传感器和其他数据的消息通信
CN104461686A (zh) * 2014-11-19 2015-03-25 深圳市酷商时代科技有限公司 向基于传感器的应用程序提供传感器数据的方法和装置
CN106020960A (zh) * 2016-05-30 2016-10-12 北京奇艺世纪科技有限公司 一种调用方法及装置
CN106815025A (zh) * 2017-01-17 2017-06-09 广东欧珀移动通信有限公司 传感器数据上报方法及装置
CN107688496A (zh) * 2017-07-24 2018-02-13 上海壹账通金融科技有限公司 任务分布式处理方法、装置、存储介质和服务器

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10579366B2 (en) * 2013-09-16 2020-03-03 Nicira, Inc. Data upgrade framework for distributed systems

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102498471A (zh) * 2009-09-23 2012-06-13 微软公司 传感器和其他数据的消息通信
CN102447620A (zh) * 2011-11-10 2012-05-09 江苏德意软件科技有限公司 一种关联型数据库实时交换管理方法、装置以及系统
CN104461686A (zh) * 2014-11-19 2015-03-25 深圳市酷商时代科技有限公司 向基于传感器的应用程序提供传感器数据的方法和装置
CN106020960A (zh) * 2016-05-30 2016-10-12 北京奇艺世纪科技有限公司 一种调用方法及装置
CN106815025A (zh) * 2017-01-17 2017-06-09 广东欧珀移动通信有限公司 传感器数据上报方法及装置
CN107688496A (zh) * 2017-07-24 2018-02-13 上海壹账通金融科技有限公司 任务分布式处理方法、装置、存储介质和服务器

Also Published As

Publication number Publication date
CN110825532A (zh) 2020-02-21

Similar Documents

Publication Publication Date Title
CN111203874B (zh) 机器人的控制方法、装置、电子设备及存储介质
CN102651700A (zh) 管理测试自动化
US20210014318A1 (en) Diagnostic method and system for vehicle, and related device thereof
CN107909378B (zh) 车辆信息审核方法及装置、存储介质、电子设备
JPH03244003A (ja) プログラマブルコントローラおよびシーケンスプログラムの部分実行方法
CN107682441B (zh) 一种远程控制的方法、移动终端及pc端
CN110825532B (zh) 分布式任务处理方法、装置、系统、机器人和存储介质
CN110324419B (zh) 基于云服务的数据处理方法和设备
CN111203869B (zh) 一种机器人系统维护方法、装置、机器人及可读存储介质
CN108399136B (zh) 一种串行接口的控制方法、装置及主机
US20070208887A1 (en) Method, apparatus, and medium for controlling direct memory access
US20210026349A1 (en) Vehicle control system and vehicle control method
JP2021533437A (ja) 情報提示方法及び装置、電子機器、記憶媒体並びにコンピュータプログラム
CN108415655B (zh) 触摸数据处理的方法、装置、一体机及存储介质
CN107885674B (zh) 蓝牙设备模拟器及其工作方法、蓝牙设备作业系统
CN113946729B (zh) 针对车辆的数据处理方法、装置、电子设备和介质
CN110377272B (zh) 一种基于tbox的sdk的实现方法及装置
CN115442233A (zh) Ecu升级方法、装置、电子设备、存储介质及车辆
CN114442590A (zh) 车辆诊断方法、设备、诊断通信装置、服务器及存储介质
CN114493370A (zh) 一种业务产品的安全接入方法和装置
CN114489996A (zh) 一种任务调度方法、装置、电子设备及自动驾驶车辆
CN112073505B (zh) 在云服务器上进行卸载的方法、控制装置、存储介质
CN115098301A (zh) 一种云原生场景下有状态应用的快照生成方法和系统
CN111803926A (zh) 云应用中控制对象的匹配方法、装置及电子设备
CN105867954B (zh) 一种系统数据更新方法、第一电子设备及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address

Address after: 518000 16th and 22nd Floors, C1 Building, Nanshan Zhiyuan, 1001 Xueyuan Avenue, Nanshan District, Shenzhen City, Guangdong Province

Patentee after: Shenzhen Youbixuan Technology Co.,Ltd.

Country or region after: China

Address before: 518000 16th and 22nd Floors, C1 Building, Nanshan Zhiyuan, 1001 Xueyuan Avenue, Nanshan District, Shenzhen City, Guangdong Province

Patentee before: Shenzhen Youbixuan Technology Co.,Ltd.

Country or region before: China

TR01 Transfer of patent right

Effective date of registration: 20240415

Address after: Room 101 and 201, Building 1, Qingwang Science and Technology Park, Intersection of Ecological Fourth Road and Keji Fourth Road, Lianxi District, Jiujiang City, Jiangxi Province, 332000

Patentee after: Jiujiang Youbixing Technology Co.,Ltd.

Country or region after: China

Address before: 518000 16th and 22nd Floors, C1 Building, Nanshan Zhiyuan, 1001 Xueyuan Avenue, Nanshan District, Shenzhen City, Guangdong Province

Patentee before: Shenzhen Youbixuan Technology Co.,Ltd.

Country or region before: China