1.本技术实施例涉及机器人技术领域,尤其涉及一种数据灾备方法、系统、装置及存储介质。
背景技术:2.当下,随着机器人技术的不断发展,机器人的功能越来越多元化,这使得机器人在工作时需要传输大量的数据。在云端机器人的使用场景中,云端机器人的相关数据存放在本地的数据中心。但是,当本地的数据中心存在数据缺失或损坏时,可能会导致机器人出现宕机或故障。因此,有待提出一种新的解决方案。
技术实现要素:3.本技术实施例提供一种数据灾备方法、系统、装置及存储介质,用以对本地数据中心中的数据进行灾备,降低数据丢失的风险,进而,降低机器人因数据缺失而出现故障或宕机的风险。
4.本技术实施例提供一种数据灾备方法,包括:接收机器人发送的数据处理请求;将所述数据处理请求发送到本地数据中心;若未接收到所述本地数据中心返回的与所述数据处理请求对应的数据处理结果,则将所述数据处理请求同步发送至云服务器;所述云服务器用于对所述本地数据中心中的数据进行灾备;接收所述云服务器返回的数据处理结果,并将所述数据处理结果同步返回至所述机器人。
5.进一步可选地,所述数据处理请求包括:数据写入请求;所述方法还包括:若接收到所述本地数据中心返回的与所述数据写入请求对应的写成功指令,则将所述数据写入请求异步发送至所述云服务器,以使所述云服务器对所述数据写入请求对应的数据进行灾备。
6.进一步可选地,所述数据处理请求携带第一认证信息;所述第一认证信息用于所述本地数据中心对所述机器人进行身份认证;将所述数据处理请求发送至云服务器之前,还包括:根据所述云服务器遵循的通信协议,将所述第一认证信息更新为与所述云服务器适配的第二认证信息,以使得所述云服务器对所述机器人进行身份认证。
7.进一步可选地,所述数据处理请求包括:数据写入请求;将所述数据处理请求发送至云服务器,包括:确定待写入数据的数据存储路径;根据所述数据存储路径以及所述待写入数据,向所述云服务器发送所述数据写入指令,以使得所述云服务器根据所述数据存储路径将所述待写入数据写入存储系统。
8.进一步可选地,所述数据处理请求包括:数据读取请求;将所述数据处理请求发送至云服务器,包括:确定待读取数据在所述云服务器上的存储目录;根据所述存储目录向所述云服务器发送数据读取请求,以使得所述云服务器从所述存储目录下读取所述并返回所述待读取数据。
9.进一步可选地,所述方法还包括:根据所述网关当前的内存使用情况,动态配置流
量阈值;所述流量阈值用于控制所述网关发送到所述云服务器的流量。
10.进一步可选地,所述方法还包括:在所述本地数据中心异常后或在预设时间段内,遍历所述云服务器中的灾备数据和所述本地数据中心中的数据,以确定未同步的增量数据;在所述云服务器和所述本地数据中心之间,对所述增量数据进行增量同步。
11.进一步可选地,在所述云服务器和所述本地数据中心之间,对所述增量数据进行增量同步,包括:在所述本地数据中心异常恢复后,将所述云服务器中的增量数据回填到所述本地数据中心。
12.进一步可选地,在所述云服务器和所述本地数据中心之间,对所述增量数据进行增量同步,包括:在所述本地数据中心开启流量控制后,将所述本地数据中心的增量数据上传至所述云服务器。
13.进一步可选地,所述云服务器包括:公有云服务器。
14.本技术实施例还提供一种数据灾备系统,包括:机器人、网关、本地数据中心和云服务器;所述机器人,用于:向所述网关发送数据处理请求;接收所述网关返回的数据处理结果;所述网关,用于:接收所述机器人发送的数据处理请求;将所述数据处理请求发送到所述本地数据中心;若未接收到所述本地数据中心返回的与所述数据处理请求对应的数据处理结果,则将所述数据处理请求同步发送至所述云服务器;接收所述云服务器返回的数据处理结果,并将所述数据处理结果同步返回至所述机器人;所述云服务器,用于:对所述本地数据中心中的数据进行灾备;以及,根据所述网关的数据处理请求,向所述网关返回对应的数据处理结果。
15.本技术实施例还提供一种数据灾备装置,包括:第一接收模块,用于:接收机器人发送的数据处理请求;第一发送模块,用于:将所述数据处理请求发送到本地数据中心;第二发送模块,用于:若未接收到所述本地数据中心返回的与所述数据处理请求对应的数据处理结果,则将所述数据处理请求同步发送至云服务器;所述云服务器用于对所述本地数据中心中的数据进行灾备;第二接收模块,用于:接收所述云服务器返回的数据处理结果,并将所述数据处理结果同步返回至所述机器人。
16.本技术实施例还提供一种存储有计算机程序的计算机可读存储介质,当计算机程序被处理器执行时,致使处理器执行本技术实施例提供的方法中的步骤。
17.在本实施例中,网关可将机器人发送的数据处理请求发送到本地数据中心;若未接收到本地数据中心返回的与数据处理请求对应的数据处理结果,则将数据处理请求发送至云服务器,并将云服务器返回的数据处理结果同步返回至机器人。其中,云服务器用于对本地数据中心中的数据进行灾备。通过这种方式,在本地数据中心故障或不可用时,网关可将数据处理请求发送至云服务器,以由云服务器根据该数据处理请求进行相应的数据处理,并返回数据处理结果,从而,降低了数据丢失的风险,进而降低了机器人因数据缺失而出现故障或宕机的风险。
附图说明
18.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根
据这些附图获得其他的附图。
19.图1为本技术一示例性实施例提供的数据灾备系统的示意图;
20.图2为本技术一示例性实施例提供的实际场景下数据灾备系统的示意图;
21.图3为本技术一示例性实施例提供的数据灾备方法的流程示意图;
22.图4为本技术一示例性实施例提供的数据灾备装置的结构示意图。
具体实施方式
23.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
24.现有技术中,在云端机器人的使用场景中,云端机器人的相关数据存放在本地的数据中心。但是,当本地的数据中心存在数据缺失或损坏时,可能会导致机器人出现宕机或故障。针对上述技术问题,在本技术一些实施例中,提供了一种解决方案,以下将结合附图,详细说明本技术各实施例提供的技术方案。
25.图1为本技术一示例性实施例提供的数据灾备系统100的示意图,如图1所示,该系统100包括:机器人10、网关20、本地数据中心30和云服务器40。
26.其中,网关20又称网间连接器、协议转换器,用于两个高层协议不同的网络互连,顾名思义,网关20可理解为一个网络连接到另一个网络的“关口”。本地数据中心30指的是厂商在自有设施中安装并自行维护的私有数据中心。云服务器可以位于私有云上,也可位于公有云上,本实施例不做限制。其中,公有云可包括:第三方公有云厂商提供的存储服务。
27.其中,机器人10用于向网关20发送数据处理请求。网关20可将接收到的数据处理请求发送到本地数据中心30。其中,数据处理请求可用于请求对机器人上传的数据进行存储(写入)或修改,或者,请求读取本地数据中心或云服务器上的数据。若数据处理请求用于请求对数据进行写入,则数据处理请求可携带待写入的数据;若数据处理请求用于请求读取数据为例,数据处理请求可携带待读取数据的标识或者目录。
28.需要说明的是,本地数据中心30若故障、宕机或异常,可能无法对该数据处理请求做出响应或者无法对该数据处理请求做出相应的数据处理操作,即,网关20无法接收到本地数据中心30返回的与数据处理请求对应的数据处理结果。其中,数据处理结果用于表明本地数据中心30针对该数据处理请求做出的数据处理操作的操作结果。需要说明的是,本地数据中心30无法返回数据处理结果,包括以下两种情况:情况1、本地数据中心30因传输错误或者传输超时未返回数据处理结果。情况2、本地数据中心30成功接受到了该数据处理请求,但是因故障或异常无法处理该数据处理请求,这种情况下,本地数据中心30可以返回“请求失败”的通知消息。
29.在上述两种情况下,可认为本地数据中心30无法对数据处理请求做出有效的数据处理操作,网关20可将数据处理请求同步发送至云服务器40。
30.其中,云服务器40用于对本地数据中心中的数据进行灾备。其中,灾备是指容灾和备份,云服务器40与本地数据中心相互隔离,从而当本地数据中心因意外而停止工作时,可以利用云服务器中的数据来继续正常工作。
31.对应地,云服务器40可响应数据处理请求进行相应地数据处理,并向网关20同步返回数据处理结果。其中数据处理结果用于表明云服务器40的数据处理的完成情况。比如数据处理结果可为“将数据成功写入”或“读取到当前机器人电池寿命为60%”。
32.在本实施例中,网关可将机器人发送的数据处理请求发送到本地数据中心;若未接收到本地数据中心返回的与数据处理请求对应的数据处理结果,则将数据处理请求同步发送至云服务器,并将云服务器返回的数据处理结果同步返回至机器人。其中,云服务器用于对本地数据中心中的数据进行灾备。通过这种方式,在本地数据中心故障或不可用时,云服务器可对本地数据中心中的数据进行灾备,降低了数据丢失的风险,进而,降低了机器人因数据缺失而出现故障或宕机的风险。
33.在一些可选的实施例中,数据处理请求包括:数据写入请求。其中数据写入请求用于请求将数据进行存储。若网关20接收到本地数据中心30返回的与数据写入请求对应的写成功指令,则说明此时本地数据中心以完成了机器人的数据写入请求,此时,网关20可将数据写入请求异步发送至云服务器40。对应地,云服务器40可对数据写入请求对应的数据进行灾备。通过这种方式,使得云服务器40和本地数据中心30执行了相同的数据写入操作,因而具有相同的数据变化,实现了新增数据的实时备份。当云服务器40和本地数据中心30两个系统中的其中之一异常时,机器人仍可向另一个正常运转的系统,请求读取之前写入的数据。
34.可选地,数据处理请求可携带第一认证信息。第一认证信息用于本地数据中心30对机器人10进行身份认证。需要说明的是,由于本地数据中心30和云服务器40的通信协议可能不同,数据处理请求中的适用于本地数据中心30的第一认证信息可能无法用于云服务器40对机器人10进行身份认证。其中,通信协议是指双方完成通信或服务所必须遵循的规则和约定。
35.基于此,网关20将数据处理请求同步发送至云服务器40之前,还可根据云服务器40遵循的通信协议,将第一认证信息更新为与云服务器适配的第二认证信息,以使得云服务器对机器人进行身份认证。其中,使用“第一”、“第二”对认证信息进行限定,仅为了对“认证信息”进行区分。
36.以认证信息实现为密钥为例,密钥a中携带机器人在本地数据中心的账号和密码,网关20将数据处理请求发送至云服务器40之前,还可根据云服务器40遵循的通信协议,将密钥a中携带的机器人在本地数据中心30的账号和密码,修改为与云服务器40适配的密钥b,密钥b中携带有机器人在云服务器40的账号和密码。修改之后,网关20可将携带有密钥b的数据处理请求发送给云服务器40,云服务器40可通过密钥b中的账号和密码对机器人10进行身份认证。
37.可选地,数据处理请求可包括:数据写入请求。其中,数据写入请求用于请求将数据进行存储。网关20在将数据处理请求同步发送至云服务器时,可先确定待写入数据的数据存储路径。需要说明的是,实际场景中,若云服务器40中未创建网关指定的数据的存储地址,网关20可为待写入的数据创建对应的存储目录。比如,数据存储路径可为目录a/一级子目录a1或者目录a/一级子目录a2/二级子目录a23。
38.网关20确定存储路径之后,可根据数据存储路径以及所述待写入数据,向云服务器40发送数据写入请求。
39.相应地,云服务器40可根据该数据存储路径将待写入数据写入存储系统。
40.可选地,数据处理请求包括:数据读取请求。其中,数据读取指令用于请求获取数据。网关20存储有数据与云服务器40中的存储目录之间的映射关系。基于此,网关20在将数据处理请求同步发送至云服务器40时,可根据上述映射关系和待读取数据,确定待读取数据在云服务器上的存储目录。比如,确定存储目录为:目录b/一级子目录b1或者目录b/一级子目录b2/二级子目录b23。
41.网关20确定存储目录后,可根据该存储目录向云服务器40发送数据读取指令。云服务器40可响应该数据读取指令,从存储目录下读取并返回待读取数据。
42.需要说明的是,在实际场景中,机器人10可不断向网关20发送数据处理请求,当其中的传输数据量较大且网关20与云服务器40之间的网络延迟较大时,或者,当传输数据量较大时,或者,网关20与云服务器40之间的网络延迟较大时,网关20无法及时将数据转发到云服务器40,数据可能会积压在网关20有限的内存中。为了解决上述问题,网关20可根据网关20当前的内存使用情况,动态配置流量阈值。其中,流量阈值用于控制网关20发送到云服务器40的流量。比如,当内存使用情况为内存占用率10%,此时可将流量阈值配置为50mb,当内存使用情况为内存占用率90%,此时可将流量阈值配置为10mb。
43.通过这种控制信息传输流量的方式,有效缓解了数据积压在网关内存中的情况,降低了网关的负载。
44.可选地,上述实施例的增量数据可能是因本地数据中心30异常而产生的,也可能是因为动态配置的流量阈值对流量进行了限制而产生的。
45.基于此,前述实施例中的“在云服务器40和本地数据中心30之间,对增量数据进行增量同步”,可包括以下两种情况:
46.情况1、在本地数据中心30异常恢复后,将云服务器40中的增量数据回填到本地数据中心30。举例说明,在本地数据中心30异常期间,待写入数据被写入云服务器40而未写入本地数据中心30,导致云服务器40中产生了增量数据(云服务器40中的数据多于本地数据中心30中的数据)。因此,网关20可将云服务器40中的增量数据回填至本地数据中心30,以使云服务器40与本地数据中心30保持数据的一致性。
47.情况2、在本地数据中心30开启流量控制后,将本地数据中心30的增量数据上传至云服务器40。在情况2中,由于配置的流量阈值对流量进行控制后,即开启流量控制后,云服务器40上的数据可能少于本地数据中心30的数据(即本地数据中心30中产生了增量数据),因此,网关20可将的增量数据增量同步至云服务器40,以使云服务器40与本地数据中心30保持数据的一致性。
48.可选地,上述各个实施例中,可能会出现云服务器40和本地数据中心30之间存储的数据不一致的情况,比如在历史时刻,机器人请求写入/存储的数据为图像p1-图像p4共四个图像,云服务器40存储了p1、p2和p4,本地数据中心存储p3和p4。
49.在这种数据不一致的情况下,网关20可对机器人上传的多个数据各自所处的存储位置进行标识,并将标识结果存储在自身的数据库中。比如网关20可对图像p1和p2标识“图像p1和p2存储在云服务器上”,对图像p3识“图像p3存储在本地数据中心上”,对图像p4标识“图像p4存储在本地数据中心和云服务器上”50.可选地,机器人10有众多需要读取数据的场景,比如需要读取历史gps数据来对当
前的路径进行修正或者需要读取用户历史行为数据来对当前的机器人参数进行更改。这些情况下,机器人10可向网关20发送数据处理请求(以数据读取请求为例),网关20接收到该数据读取请求后,可根据自身数据库中存储的标识结果,快速确定存储有该数据读取请求中的待读取数据的目标对象(比如云服务器或者本地数据中心),并向确定的目标对象发送数据读取请求。目标对象可根据该数据读取请求进行相应的数据读取操作,并向网关20返回待读取数据。对应地,网关20可将该待读取数据发送至机器人10。
51.比如,机器人10向网关20发送数据读取请求,网关20根据自身存储的标识结果(该标识结果表明待读取数据位于云服务器40)和该数据读取请求中的待读取数据,可不向本地数据中心30发送数据读取请求,而是直接向云服务器40发送数据读取请求,以使云服务器40读取并返回待读取数据。通过这种方式,优化了信令传输流程,提升了数据处理的效率。
52.可选地,考虑到可能会出现云服务器40和本地数据中心30之间存储的机器人10的数据不一致的情况,网关20可在本地数据中心异常时或在预设时间段内,遍历云服务器40中的灾备数据和本地数据中心30中的数据,以确定未同步的增量数据。其中,增量数据指的是云服务器40中的灾备数据和本地数据中心30中的数据之间不同的部分,比如,云服务器40中的灾备数据为图像p100、图像p102、图像p103、图像p104,本地数据中心30中的数据为p100、图像p102和p105,那么不同的部分(即增量数据)为图像103、图像104和图像105。
53.网关20确定增量数据后,可在云服务器40和本地数据中心30之间,对增量数据进行增量同步。其中,增量同步指的是,同步云服务器和本地数据中心各自存储的数据之间的不同的部分。沿用前述例子进行举例,网关20可读取云服务器40中的103和图像104并发送到本地数据中心进行存储,读取本地数据中心30中的图片p105,并发送到云服务器40进行存储,使得云服务器40中的数据和本地数据中心30中的数据均为图像p100、图像p102、图像p103、图像p104和图像p105。
54.通过这种增量同步的方式,使得云服务器40和本地数据中心30存储有相同的数据。当云服务器40和本地数据中心30两个系统中的其中之一异常时,机器人仍可向另一个正常运转的系统读取数据。
55.以下将结合图2以及实际场景,对上述数据灾备系统进行进一步说明。
56.如图2所示,终端设备或者机器人上的客户端可不断发送数据处理请求。其中数据处理请求可包括:数据读取请求和数据写入请求。这些数据处理请求可经由负载均衡器,分配到多个灾备网关(即前述的网关20)进行进一步地数据传输,以减小单一灾备网关的负载。
57.以下将针对多个灾备网关中的任一网关进行说明。
58.当数据处理请求为数据写入请求时,灾备网关可先将数据写入请求发送到本地数据中心,若本地数据中心成功返回了与该数据写入请求对应的数据处理结果,则将该数据处理结果发送至客户端或负载均衡器。之后灾备网关可修改数据写入请求中的认证信息,并创建对应的路径(即前文中的数据存储路径),进而,根据修改后的数据写入请求,生成一个异步请求,发送至公有云服务器(即前文所述的云服务器40),以使云服务器与本地数据中心执行相同的数据写入操作。
59.若本地数据中心异常、处理超时或未返回数据处理结果时,可修改数据读取请求
中的认证信息、创建对应的路径,并根据修改后的数据读取请求,生成一个同步请求发送至公有云服务器。公有云服务器可根据该同步请求执行数据写入操作,并返回数据成功写入消息。网关20可在自身的数据库中增加一条记录:此数据在公有云服务器,不在本地数据中心。
60.当数据处理请求为数据读取请求时,灾备网关可先将数据读取请求发送到本地数据中心,若本地数据中心成功返回了与该数据读取请求对应的待读取数据,则将该待读取数据发送至客户端或负载均衡器。
61.若本地数据中心异常、处理超时或未返回待读取数据时,可修改数据读取请求中的认证信息、创建对应的路径,并根据修改后的数据读取请求,生成一个同步请求发送至公有云服务器,以从公有云服务器读取数据。网关20可在自身的数据库中增加一条记录:此数据在公有云服务器,不在本地数据中心。
62.需要说明的是,在本地数据中心异常时,公有云服务器上存储的数据可多于本地数据中心中存储的数据,因此,灾备网关可遍历公有云服务器,并将公有云服务器上更新的数据(该数据未更新至本地数据中心)同步至本地数据中心。
63.可选地,待写入数据量较大且本地数据中心到公有云服务器之间的网络延迟较大时,由于待传输的数据可能由于网络延迟较大无法及时地传输至公有云服务器而积压在网关的内存中,因此,数据可能会占满灾备网关的内存。基于此,可配置阈值以控制网关转发至公有云服务器的流量,以解决上述数据可能占满灾备网关的问题。可选地,考虑到灾备网关转发至公有云服务器的流量减小且待写入数据量较大,可能会导致部分待写入数据无法转发至公有云服务器,灾备网关可在自身的数据库中增加一条记录:表明此数据存储在本地数据中心、未存储在公有云服务器。
64.可选地,灾备网关可在夜间遍历自身的数据库,并对公有云服务器和本地数据中心之间的数据进行增量同步。
65.本实施例还提供一种数据灾备方法,以下将结合附图对该数据灾备方法进行说明。
66.图3是本技术一示例性实施例提供的数据灾备方法的流程示意图,适用于网关。该方法可由以下步骤实现:
67.步骤301、接收机器人发送的数据处理请求。
68.步骤302、将数据处理请求发送到本地数据中心。
69.步骤303、若未接收到本地数据中心返回的与数据处理请求对应的数据处理结果,则将数据处理请求同步发送至云服务器;云服务器用于对本地数据中心中的数据进行灾备。
70.步骤304、接收云服务器返回的数据处理结果,并将数据处理结果同步返回至机器人。
71.进一步可选地,所述数据处理请求包括:数据写入请求;所述方法还包括:若接收到所述本地数据中心返回的与所述数据写入请求对应的写成功指令,则将所述数据写入请求异步发送至所述云服务器,以使所述云服务器对所述数据写入请求对应的数据进行灾备。
72.进一步可选地,所述数据处理请求携带第一认证信息;所述第一认证信息用于所
述本地数据中心对所述机器人进行身份认证;将所述数据处理请求发送至云服务器之前,还包括:根据所述云服务器遵循的通信协议,将所述第一认证信息更新为与所述云服务器适配的第二认证信息,以使得所述云服务器对所述机器人进行身份认证。
73.进一步可选地,所述数据处理请求包括:数据写入请求;将所述数据处理请求同步发送至云服务器,包括:确定待写入数据的数据存储路径;根据所述数据存储路径以及所述待写入数据,向所述云服务器发送所述数据写入指令,以使得所述云服务器根据所述数据存储路径将所述待写入数据写入存储系统。
74.进一步可选地,所述数据处理请求包括:数据读取请求;将所述数据处理请求同步发送至云服务器,包括:确定待读取数据在所述云服务器上的存储目录;根据所述存储目录向所述云服务器发送数据读取请求,以使得所述云服务器从所述存储目录下读取所述并返回所述待读取数据。
75.进一步可选地,所述方法还包括:根据所述网关当前的内存使用情况,动态配置流量阈值;所述流量阈值用于控制所述网关发送到所述云服务器的流量。
76.进一步可选地,所述方法还包括:在所述本地数据中心异常时或在预设时间段内,遍历所述云服务器中的灾备数据和所述本地数据中心中的数据,以确定未同步的增量数据;在所述云服务器和所述本地数据中心之间,对所述增量数据进行增量同步。
77.进一步可选地,在所述云服务器和所述本地数据中心之间,对所述增量数据进行增量同步的一种可选方式,包括:在所述本地数据中心异常恢复后,将所述云服务器中的增量数据回填到所述本地数据中心。
78.进一步可选地,在所述云服务器和所述本地数据中心之间,对所述增量数据进行增量同步的另一种可选方式,包括:在所述本地数据中心开启流量控制后,将所述本地数据中心的增量数据上传至所述云服务器。
79.进一步可选地,所述云服务器包括:公有云服务器。
80.在本实施例中,网关可将机器人发送的数据处理请求发送到本地数据中心;若未接收到本地数据中心返回的与数据处理请求对应的数据处理结果,则将数据处理请求发送至服务器,并将云服务器返回的数据处理结果同步返回至机器人。其中,云服务器用于对本地数据中心中的数据进行灾备。通过这种方式,在本地数据中心故障或不可用时,网关可将数据处理请求发送至云服务器,以由云服务器根据该数据处理请求进行相应的数据处理,并返回数据处理结果,从而,降低了数据丢失的风险,进而降低了机器人因数据缺失而出现故障或宕机的风险。
81.需要说明的是,上述实施例所提供方法的各步骤的执行主体均可以是同一设备,或者,该方法也由不同设备作为执行主体。比如,步骤501至步骤503的执行主体可以为设备a;又比如,步骤501和502的执行主体可以为设备a,步骤503的执行主体可以为设备b;等等。
82.另外,在上述实施例及附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如501、502等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。
83.需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模
块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
84.图4是本技术一示例性实施例提供的数据灾备装置的结构示意图,如图4所示,该装置包括:第一接收模块401,用于:接收机器人发送的数据处理请求;第一发送模块402,用于:将所述数据处理请求发送到本地数据中心;第二发送模块403,用于:若未接收到所述本地数据中心返回的与所述数据处理请求对应的数据处理结果,则将所述数据处理请求同步发送至云服务器;所述云服务器用于对所述本地数据中心中的数据进行灾备;第二接收模块404,用于:接收所述云服务器返回的数据处理结果,并将所述数据处理结果同步返回至所述机器人。
85.进一步可选地,所述数据处理请求包括:数据写入请求;第二发送模块403还用于:若接收到所述本地数据中心返回的与所述数据写入请求对应的写成功指令,则将所述数据写入请求异步发送至所述云服务器,以使所述云服务器对所述数据写入请求对应的数据进行灾备。
86.进一步可选地,所述数据处理请求携带第一认证信息;所述第一认证信息用于所述本地数据中心对所述机器人进行身份认证;第二发送模块403将所述数据处理请求同步发送至云服务器之前,还用于:根据所述云服务器遵循的通信协议,将所述第一认证信息更新为与所述云服务器适配的第二认证信息,以使得所述云服务器对所述机器人进行身份认证。
87.进一步可选地,所述数据处理请求包括:数据写入请求;将所述数据处理请求同步发送至云服务器,包括:确定待写入数据的数据存储路径;根据所述数据存储路径以及所述待写入数据,向所述云服务器发送所述数据写入指令,以使得所述云服务器根据所述数据存储路径将所述待写入数据写入存储系统。
88.进一步可选地,所述数据处理请求包括:数据读取请求;第二发送模块403将所述数据处理请求同步发送至云服务器时,具体用于:确定待读取数据在所述云服务器上的存储目录;根据所述存储目录向所述云服务器发送数据读取请求,以使得所述云服务器从所述存储目录下读取所述待读取数据并返回所述待读取数据。
89.进一步可选地,第二发送模块403还用于:根据所述网关当前的内存使用情况,动态配置流量阈值;所述流量阈值用于控制所述网关发送到所述云服务器的流量。
90.进一步可选地,第二接收模块404还用于:在所述本地数据中心异常时或在预设时间段内,遍历所述云服务器中的灾备数据和所述本地数据中心中的数据,以确定未同步的增量数据;在所述云服务器和所述本地数据中心之间,对所述增量数据进行增量同步。
91.进一步可选地,第二接收模块404在在所述云服务器和所述本地数据中心之间,对所述增量数据进行增量同步时,具体用于:在所述本地数据中心异常恢复后,将所述云服务器中的增量数据回填到所述本地数据中心。
92.进一步可选地,第二接收模块404在所述云服务器和所述本地数据中心之间,对所述增量数据进行增量同步时,具体用于:在所述本地数据中心开启流量控制后,将所述本地数据中心的增量数据上传至所述云服务器。
93.进一步可选地,所述云服务器包括:公有云服务器。
94.在本实施例中,网关可将机器人发送的数据处理请求发送到本地数据中心;若未接收到本地数据中心返回的与数据处理请求对应的数据处理结果,则将数据处理请求同步
发送至云服务器,并将云服务器返回的数据处理结果同步返回至机器人。其中,云服务器用于对本地数据中心中的数据进行灾备。通过这种方式,在本地数据中心故障或不可用时,网关可将数据处理请求发送至云服务器,以由云服务器根据该数据处理请求进行相应的数据处理,并返回数据处理结果,从而,降低了数据丢失的风险,进而降低了机器人因数据缺失而出现故障或宕机的风险。
95.相应地,本技术实施例还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被执行时能够实现上述方法实施例中的各步骤。
96.本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
97.本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
98.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
99.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
100.在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
101.内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读介质的示例。
102.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
103.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
104.以上所述仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。
技术特征:1.一种数据灾备方法,其特征在于,应用于网关,包括:接收机器人发送的数据处理请求;将所述数据处理请求发送到本地数据中心;若未接收到所述本地数据中心返回的与所述数据处理请求对应的数据处理结果,则将所述数据处理请求同步发送至云服务器;所述云服务器用于对所述本地数据中心中的数据进行灾备;接收所述云服务器返回的数据处理结果,并将所述数据处理结果同步返回至所述机器人。2.根据权利要求1所述的方法,其特征在于,所述数据处理请求包括:数据写入请求;所述方法还包括:若接收到所述本地数据中心返回的与所述数据写入请求对应的写成功指令,则将所述数据写入请求异步发送至所述云服务器,以使所述云服务器对所述数据写入请求对应的数据进行灾备。3.根据权利要求1所述的方法,其特征在于,所述数据处理请求携带第一认证信息;所述第一认证信息用于所述本地数据中心对所述机器人进行身份认证;将所述数据处理请求同步发送至云服务器之前,还包括:根据所述云服务器遵循的通信协议,将所述第一认证信息更新为与所述云服务器适配的第二认证信息,以使得所述云服务器对所述机器人进行身份认证。4.根据权利要求3所述的方法,其特征在于,所述数据处理请求包括:数据写入请求;将所述数据处理请求同步发送至云服务器,包括:确定待写入数据的数据存储路径;根据所述数据存储路径以及所述待写入数据,向所述云服务器发送所述数据写入指令,以使得所述云服务器根据所述数据存储路径将所述待写入数据写入存储系统。5.根据权利要求3所述的方法,其特征在于,所述数据处理请求包括:数据读取请求;将所述数据处理请求同步发送至云服务器,包括:确定待读取数据在所述云服务器上的存储目录;根据所述存储目录向所述云服务器发送数据读取请求,以使得所述云服务器从所述存储目录下读取并返回所述待读取数据。6.根据权利要求1-5任一项所述的方法,其特征在于,还包括:根据所述网关当前的内存使用情况,动态配置流量阈值;所述流量阈值用于控制所述网关发送到所述云服务器的流量。7.根据权利要求1-5任一项所述的方法,其特征在于,还包括:在所述本地数据中心异常恢复后或在预设时间段内,遍历所述云服务器中的灾备数据和所述本地数据中心中的数据,以确定未同步的增量数据;在所述云服务器和所述本地数据中心之间,对所述增量数据进行增量同步。8.根据权利要求7所述的方法,其特征在于,在所述云服务器和所述本地数据中心之间,对所述增量数据进行增量同步,包括:在所述本地数据中心异常恢复后,将所述云服务器中的增量数据回填到所述本地数据中心。9.根据权利要求7所述的方法,其特征在于,在所述云服务器和所述本地数据中心之
间,对所述增量数据进行增量同步,包括:在所述本地数据中心开启流量控制后,将所述本地数据中心的增量数据上传至所述云服务器。10.根据权利要求1-5任一项所述的方法,其特征在于,所述云服务器包括:公有云服务器。11.一种数据灾备系统,其特征在于,包括:机器人、网关、本地数据中心和云服务器;所述机器人,用于:向所述网关发送数据处理请求;接收所述网关返回的数据处理结果;所述网关,用于:接收所述机器人发送的数据处理请求;将所述数据处理请求发送到所述本地数据中心;若未接收到所述本地数据中心返回的与所述数据处理请求对应的数据处理结果,则将所述数据处理请求同步发送至所述云服务器;接收所述云服务器返回的数据处理结果,并将所述数据处理结果同步返回至所述机器人;所述云服务器,用于:对所述本地数据中心中的数据进行灾备;以及,根据所述网关的数据处理请求,向所述网关返回对应的数据处理结果。12.一种数据灾备装置,其特征在于,包括:第一接收模块,用于:接收机器人发送的数据处理请求;第一发送模块,用于:将所述数据处理请求发送到本地数据中心;第二发送模块,用于:若未接收到所述本地数据中心返回的与所述数据处理请求对应的数据处理结果,则将所述数据处理请求同步发送至云服务器;所述云服务器用于对所述本地数据中心中的数据进行灾备;第二接收模块,用于:接收所述云服务器返回的数据处理结果,并将所述数据处理结果同步返回至所述机器人。13.一种存储有计算机程序的计算机可读存储介质,其特征在于,当计算机程序被处理器执行时,致使处理器实现权利要求1-10任一项所述方法中的步骤。
技术总结本申请实施例提供一种数据灾备方法、系统、装置及存储介质。在数据灾备方法中,网关可将机器人发送的数据处理请求发送到本地数据中心;若未接收到本地数据中心返回的与数据处理请求对应的数据处理结果,则将数据处理请求同步发送至云服务器,并将云服务器返回的数据处理结果同步返回至机器人。其中,云服务器用于对本地数据中心中的数据进行灾备。通过这种方式,在本地数据中心故障或不可用时,网关可将数据处理请求发送至云服务器,以由云服务器根据该数据处理请求进行相应的数据处理,并返回数据处理结果,从而,提高本地数据中心存储服务可用性、降低了数据丢失的风险,进而降低了机器人因数据缺失而出现故障或宕机的风险。了机器人因数据缺失而出现故障或宕机的风险。了机器人因数据缺失而出现故障或宕机的风险。
技术研发人员:刘瑞桃
受保护的技术使用者:达闼机器人股份有限公司
技术研发日:2022.06.30
技术公布日:2022/11/1