发明内容
本发明实施方式的目的在于提供一种数据分享方法、机器人控制器及存储介质,使得提高了云端服务器和机器人的安全性。
为解决上述技术问题,本发明的实施方式提供了一种数据分享方法,应用于机器人控制器的安全系统,机器人控制器还配置有通用系统,安全系统和通用系统之间通信连接,安全系统用于安装机器人的服务程序,通用系统用于安装第三方应用程序,安全系统与机器人和云端服务器通信连接;数据分享方法包括:获取待分享数据;将待分享数据传输至通用系统的第三方应用程序。
本发明的实施方式还提供了一种机器人控制器,机器人控制器设置有安全系统和通用系统,安全系统和通用系统之间通信连接,安全系统用于安装机器人的服务程序,通用系统用于安装第三方应用程序,安全系统与机器人和云端服务器通信连接;安全系统用于:获取待分享数据;将待分享数据传输至通用系统的第三方应用程序;通用系统用于:接收安全系统分享的待分享数据。
本发明的实施方式还提供了一种机器人控制器,包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行如上述实施方式提及的数据分享方法。
本发明的实施方式还提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时实现上述实施方式提及的数据分享方法。
本发明实施方式相对于现有技术而言,由于第三方应用程序安装在通用系统中,通用系统无法接入云端服务器和机器人,第三方应用程序无法对云端服务器和机器人发起攻击,提高了云端服务器和机器人的安全性。在将第三方应用程序独立在通用系统的情况下,由安全系统将第三方应用程序所需的数据分享给第三方应用程序,这使得可以在保证云端服务器和机器人的安全性的情况下,确保第三方应用程序正常运行。
另外,安全系统与机器人控制器的外接设备连接;获取待分享数据,包括:接收机器人、云端服务器和机器人控制器的外接设备中任意一个或任意组合传输的数据;根据接收的数据,以及安全系统配置的数据分享权限,确定待分享数据。
另外,在根据接收的数据,以及预先设置的数据分享权限,确定待分享数据之前,还包括:接收云端服务器下发的分享权限配置表;根据分享权限配置表,配置数据分享权限。
另外,数据分享方法还包括:接收云端服务器的查询指令,查询指令指示反馈安全系统的数据分享权限;将安全系统的数据分享权限发送至云端服务器;其中,云端服务器判断安全系统的数据分享权限和机器人的数据分享权限是否相同,若确定不同,发送机器人的数据分享权限配置表至安全系统;在接收到云端服务器下发的机器人的数据分享权限配置表后,根据机器人的数据分享权限配置表,更新安全系统的数据分享权限。
另外,在将待分享数据传输至通用系统的第三方应用程序之后,数据分享方法还包括:接收第三方应用程序发送的反馈数据;判断反馈数据是否为预设字符串;若确定不是,不响应反馈数据。
另外,若确定反馈数据为预设字符串,数据分享方法还包括:根据反馈数据,确定数据分享结果。
另外,通用系统还用于:在接收待分享数据后,发送反馈数据至安全系统,反馈数据指示分享成功或分享失败;安全系统还用于:在将待分享数据传输至通用系统的第三方应用程序之后,在接收反馈数据;判断反馈数据是否为预设字符串;若确定不是,不响应反馈数据。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。
除非上下文明确要求,否则整个说明书和权利要求书中的“包括”、“包含”等类似词语应当解释为包含的含义而不是排他或穷举的含义;也就是说,是“包括但不限于”的含义。
在本发明公开的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本发明公开的描述中,除非另有说明,“多个”的含义是两个或两个以上。
本发明的第一实施方式涉及一种数据分享方法,应用于机器人控制器的安全系统。如图1所示,数据分享方法包括:
步骤101:获取待分享数据。
在一个实施例中,如图2所示,机器人控制器201上连接着多个外接设备,即机器人控制器的外接设备202,其中,可以包括云端服务器203需要的外接设备。机器人控制器201向上与云端服务器203连接,向下与机器人204相连接,作为云端服务器203与机器人204连接的桥梁,完成云端服务器203对机器人204的赋能。在实施过程中,机器人204本体中部署在中央控制单元(Central Control Unit,CCU),CCU上连接着机器人204需要的各种外接设备(简称机器人的外接设备)205。可以分享的机器人数据一部分来自于机器人的外接设备205获取的数据,一部分来自于CCU计算后得到的数据,另外一部分来自于机器人控制器的外接设备202的数据。
在一个实施例中,待分享数据可以包括机器人、云端服务器和机器人控制器的外接设备中任意一个或任意组合传输的数据,例如,机器人的中央控制器计算得到的数据、机器人转发的机器人的外接设备的数据、云端服务器发送的数据和机器人控制器的外接设备的数据。
在另一个实施例中,安全系统接收机器人、云端服务器和机器人控制器的外接设备中任意一个或任意组合传输的数据;根据接收的数据,以及安全系统配置的数据分享权限,确定待分享数据。具体地说,安全系统中针对不同设备发送的数据,分别设置数据分享权限,机器人基于数据分享权限,将可分享的数据,作为待分享数据。
值得一提的是,安全系统为不同设备的数据分别设置数据分享权限,进一步提高了机器人控制器的数据安全性。
需要说明的是,本领域技术人员可以理解,待分享数据还可以是其他设备的数据或安全系统自身的数据,本实施方式仅为举例说明,不限制待分享数据的具体来源。
在一个实施例中,安全系统在根据接收的数据,以及预先设置的数据分享权限,确定待分享数据之前,安全系统接收云端服务器下发的分享权限配置表;根据分享权限配置表,配置数据分享权限。
例如,如图3所示,机器人控制器310上部署的通用系统311和安全系统312中,分别部署着不同的应用程序或者服务。在安全系统中部署着机器人的服务程序3121,如机器人的基础能力服务程序、机器人自身的应用程序等,实现多种机器人在机器人控制器上需要实现的共同的能力。在通用系统311中部署着一个或者多个第三方应用程序3111。安全系统312和通用系统311之间提供通信通道,第三方应用程序3111和机器人的基础能力服务程序通过该通信通道进行通信。同时,在安全系统312中部署着数据分享管理器3122,用于查询和管理与通用系统中的第三方应用程序3111分享机器人数据的数据分享功能单元(图中未示出)。机器人数据的数据分享功能单元工作在安全系统312和通用系统311之间的通信通道之上。在实施过程中,安全系统312能够连接云端服务器320和机器人330,通用系统311则无法接入云端服务器320与机器人330。同时,与机器人业务相关的机器人控制器的外接设备340也只连接到安全系统312中,通用系统311无法访问或者控制这些机器人控制器310的外接设备340。在机器人330的外接设备350获取数据之后,由CCU运算处理后,传送给机器人控制器310中部署的安全系统312中的服务程序3121。此后机器人数据分两路,一路传送给云端服务器320,另一路数据通过数据分享管理器3122的数据分享功能单元,传送给部署在通用系统311中的第三方应用程序3111。数据分享的过程中,数据分享管理器3122接收云端服务器320下发的分享权限配置表;根据分享权限配置表,配置数据分享权限。安全系统312中的服务程序3121在将云端服务器320、机器人330、机器人的外接设备340和机器人控制器310的外接设备350中任意一个设备发送的数据分享给通用系统311的第三方应用程序3111的过程中,先查询配置的数据分享权限,基于配置的数据分享权限,确定待分享数据。
在一个实施例中,可以针对机器人不同功能的数据,分别设置数据分享权限。每个功能都形成一个对应的数据分享权限。安全系统基于分享权限配置表,配置各个功能的数据分享权限时,可以将数据权限配置表作为机器人的数据分享权限列表,也可以根据具体的配置过程,自动生成的机器人的数据分享权限列表。在机器人的数据分享权限列表中,对每个功能的数据分享权限进行设置。数据分享权限设置的具体值可以包括打开,关闭或者其他的控制值。相应的,数据分享管理器中针对机器人的每个功能分别设置数据分享功能单元。每个数据分享功能单元用于判断相应的功能对应的数据的分享权限。在确定是否可以分享某个机器人某个功能的数据的时候,该功能对应的数据分享功能单元查询机器人的数据分享权限列表,确定该功能的数据的数据分享权限的配置值,查询数据分享权限属性列表,确定该数据分享权的具体值,如打开、关闭或其他。若具体值是打开,则该功能对应的数据是待分享数据,若具体值是关闭,则该功能对应的数据不是待分享数据。
在一个实施例中,安全系统在获取待分享数据之前或之后的任意时刻,若接收到云端服务器的查询指令,查询指令指示反馈安全系统的数据分享权限;将安全系统的数据分享权限发送至云端服务器;其中,云端服务器判断安全系统的数据分享权限和机器人的数据分享权限是否相同,若确定不同,发送机器人的数据分享权限至安全系统;安全系统在接收到云端服务器下发的机器人的数据分享权限后,根据机器人的数据分享权限,更新安全系统的数据分享权限。
值得一提的是,机器人控制器基于云端服务器的指令更改数据分享权限,使得该机器人控制器可以适配于更多类型的机器人。
例如,在配置不同机器人的数据分享权限的过程中,云端服务器(即机器人云端大脑)与机器人控制器配合工作。机器人的数据分享管理器负责与云端服务器通信,响应云端服务器的请求查询当前设置的机器人的数据分享类型、改变机器人的数据分享类型等过程。上述过程都是由云端服务器发起,由机器人控制器中的数据分享管理器进行响应。查询或者改变机器人的数据分享权限的过程如图4所示,包括以下步骤:
步骤401:云端服务器绑定机器人控制器和机器人。
步骤402:云端服务器发送查询指令至机器人控制器,查询机器人控制器当前配置的数据分享类型。具体地说,不同的数据分享类型中,各个设备(云端服务器、机器人、机器人的外接设备和机器人控制器的外接设备等)的数据分享权限不同。云端服务器可以通过查询机器人控制器当前配置的数据分享类型,确定机器人控制器的数据分享权限,即安全系统的数据分享权限。
步骤403:机器人控制器的数据分享管理器查询机器人控制器当前配置的数据分享类型。具体地说,数据分享管理器中可以记录当前配置的数据分享类型,基于记录确定机器人控制器当前配置的数据分享类型,也可以记录数据分享类型和数据分享权限的对应关系,根据该对应关系,以及安全系统的数据分享权限,确定机器人控制器当前配置的数据分享类型。
步骤404:机器人控制器反馈当前配置的数据分享类型给云端服务器。
步骤405:云端服务器判断当前配置的数据分享类型与绑定的机器人的数据分享类型是否相同。若确定相同,不进行后续操作,结束查询过程,若确定不同,执行步骤406。
步骤406:云端服务器推送绑定的机器人的数据分享类型对应的数据分享权限配置表给机器人控制器。
步骤407:机器人控制器的数据分享管理器根据该数据分享权限配置表,设置各个设备的数据分享权限。
步骤408:机器人控制器反馈各个设备的数据分享权限的更新结果给云端服务器。
步骤409:云端服务器检查机器人控制器的更新结果。其中,云端服务器可以通过判断更新结果是否指示更新成功,来确定机器人控制器中的数据分享权限是否更新成功。云端服务器也可以在接收到更新结果,且确定更新结果指示更新成功后,通过执行步骤402至步骤405,对更新结果进行检查,若当前配置的数据分享类型与绑定的机器人的数据分享类型相同,说明更新成功。
步骤102:将待分享数据传输至通用系统的第三方应用程序。
具体地说,机器人控制器还配置有通用系统,安全系统和通用系统之间通信连接,安全系统用于安装机器人的服务程序,通用系统用于安装第三方应用程序。安全系统与机器人和云端服务器通信连接。由于第三方应用程序安装在通用系统中,通用系统无法接入云端服务器和机器人,第三方应用程序无法对云端服务器和机器人发起攻击,提高了云端服务器和机器人的安全性。在将第三方应用程序独立在通用系统的情况下,由安全系统将第三方应用程序所需的数据分享给第三方应用程序,这使得可以在保证云端服务器和机器人的安全性的情况下,确保第三方应用程序正常运行。
需要说明的是,本领域技术人员可以理解,实际应用中,将待分享数据传输至通用系统的第三方应用程序的方式可以根据需要设置,例如,可以对待分享数据进行加密后再传输,本实施方式不作限制。
需要说明的是,以上仅为举例说明,并不对本发明的技术方案构成限定。
与现有技术相比,本实施方式中提供的数据分享方法,由于第三方应用程序安装在通用系统中,通用系统无法接入云端服务器和机器人,第三方应用程序无法对云端服务器和机器人发起攻击,提高了云端服务器和机器人的安全性。在将第三方应用程序独立在通用系统的情况下,由安全系统将第三方应用程序所需的数据分享给第三方应用程序,这使得可以在保证云端服务器和机器人的安全性的情况下,确保第三方应用程序正常运行。
本发明的第二实施方式涉及一种数据分享方法,本实施方式在第一实施方式的基础上做了进一步改进,具体改进之处为:
具体的说,如图5所示,在本实施方式中,包含步骤501至步骤506,其中,步骤501和步骤502分别与第一实施方式中的步骤101和步骤102大致相同,此处不再赘述。下面主要介绍不同之处:
步骤501:获取待分享数据。
步骤502:将待分享数据传输至通用系统的第三方应用程序。
步骤503:接收第三方应用程序发送的反馈数据。
具体地说,为使安全系统能够获知待分享数据的传输情况,第三方应用程序在接收待分享数据后,可以发送反馈数据给安全系统,安全系统根据反馈数据,确定数据分享结果。
步骤504:判断反馈数据是否为预设字符串。
具体地说,安全系统在接收到反馈数据后,若确定反馈数据为预设字符串,则说明该反馈数据为有效数据,执行步骤506,如果不是,执行步骤505。
步骤505:不响应反馈数据。
具体地说,若反馈数据不是预设字符串,说明该数据有可能是恶意数据或无效数据,安全系统不响应反馈数据。可选择的,安全系统可以丢弃或删除该反馈数据。
步骤506:根据反馈数据,确定数据分享结果。
具体地说,若反馈数据为预设字符串,安全系统可以根据字符串的含义,确定待分享数据是否分享成功。
在一个实施例中,预设字符串为“OK”和“ERROR”。第三方应用程序在成功接收待分享数据后,发送包括“OK”字符串的反馈数据至安全系统,在待分享数据接收失败后,发送包括“ERROR”字符串的反馈数据至安全系统。安全系统若确定反馈数据包括“OK”,则确定待分享数据分享成功,若确定反馈数据包括“ERROR”,则确定待分享数据分享失败。
需要说明的是,本领域技术人员可以理解,预设字符串可以根据需要选择,各个预设字符串的含义也可以根据需要设置,本实施方式仅为举例说明。
值得一提的是,安全系统不响应除预设字符串外的其他数据,可以避免黑客通过第三方应用程序攻击安全系统,进一步提高了安全系统、云端服务器和机器人的安全性。
在一个实施例中,安全系统和第三方应用程序之间的通信通道可以被配置为只允许数据流通过,不允许控制流通过,以避免黑客通过第三方应用程序控制安全系统。
需要说明的是,以上仅为举例说明,并不对本发明的技术方案构成限定。
与现有技术相比,本实施方式中提供的数据分享方法,由于第三方应用程序安装在通用系统中,通用系统无法接入云端服务器和机器人,第三方应用程序无法对云端服务器和机器人发起攻击,提高了云端服务器和机器人的安全性。在将第三方应用程序独立在通用系统的情况下,由安全系统将第三方应用程序所需的数据分享给第三方应用程序,这使得可以在保证云端服务器和机器人的安全性的情况下,确保第三方应用程序正常运行。除此之外,安全系统不响应第三方应用程序的包括不是预设字符串的反馈数据,避免了第三方应用程序通过安全系统攻击云端服务器和机器人的情况,进一步提高了机器人和云端服务器的安全性。
上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。
本发明的第三实施方式涉及一种机器人控制器60,如图6所示,机器人控制器60设置有安全系统601和通用系统602,安全系统601和通用系统602之间通信连接,安全系统601用于安装机器人的服务程序,通用系统602用于安装第三方应用程序,安全系统601与机器人和云端服务器通信连接。安全系统601用于:获取待分享数据;将待分享数据传输至通用系统的第三方应用程序。通用系统602用于:接收安全系统分享的待分享数据。
在一个实施例中,通用系统602还用于:在接收待分享数据后,发送反馈数据至安全系统,反馈数据指示分享成功或分享失败。安全系统601还用于:在将待分享数据传输至通用系统的第三方应用程序之后,在接收反馈数据;判断反馈数据是否为预设字符串;若确定不是,不响应反馈数据。
不难发现,本实施方式为与第一实施方式或第二实施方式相对应的系统实施例,本实施方式可与第一实施方式或第二实施方式互相配合实施。第一实施方式或第二实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第一实施方式或第二实施方式中。
值得一提的是,本实施方式中所涉及到的各模块均为逻辑模块,在实际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本发明的创新部分,本实施方式中并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,但这并不表明本实施方式中不存在其它的单元。
本发明的第四实施方式涉及一种机器人控制器,如图7所示,包括:至少一个处理器701;以及,与至少一个处理器701通信连接的存储器702;其中,存储器702存储有可被至少一个处理器701执行的指令,指令被至少一个处理器701执行,以使至少一个处理器701能够执行如上述实施方式提及的数据分享方法。
该机器人控制器包括:一个或多个处理器701以及存储器702,图7中以一个处理器701为例。处理器701、存储器702可以通过总线或者其他方式连接,图7中以通过总线连接为例。存储器702作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。处理器701通过运行存储在存储器702中的非易失性软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述数据分享方法。
存储器702可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储选项列表等。此外,存储器702可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施方式中,存储器702可选包括相对于处理器701远程设置的存储器,这些远程存储器可以通过网络连接至外接设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
一个或者多个模块存储在存储器702中,当被一个或者多个处理器701执行时,执行上述任意方法实施方式中的数据分享方法。
上述机器人控制器可执行本申请实施方式所提供的方法,具备执行方法相应的功能模块和有益效果,未在本实施方式中详尽描述的技术细节,可参见本申请实施方式所提供的方法。
本发明的第五实施方式涉及一种计算机可读存储介质,存储有计算机程序。计算机程序被处理器执行时实现上述方法实施例。
即,本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。