CN111212097A - 机器人访问服务器的方法、设备及存储介质 - Google Patents
机器人访问服务器的方法、设备及存储介质 Download PDFInfo
- Publication number
- CN111212097A CN111212097A CN202010318882.1A CN202010318882A CN111212097A CN 111212097 A CN111212097 A CN 111212097A CN 202010318882 A CN202010318882 A CN 202010318882A CN 111212097 A CN111212097 A CN 111212097A
- Authority
- CN
- China
- Prior art keywords
- server
- request
- request information
- robot
- cloud 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.)
- Withdrawn
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/26—Special purpose or proprietary protocols or architectures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
- H04L67/125—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/03—Protocol definition or specification
Landscapes
- Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Computer Security & Cryptography (AREA)
- Manipulator (AREA)
Abstract
本发明公开了一种机器人访问服务器的方法、设备及存储介质,通过数据请求模块对请求信息进行封装,按照自定义通信协议,将封装后的请求信息通过IPC通信接口发送至机器人内部的云服务模块;所述云服务模块通过所述IPC通信接口接收封装后的请求信息并解析,得到解析后标准通信协议对应的请求信息,将得到的所述标准通信协议的请求信息发送至服务器;所述云服务模块接收服务器根据所述标准通信协议的请求信息返回的响应信息,通过IPC通信接口并按照所述自定义通信协议,将所述响应信息发送至所述数据请求模块;实现了将机器人访问服务器的模块和该机器人具体的产品形态进行隔离的目的,降低了维护成本。
Description
技术领域
本发明涉及数据处理技术领域,特别涉及一种机器人访问服务器的方法、设备及存储介质。
背景技术
机器人系统是由许多基础的功能模块构成的,其中,访问云服务器能力是机器人重要的一项能力。目前,仅仅根据是否具备访问云服务器的功能,市场上就有型号众多的机器人类型,比如:有些机器人不需要联网,有些机器人需要联网,有些机器人通过自身连接的平板电脑进行联网,有些机器人通过自身运行的Linux系统直接访问网络等。因此,在机器人的研发设计阶段,需要根据机器人产品的形态以及具体应用场景,来考虑当前机器人是否需要添加访问云服务器的能力,以及该机器人以后是否需要增加访问云服务器的需求,并在需要具备访问云服务器的功能时该机器人以何种方式访问网络等。针对上述情况,机器人在实际开发过程中,就会形成多条分支来解决多版本所带来的差异,提高了机器人的维护成本。
发明内容
本发明提供一种机器人访问服务器的方法、设备及存储介质,用以将机器人访问服务器的模块和该机器人具体的产品形态进行隔离,降低维护成本。
第一方面,本发明提供了一种机器人访问服务器的方法,所述机器人访问服务器的方法包括:
机器人内部的数据请求模块对请求信息进行封装,按照自定义通信协议,将封装后的请求信息通过IPC(Inter-Process Communication,进程间通信)通信接口发送至机器人内部的云服务模块;
所述云服务模块通过所述IPC通信接口接收封装后的请求信息并解析,得到解析后标准通信协议对应的请求信息,将得到的所述标准通信协议的请求信息发送至服务器;
所述云服务模块接收服务器根据所述标准通信协议的请求信息返回的响应信息,通过IPC通信接口并按照所述自定义通信协议,将所述响应信息发送至所述数据请求模块;
其中,所述云服务模块具备可移植性且独立于机器人内部的所述数据请求模块和其他功能模块,且所述云服务模块仅负责机器人与云服务器之间进行通信数据交互。
第二方面,本发明提供了一种机器人访问服务器的装置,所述机器人访问服务器的装置包括:数据请求模块和云服务模块,所述云服务模块具备可移植性且独立于机器人内部的所述数据请求模块和其他功能模块,且所述云服务模块仅负责机器人与云服务器之间进行通信数据交互;其中:
所述数据请求模块用于:对请求信息进行封装,按照自定义通信协议,将封装后的请求信息通过IPC通信接口发送至所述云服务模块;
所述云服务模块用于:
通过所述IPC通信接口接收封装后的请求信息并解析,得到解析后标准通信协议对应的请求信息,将得到的所述标准通信协议的请求信息发送至服务器;接收服务器根据所述标准通信协议的请求信息返回的响应信息,通过IPC通信接口并按照所述自定义通信协议,将所述响应信息发送至所述数据请求模块;
或者:
所述云服务模块用于:基于自定义MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议)通信协议与服务器建立通信连接时,将基于所述自定义MQTT通信协议对应的请求信息发送至服务器,供服务器将获取的所述自定义MQTT通信协议的任务信息发送至所述云服务模块,以便机器人利用所述自定义MQTT通信协议解析所述任务信息并执行相关操作。
第三方面,本发明提供了一种电子设备,所述电子设备包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的服务器访问程序,所述服务器访问程序被所述处理器运行时,执行所述的机器人访问服务器的方法。
第四方面,本发明提供了一种计算机存储介质,所述存储介质上存储有服务器访问程序,所述服务器访问程序可以被一个或者多个处理器执行,以实现所述的机器人访问服务器的方法的步骤。
本发明一种机器人访问服务器的方法、设备及存储介质,通过数据请求模块对请求信息进行封装,按照自定义通信协议,将封装后的请求信息通过IPC通信接口发送至机器人内部的云服务模块;所述云服务模块通过所述IPC通信接口接收封装后的请求信息并解析,得到解析后标准通信协议对应的请求信息,将得到的所述标准通信协议的请求信息发送至服务器;所述云服务模块接收服务器根据所述标准通信协议的请求信息返回的响应信息,通过IPC通信接口并按照所述自定义通信协议,将所述响应信息发送至所述数据请求模块;实现了将机器人访问服务器的模块和该机器人具体的产品形态进行隔离的目的,降低了维护成本,同时也提高了机器人的可扩展性。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1是本发明机器人访问服务器的方法的一种实施方式的流程示意图。
图2是本发明机器人访问服务器的方法中机器人与服务器的通信方式的一种具体应用场景示意图。
图3是本发明机器人访问服务器的方法中机器人内部模块之间以及机器人与服务器之间的一种实施方式的信号流示意图。
图4是本发明机器人访问服务器的装置的一种实施方式的功能模块示意图。
图5是本发明电子设备的一种实施方式的内部结构示意图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
本发明提供了一种机器人访问服务器的方法、设备及存储介质,用以将机器人访问服务器的模块和该机器人具体的产品形态进行隔离,提高机器人的可扩展性,降低维护成本。本发明实施例中,所描述的机器人至少包括一个数据请求模块,当该机器人需要与服务器进行通信连接时,可以部署对应的云服务模块。在实际的应用中,除了机器人主动请求云端服务器的情况,机器人还需要有一个从云端服务器获取任务和/或指令的服务中心,并且能够将任务和/或指令指派给机器人中对应的功能模块进行处理,且回传处理结果至云端服务器,而本发明实施例中的云服务模块则恰恰承担上述功能。本发明实施例中,所述云服务模块和该机器人对应的具体的产品形态隔离,仅作为一个单独的基础模块可以随时安装并运行在任何平台上,从设计的角度来讲,符合单一职责模式,从而也使得其他功能模块更加专注自身模块的业务能力,而和云端服务器的交互则统一交给云服务模块进行访问和处理。因此,针对同一组织或者所属同一公司的所有类型的机器人,均可快速、便捷、安全地复用该云服务模块,从而降低维护成本。
在一个实施例中,该云服务模块仅仅对外提供统一的访问服务器的基础能力而不做任何的业务逻辑,该云服务模块可以是运行在平板上的一个应用程序即APP,也可以是运行在该机器人软件系统上的一个服务或者一个进程,比如,该云服务模块可以是运行在Linux操作系统上的一个服务。另外,由于机器人中有一个中心化的云服务模块与服务器保持连接,可以对机器人整体进行统一的调度,相比各相关模块均单独和服务器进行通信这种传统的开发方式,本发明的这种中心化的模块能够对机器人整体情况有一个相对整体地较好的判断;且由于自定义了机器人内部模块和云服务模块之间的通信协议,因此云服务模块无论通过何种方式实现,对于机器人本身来讲,都是无感的,都是一种IPC通信而已,当修改对云服务模块进行更新或者升级时,也只需修改该云服务模块即可,其他模块则无需处理,进一步降低了机器人的维护成本。
如图1所示,图1是本发明机器人访问服务器的方法的一种实施方式的流程示意图;在图1所述的实施例中,本发明机器人访问服务器的方法包括步骤S10-S30:
步骤S10、机器人内部的数据请求模块对请求信息进行封装,按照自定义通信协议,将封装后的请求信息通过IPC通信接口发送至机器人内部的云服务模块。
本发明实施例中,机器人内部的数据请求模块在需要与服务器进行通信时,可以通过机器人上部署的云服务模块实施。
为了使得机器人内部的任意业务模块均能够通过统一的协议请求云端服务器,需要对常用的HTTP(HyperText Transfer Protocol,超文本传输协议)请求协议做一层封装,从而使得不管访问云服务模块运行在何种系统上均能够通过统一的协议进行IPC通信。
本发明实施例中将机器人内部中任意需要访问服务器的业务模块定义为数据请求模块,数据请求模块对请求信息进行封装,并将封装后的请求信息通过IPC通信接口发送至云服务模块,从而基于云服务模块实现与服务器的通信连接。另外,对于机器人系统来讲,云服务模块也可以理解为:接收和分发云端任务指令的模块,且该云服务模块是一个中心化模块,该云服务模块与机器人系统内的其他功能模块均是通过类似JSON的自定义通信协议进行通信连接和数据交互,且该云服务模块可以在任意平台上运行。
步骤S20、所述云服务模块通过所述IPC通信接口接收封装后的请求信息并解析,得到解析后标准通信协议对应的请求信息,将得到的所述标准通信协议的请求信息发送至服务器。
步骤S30、所述云服务模块接收服务器根据所述标准通信协议的请求信息返回的响应信息,通过IPC通信接口并按照所述自定义通信协议,将所述响应信息发送至所述数据请求模块。
云服务模块通过IPC通信接口接收到数据请求模块封装后的请求信息时,先对封装后的请求信息进行解析,得到统一的标准通信协议对应的请求信息,并将该标准通信协议的请求信息发送至服务器。服务器接收到机器人的云服务模块发送的请求信息,根据所述请求信息,返回对应的响应信息至机器人的云服务模块。机器人的云服务模块接收服务器返回的响应信息,并按照所述自定义通信协议,将所述响应信息通过IPC通信接口发送至对应的数据请求模块。
另外,机器人中的云服务模块也可以通过MQTT与服务器建立通信连接,比如基于MQTT通信并自定义通信协议内容,从而基于自定义MQTT通信协议接收从服务器来的任务和/或指令,并且将服务器发送的任务和/或指令指派给机器人的相关模块进行处理。在基于所述自定义MQTT通信协议与服务器建立通信连接时,所述云服务模块将基于所述自定义MQTT通信协议对应的请求信息发送至服务器。服务器接收到所述云服务模块基于所述自定义MQTT通信协议发送的请求信息时,将获取的所述自定义MQTT通信协议的任务信息发送至所述云服务模块。所述云服务模块接收服务器发送的任务信息,机器人利用所述自定义MQTT通信协议解析所述任务信息,执行所述任务信息映射的相关操作。同时,在机器人内部,各数据请求模块和云服务模块之间也可以按照自定义的通信协议进行数据通信,这种利用自定义通信协议进行通信的方式,增加了数据的安全性。对于一个机器人系统来讲,其内部通信安全是非常重要的,由于自定义了各功能模块比如数据请求模块和云服务模块的通信协议,因此破解具体的自定义协议就加大了门槛;且各模块在基于IPC通信接口进行通信传输的过程中也可以使用加密算法,进一步地确保了机器人的信息安全。
本发明实施例中描述的云服务模块可以理解为根据功能抽象出来的一个功能模块,该云服务模块可以是运行在任意载体上的服务或者进程,该云服务模块本身实现了标准的HTTP网络协议,对外提供了一套标准的IPC通信接口,且能够提供一套自定义的标准协议使得其能够将请求类型和请求参数封装在预设格式的协议中,从而进行跨进程通信和解析。另外,所述云服务模块具备可移植性且独立于机器人内部的所述数据请求模块和其他功能模块,且所述云服务模块仅负责机器人与云服务器之间进行通信数据交互
在具体的应用场景中,该云服务模块可以基于机器人的需求被任意组装和卸载,所以不同的机器人如果不需要联网能力,可以不安装云服务模块;如果需要联网能力,则该机器人的云服务模块能够根据自定义的标准协议进行访问解析;同时,由于通过IPC通信的云服务模块可以作为一个APP运行在平板电脑上,也可以作为一个进程运行(比如Linux进程),因此,机器人自身配置的其他所有业务模块并不需要关心该云服务模块的载体,只需要实现标准的通行协议即可。
在一个具体的应用场景中,如图2所示,图2是本发明机器人访问服务器的方法中机器人与服务器的通信方式的一种具体应用场景示意图;假设在图2所示的应用场景中,该机器人包括三个数据请求模块即模块A、模块B和模块C,这三个数据请求模块分别通过IPC通信接口与云服务模块通信连接,该云服务模块与服务器通信连接。比如,模块A、模块B和模块C表示想要请求云服务器的组件,云服务模块表示一个基础服务且由该云服务模块来连接云服务器和其他请求模块即模块A、模块B和模块C。
在一个实施例中,如图2所示,所述数据请求模块A将包含数据请求类型、请求参数信息和服务器地址的数据请求信息封装成JSON格式的数据,并通过IPC通信接口发送至云服务模块。同时,所述数据请求模块A将该数据请求模块A自身对应的模块名称以及路由点信息也一并进行封装,如此一来,该云服务模块根据封装的模块名称和路由点信息即可快速便捷地找到对应的数据请求模块A。比如,在封装协议上可以增加route name和endPoint属性值,这两个属性值分别表示对应的路由模块以及路由点,这样云服务模块便能够很快的找到对应的数据请求模块;这种处理方式对包含众多功能模块的机器人来讲,有益效果尤其显著。
比如,在一个具体的应用场景中,数据请求模块A对请求信息进行如下封装:
{
"type":"post",
"url":"https://xxx.com/api/",
"payload":{
"paramA":"xxxx"
}
}
其中:type表示请求类型;url表示请求的服务器地址;payload表示请求的参数信息。
所述云服务模块通过所述IPC通信接口接收所述数据请求模块发送的JSON格式的请求信息;将所述JSON格式的请求信息进行解析,获取标准HTTP通信协议的请求信息;将获取的所述标准HTTP通信协议的请求信息发送至服务器,供服务器根据所述标准HTTP通信协议的请求信息返回对应的响应信息。
如图3所示,图3是本发明机器人访问服务器的方法中机器人内部模块之间以及机器人与服务器之间的一种实施方式的信号流示意图;基于图2描述的应用场景,在图3中,数据请求模块即图3中的模块A封装请求协议,并通过IPC通信接口将封装后的请求信息发送至云服务模块,所述云服务模块接收模块A封装后的通信协议,解析请求协议,并将解析后的请求协议按照标准的HTTP通信协议请求服务器,服务器根据云模块发送的请求返回响应信息,并将响应信息对应的返回数据发送至云服务模块,该云服务模块通过IPC通信接口将上述返回数据发送至模块A。
进一步地,在一个实施例中,所述云服务模块提供一个请求列表文档,并与所述数据请求模块共享所述请求列表文档;其中,所述请求列表文档中包括请求编号以及与所述请求编号一一对应的请求文档,且所述请求文档中存储有包含数据请求类型、请求参数信息和服务器地址的数据请求信息。
基于所述请求列表文档,所述数据请求模块发送请求编号至所述云服务模块;所述云服务模块接收所述请求编号,查找所述请求列表文档,获取与所述请求编号对应的请求文档,并得到所述请求文档中包含的请求信息,将所述请求信息发送至服务器。
也就是说,机器人内部的数据请求模块和云服务模块在进行IPC通信时,可以不需要发送请求地址、请求参数等请求信息,云服务模块可以对外提供一份请求列表文档,作为调用者的数据请求模块只需告诉云服务模块执行哪个请求即可。
进一步地,在一个实施例中,机器人内部的数据请求模块还具备数据加密功能。比如,该数据请求模块发送的数据请求信息中如果涉及到敏感信息,则可能存在数据泄露的风险,因此,在进行数据封装时,所述数据请求模块识别所述请求信息的安全等级;若所述请求信息的安全等级达到预设安全等级,则所述数据请求模块不仅需要对所述请求信息进行封装,还需对所述请求信息进行加密;将加密以及封装后的请求信息通过IPC通信接口发送至所述云服务模块,供所述云服务器基于所述请求信息与服务器进行数据通信。在对请求信息进行加密时,所述数据请求模块可以在封装前加密,也可以在封装后加密,其加密方式可以根据数据的敏感程度以及安全等级或者具体的应用场景或者其他方式进行选取,本发明实施例对数据请求模块的具体加密方式不进行限定。
进一步地,在一个实施例中,云服务模块还具备数据缓存功能。云服务模块将得到的所述标准通信协议的请求信息发送至服务器之前,所述云服务模块识别所述请求信息对应的响应信息的实时性;若所述请求信息对应的响应信息的实时性满足预设缓存条件,则缓存本次请求信息对应的响应信息;在预设缓存时长内,若所述云服务模块接收到同样的请求信息,则直接返回已缓存的与所述请求信息对应的响应信息。比如,对于数据实时性要求不高的IPC通信接口,以及与一些请求信息对应的响应信息的实时性要求不高的情况下,云服务模块还可以在内部对所述请求信息对应的响应信息进行缓存。在预设缓存时长内,若再次接收到所述请求信息,则云服务模块直接返回已缓存的上述请求信息对应的响应信息,如此一来便无需经过服务器,直接由云服务模块返回已缓存的响应信息即可,从而在一定程度上缓解了服务器的压力。在本发明的一个实施例中,云服务模块识别请求信息时,该请求信息可以为封装后JSON格式的请求信息,也可以为云服务器模块解析后得到标准通信协议的请求信息;本发明实施例对上述请求信息的具体格式不进行限定。
进一步地,在一个实施例中,所述云服务模块通过所述IPC通信接口,同时接收到多个数据请求模块分别发送的请求信息,对接收到的所述请求信息进行解析,分别得到解析后标准通信协议对应的请求信息;基于解析后得到的标准通信协议对应的请求信息,识别是否存在可共享的请求信息;若存在可共享的请求信息,则所述云服务模块对所述请求信息进行整理汇总后,发送至服务器;通过这种方式,节省了服务器的压力。若不存在可共享的请求信息,则所述云服务模块根据机器人的当前通信能力,将所有的请求信息均发送至服务器。比如,在当前通信质量较好的情况下,直接将所有的请求信息一并发送至服务器;在当前通信质量不足以承载所有的请求信息所分别对应的通信请求时,所述云服务模块根据IPC通信接口分别对应的时效性,按照实时性要求对IPC通信接口对应的请求信息进行排序,并按照排序依次发送上述请求信息至服务器,在保证通信不中断且不造成服务器过大通信压力的情况下,实现机器人的云服务模块与服务器之间的数据的顺利交互。
本发明机器人访问服务器的方法,通过机器人内部的数据请求模块对请求信息进行封装,按照自定义通信协议,将封装后的请求信息通过IPC通信接口发送至机器人内部的云服务模块;所述云服务模块通过所述IPC通信接口接收封装后的请求信息并解析,得到解析后标准通信协议对应的请求信息,将得到的所述标准通信协议的请求信息发送至服务器;所述云服务模块接收服务器根据所述标准通信协议的请求信息返回的响应信息,通过IPC通信接口并按照所述自定义通信协议,将所述响应信息发送至所述数据请求模块;实现了将机器人访问服务器的模块和该机器人具体的产品形态进行隔离的目的,降低了维护成本,同时也提高了机器人的可扩展性。
对应于上述实施例所描述的一种机器人访问云服务器的方法,本发明实施例还提供了一种机器人访问服务器的装置;所述机器人访问服务器的装置在功能上包括:数据请求模块100和云服务模块200,所述云服务模块200具备可移植性且独立于机器人内部的所述数据请求模块100和其他功能模块,且所述云服务模块200仅负责机器人与云服务器之间进行通信数据交互。
其中,所述数据请求模块100用于:对请求信息进行封装,按照自定义通信协议,将封装后的请求信息通过IPC通信接口发送至所述云服务模块。
所述云服务模块200用于:通过所述IPC通信接口接收封装后的请求信息并解析,得到解析后标准通信协议对应的请求信息,基于预设遥测传输技术,将得到的所述标准通信协议的请求信息发送至服务器;接收服务器根据所述标准通信协议的请求信息返回的响应信息,通过IPC通信接口并按照所述自定义通信协议,将所述响应信息发送至所述数据请求模块;
或者:
所述云服务模块200用于:基于自定义MQTT通信协议与服务器建立通信连接时,将基于所述自定义MQTT通信协议对应的请求信息发送至服务器,供服务器将获取的所述自定义MQTT通信协议的任务信息发送至所述云服务模块,以便机器人利用所述自定义MQTT通信协议解析所述任务信息并执行相关操作。
本发明机器人访问服务器的装置具体实施方式与上述机器人访问服务器的方法各实施例的实施原理基本相同,在此不作累述。
本发明机器人访问服务器的装置,通过机器人内部的数据请求模块对请求信息进行封装,按照自定义通信协议,将封装后的请求信息通过IPC通信接口发送至机器人内部的云服务模块;所述云服务模块通过所述IPC通信接口接收封装后的请求信息并解析,得到解析后标准通信协议对应的请求信息,将得到的所述标准通信协议的请求信息发送至服务器;所述云服务模块接收服务器根据所述标准通信协议的请求信息返回的响应信息,通过IPC通信接口并按照所述自定义通信协议,将所述响应信息发送至所述数据请求模块;实现了将机器人访问服务器的模块和该机器人具体的产品形态进行隔离的目的,降低了维护成本,同时也提高了机器人的可扩展性。
本发明还提供了一种电子设备,所述电子设备可以按照图1所述的机器人访问服务器的方法来访问服务器。如图5所示,图5是本发明电子设备的一种实施方式的内部结构示意图。
在本实施例中,电子设备1可以是PC(Personal Computer,个人电脑),也可以是智能手机、平板电脑、便携计算机等终端设备。该电子设备1至少包括存储器11、处理器12,通信总线13,以及网络接口14。
其中,存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器11在一些实施例中可以是电子设备1的内部存储单元,例如该电子设备1的硬盘。存储器11在另一些实施例中也可以是电子设备1的外部存储设备,例如电子设备1上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器11还可以既包括电子设备1的内部存储单元也包括外部存储设备。存储器11不仅可以用于存储安装于电子设备1的应用软件及各类数据,例如机器人访问服务器的程序即服务器访问程序01的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
处理器12在一些实施例中可以是一中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据,例如执行服务器访问程序01等。
通信总线13用于实现这些组件之间的连接通信。
网络接口14可选的可以包括标准的有线接口、无线接口(如WI-FI接口),通常用于在该电子设备1与其他电子设备之间建立通信连接。
可选地,该电子设备1还可以包括用户接口,用户接口可以包括显示器(Display)、输入单元比如键盘(Keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备1中处理的信息以及用于显示可视化的用户界面。
图5仅示出了具有组件11-14以及服务器访问程序01的电子设备1,本领域技术人员可以理解的是,图5示出的结构并不构成对电子设备1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
基于图1、图2、图3和图4实施例的描述,在图5所示的电子设备1实施例中,存储器11中存储有服务器访问程序01;所述存储器11上存储的服务器访问程序01可在所述处理器12上运行,所述服务器访问程序01被所述处理器12运行时实现如下步骤:
机器人内部的数据请求模块对请求信息进行封装,按照自定义通信协议,将封装后的请求信息通过IPC通信接口发送至机器人内部的云服务模块;所述云服务模块通过所述IPC通信接口接收封装后的请求信息并解析,得到解析后标准通信协议对应的请求信息,将得到的所述标准通信协议的请求信息发送至服务器;所述云服务模块接收服务器根据所述标准通信协议的请求信息返回的响应信息,通过IPC通信接口并按照所述自定义通信协议,将所述响应信息发送至所述数据请求模块。
其中,所述云服务模块具备可移植性且独立于机器人内部的所述数据请求模块和其他功能模块,且所述云服务模块仅负责机器人与云服务器之间进行通信数据交互。
本发明电子设备的具体实施方式与上述机器人访问服务器的方法各实施例的实施原理基本相同,在此不作累述。
本发明电子设备,通过数据请求模块对请求信息进行封装,按照自定义通信协议,将封装后的请求信息通过IPC通信接口发送至机器人内部的云服务模块;所述云服务模块通过所述IPC通信接口接收封装后的请求信息并解析,得到解析后标准通信协议对应的请求信息,将得到的所述标准通信协议的请求信息发送至服务器;所述云服务模块接收服务器根据所述标准通信协议的请求信息返回的响应信息,通过IPC通信接口按照自定义通信协议,将所述响应信息发送至所述数据请求模块;实现了将机器人访问服务器的模块和该机器人具体的产品形态进行隔离的目的,降低了维护成本,同时也提高了机器人的可扩展性。
此外,本发明实施例还提供了一种计算机存储介质,所述计算机存储介质上存储有服务器访问程序,所述服务器访问程序可以被一个或者多个处理器执行,以实现下操作:
机器人内部的数据请求模块对请求信息进行封装,按照自定义通信协议,将封装后的请求信息通过IPC通信接口发送至机器人内部的云服务模块;所述云服务模块通过所述IPC通信接口接收封装后的请求信息并解析,得到解析后标准通信协议对应的请求信息,将得到的所述标准通信协议的请求信息发送至服务器;所述云服务模块接收服务器根据所述标准通信协议的请求信息返回的响应信息,通过IPC通信接口并按照所述自定义通信协议,将所述响应信息发送至所述数据请求模块。
本发明计算机可读存储介质具体实施方式与上述机器人访问服务器的方法、机器人访问服务器的装置和电子设备对应的各实施例的实施原理基本相同,在此不作累述。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种机器人访问服务器的方法,其特征在于,所述机器人访问服务器的方法包括:
机器人内部的数据请求模块对请求信息进行封装,按照自定义通信协议,将封装后的请求信息通过IPC通信接口发送至机器人内部的云服务模块;
所述云服务模块通过所述IPC通信接口接收封装后的请求信息并解析,得到解析后标准通信协议对应的请求信息,将得到的所述标准通信协议的请求信息发送至服务器;
所述云服务模块接收服务器根据所述标准通信协议的请求信息返回的响应信息,通过IPC通信接口并按照所述自定义通信协议,将所述响应信息发送至所述数据请求模块;
其中,所述云服务模块具备可移植性且独立于机器人内部的所述数据请求模块和其他功能模块,且所述云服务模块仅负责机器人与云服务器之间进行通信数据交互。
2.如权利要求1所述的机器人访问服务器的方法,其特征在于,所述机器人内部的数据请求模块对请求信息进行封装,包括:
所述数据请求模块将包含数据请求类型、请求参数信息和服务器地址的数据请求信息封装成JSON格式的数据;
同时,所述数据请求模块将所述数据请求模块自身对应的模块名称和路由点信息与所述请求信息一并进行封装,以便所述云服务模块基于封装的所述模块名称和路由点信息快捷地找到对应的数据请求模块。
3.如权利要求2所述的机器人访问服务器的方法,其特征在于,所述云服务模块通过所述IPC通信接口接收封装后的请求信息并解析,得到标准通信协议对应的请求信息,将得到的所述标准通信协议的请求信息发送至服务器,包括:
所述云服务模块通过所述IPC通信接口接收所述数据请求模块发送的JSON格式的请求信息;
将所述JSON格式的请求信息进行解析,获取标准HTTP通信协议的请求信息;
将获取的所述标准HTTP通信协议的请求信息发送至服务器,供服务器根据所述标准HTTP通信协议的请求信息返回对应的响应信息;
或者:
所述云服务模块基于自定义MQTT通信协议与服务器建立通信连接时,所述云服务模块将基于所述自定义MQTT通信协议对应的请求信息发送至服务器,供服务器将获取的所述自定义MQTT通信协议的任务信息发送至所述云服务模块,以便机器人利用所述自定义MQTT通信协议解析所述任务信息并执行相关操作。
4.如权利要求1所述的机器人访问服务器的方法,其特征在于,所述机器人访问服务器的方法还包括:
所述云服务模块提供一个请求列表文档,并与所述数据请求模块共享所述请求列表文档;其中,所述请求列表文档中包括请求编号以及与所述请求编号一一对应的请求文档,且所述请求文档中存储有包含数据请求类型、请求参数信息和服务器地址的数据请求信息;
基于所述请求列表文档,所述数据请求模块发送请求编号至所述云服务模块;
所述云服务模块接收所述请求编号,查找所述请求列表文档,获取与所述请求编号对应的请求文档,并得到所述请求文档中包含的请求信息,将所述请求信息发送至服务器。
5.如权利要求1所述的机器人访问服务器的方法,其特征在于,所述云服务模块将得到的所述标准通信协议的请求信息发送至服务器,之前还包括:
所述云服务模块识别所述数据请求模块发送的与所述请求信息对应的响应信息的实时性;
若所述请求信息对应的响应信息的实时性满足预设缓存条件,则缓存本次请求信息对应的响应信息;在预设缓存时长内,若所述云服务模块接收到同样的请求信息,则直接返回已缓存的与所述请求信息对应的响应信息。
6.如权利要求1所述的机器人访问服务器的方法,其特征在于,所述机器人内部的数据请求模块对请求信息进行封装,按照自定义通信协议,将封装后的请求信息通过IPC通信接口发送至机器人内部的云服务模块,包括:
所述数据请求模块识别所述请求信息的安全等级;
若所述请求信息的安全等级达到预设安全等级,则所述数据请求模块不仅对所述请求信息进行封装,还对所述请求信息进行加密;
利用在机器人内部数据模块之间通信的自定义通信协议,将加密以及封装后的请求信息通过IPC通信接口发送至所述云服务模块,供所述云服务器基于所述请求信息与服务器进行数据通信。
7.如权利要求1至6任一项所述的机器人访问服务器的方法,其特征在于,所述云服务模块通过所述IPC通信接口接收封装后的请求信息并解析,得到解析后标准通信协议对应的请求信息,将得到的所述标准通信协议的请求信息发送至服务器,包括:
所述云服务模块通过所述IPC通信接口,同时接收到多个数据请求模块分别发送的请求信息,对接收到的所述请求信息进行解析,分别得到解析后标准通信协议对应的请求信息;
基于解析后得到的标准通信协议对应的请求信息,识别是否存在可共享的请求信息;
若存在可共享的请求信息,则所述云服务模块对所述请求信息进行整理汇总后,发送至服务器;
若不存在可共享的请求信息,则所述云服务模块根据机器人的当前通信能力,将所有的请求信息均发送至服务器。
8.一种机器人访问服务器的装置,其特征在于,所述机器人访问服务器的装置包括:数据请求模块和云服务模块,所述云服务模块具备可移植性且独立于机器人内部的所述数据请求模块和其他功能模块,且所述云服务模块仅负责机器人与云服务器之间进行通信数据交互;其中:
所述数据请求模块用于:对请求信息进行封装,按照自定义通信协议,将封装后的请求信息通过IPC通信接口发送至所述云服务模块;
所述云服务模块用于:
通过所述IPC通信接口接收封装后的请求信息并解析,得到解析后标准通信协议对应的请求信息,将得到的所述标准通信协议的请求信息发送至服务器;接收服务器根据所述标准通信协议的请求信息返回的响应信息,通过IPC通信接口并按照所述自定义通信协议,将所述响应信息发送至所述数据请求模块;
或者:
所述云服务模块用于:基于自定义MQTT通信协议与服务器建立通信连接时,将基于所述自定义MQTT通信协议对应的请求信息发送至服务器,供服务器将获取的所述自定义MQTT通信协议的任务信息发送至所述云服务模块,以便机器人利用所述自定义MQTT通信协议解析所述任务信息并执行相关操作。
9.一种电子设备,其特征在于,所述电子设备包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的服务器访问程序,所述服务器访问程序被所述处理器运行时,执行如权利要求1至7中任一项所述的机器人访问服务器的方法。
10.一种计算机存储介质,其特征在于,所述存储介质上存储有服务器访问程序,所述服务器访问程序可以被一个或者多个处理器执行,以实现如权利要求1至7中任一项所述的机器人访问服务器的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010318882.1A CN111212097A (zh) | 2020-04-21 | 2020-04-21 | 机器人访问服务器的方法、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010318882.1A CN111212097A (zh) | 2020-04-21 | 2020-04-21 | 机器人访问服务器的方法、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111212097A true CN111212097A (zh) | 2020-05-29 |
Family
ID=70788949
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010318882.1A Withdrawn CN111212097A (zh) | 2020-04-21 | 2020-04-21 | 机器人访问服务器的方法、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111212097A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113535627A (zh) * | 2021-07-30 | 2021-10-22 | 张恒 | 一种实现多种协议集成的方法及装置 |
CN115883678A (zh) * | 2023-03-08 | 2023-03-31 | 国网瑞嘉(天津)智能机器人有限公司 | 一种数据处理系统、方法、装置、设备及介质 |
CN119363825A (zh) * | 2024-12-20 | 2025-01-24 | 杭州海康威视数字技术股份有限公司 | 一种设备信息传输方法、装置、电子设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102291437A (zh) * | 2011-07-27 | 2011-12-21 | 武汉天喻信息产业股份有限公司 | 跨平台互联网应用的实现系统及方法 |
CN106060058A (zh) * | 2016-06-16 | 2016-10-26 | 华南理工大学 | 基于互联网的工业机器人远程控制方法 |
CN106686092A (zh) * | 2016-12-30 | 2017-05-17 | 深圳先进技术研究院 | 机器人的通讯方法及系统 |
CN109413154A (zh) * | 2018-09-26 | 2019-03-01 | 平安普惠企业管理有限公司 | 数据格式转换方法、装置、计算机设备及存储介质 |
CN109525661A (zh) * | 2018-11-14 | 2019-03-26 | 北京奇艺世纪科技有限公司 | 数据传输方法及装置 |
CN110733038A (zh) * | 2019-09-30 | 2020-01-31 | 浙江工业大学 | 工业机器人远程监控及数据处理系统 |
-
2020
- 2020-04-21 CN CN202010318882.1A patent/CN111212097A/zh not_active Withdrawn
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102291437A (zh) * | 2011-07-27 | 2011-12-21 | 武汉天喻信息产业股份有限公司 | 跨平台互联网应用的实现系统及方法 |
CN106060058A (zh) * | 2016-06-16 | 2016-10-26 | 华南理工大学 | 基于互联网的工业机器人远程控制方法 |
CN106686092A (zh) * | 2016-12-30 | 2017-05-17 | 深圳先进技术研究院 | 机器人的通讯方法及系统 |
CN109413154A (zh) * | 2018-09-26 | 2019-03-01 | 平安普惠企业管理有限公司 | 数据格式转换方法、装置、计算机设备及存储介质 |
CN109525661A (zh) * | 2018-11-14 | 2019-03-26 | 北京奇艺世纪科技有限公司 | 数据传输方法及装置 |
CN110733038A (zh) * | 2019-09-30 | 2020-01-31 | 浙江工业大学 | 工业机器人远程监控及数据处理系统 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113535627A (zh) * | 2021-07-30 | 2021-10-22 | 张恒 | 一种实现多种协议集成的方法及装置 |
CN115883678A (zh) * | 2023-03-08 | 2023-03-31 | 国网瑞嘉(天津)智能机器人有限公司 | 一种数据处理系统、方法、装置、设备及介质 |
CN119363825A (zh) * | 2024-12-20 | 2025-01-24 | 杭州海康威视数字技术股份有限公司 | 一种设备信息传输方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3764220B1 (en) | Automatic application updates | |
US10222926B2 (en) | Systems and methods for providing user interfaces for management applications | |
US11640289B2 (en) | Microservices cloud-native architecture for ubiquitous simulation as a service | |
CN110311983B (zh) | 服务请求的处理方法、装置、系统、电子设备及存储介质 | |
US11016716B2 (en) | Picture interface display method and apparatus according to jump protocol | |
CN111212097A (zh) | 机器人访问服务器的方法、设备及存储介质 | |
JP6766895B2 (ja) | セキュアな通信を行う方法および産業コンピューティング装置 | |
CN109067732B (zh) | 物联网设备及数据接入系统、方法及计算机可读存储介质 | |
US20190173960A1 (en) | Method, device and computer program product for protocol selection | |
CN111193716B (zh) | 业务数据调用方法、装置、计算机设备和存储介质 | |
CN111045833A (zh) | 接口调用的方法和装置 | |
CN110830374A (zh) | 一种基于sdk的灰度发布的方法和装置 | |
US11604848B2 (en) | Technologies for cross-device shared web resource cache | |
Kim et al. | Developing an On‐Demand Cloud‐Based Sensing‐as‐a‐Service System for Internet of Things | |
CN110929128A (zh) | 一种数据爬取方法、装置、设备和介质 | |
CN113794652A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN113595927A (zh) | 一种旁路模式下镜像流量的处理方法和装置 | |
CN105516250A (zh) | 物联网服务调用平台和系统 | |
CN111131439A (zh) | 基于iSCSI的报文传输方法、装置、设备及存储介质 | |
CN112965739A (zh) | 前端http请求处理方法、装置及系统 | |
CN112491792B (zh) | 数据安全传输方法、装置、设备及可读存储介质 | |
US12099473B1 (en) | Systems and methods for centralized logging for enhanced scalability and security of web services | |
CN115374207A (zh) | 业务处理方法及装置、电子设备和计算机可读存储介质 | |
CN113961376A (zh) | 一种消息中间件的切换方法和装置 | |
CN113722115B (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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20200529 |