CN111078267A - 一种机器人状态信息更新方法、装置、服务器及存储介质 - Google Patents
一种机器人状态信息更新方法、装置、服务器及存储介质 Download PDFInfo
- Publication number
- CN111078267A CN111078267A CN201911417927.4A CN201911417927A CN111078267A CN 111078267 A CN111078267 A CN 111078267A CN 201911417927 A CN201911417927 A CN 201911417927A CN 111078267 A CN111078267 A CN 111078267A
- Authority
- CN
- China
- Prior art keywords
- robot
- heartbeat
- current
- heartbeat request
- state information
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 68
- 238000012545 processing Methods 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 6
- 238000004422 calculation algorithm Methods 0.000 claims description 4
- 230000008569 process Effects 0.000 description 21
- 230000009471 action Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 239000000047 product Substances 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 239000010453 quartz Substances 0.000 description 2
- VYPSYNLAJGMNEJ-UHFFFAOYSA-N silicon dioxide Inorganic materials O=[Si]=O VYPSYNLAJGMNEJ-UHFFFAOYSA-N 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/658—Incremental updates; Differential updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Manipulator (AREA)
Abstract
本发明实施例公开了一种机器人状态更新方法、装置、服务器及存储介质。该方法包括:获取机器人按照第一心跳间隔上传的当前心跳请求;根据当前心跳请求更新机器人的状态信息;根据当前心跳请求向机器人返回随机生成的第二心跳间隔,以控制机器人下次心跳请求的触发时间。该方法采用动态调度的方式让机器人上报心跳数据,可以有效避免出现流量洪流。
Description
技术领域
本发明涉及机器人领域,尤其涉及一种机器人状态信息更新方法、装置、服务器及存储介质。
背景技术
随着科技发展,人工智能技术和机器人技术也愈发成熟,越来越多的ToC机器人走进了我们的家庭。不同于ToB机器人,ToC机器人一般采用无状态的RESTful接口与机器人公司的云平台通信,而非长连接形式,所以就无法及时获知机器人的状态信息。但这些数据对于机器人公司分析产品状态、提升产品体验至关重要。而且一旦机器人数量过大,在海量数据下,想要实时维护机器人的状态信息就变得更加困难。
发明内容
有鉴于此,本发明提供了一种机器人状态信息更新方法、装置、服务器以及存储介质,能够解决机器人心跳请求过于集中导致的数据洪流。
为解决上述技术问题,本发明采用以下技术方案:
第一方面,本发明提供了一种机器人状态信息更新方法,包括:
获取机器人按照第一心跳间隔上传的当前心跳请求;
根据所述当前心跳请求更新所述机器人的状态信息;
根据所述当前心跳请求向所述机器人返回随机生成的第二心跳间隔,以控制机器人下次心跳请求的触发时间。
第二方面,本发明提供了一种机器人状态信息更新装置,包括:
心跳请求获取模块,用于获取机器人按照第一心跳间隔上传的当前心跳请求;
状态信息更新模块,用于根据所述当前心跳请求更新所述机器人的状态信息;
反馈模块,用于根据所述当前心跳请求向所述机器人返回随机生成的第二心跳间隔,以控制机器人下次心跳请求的触发时间。
第三方面,本发明提供了一种服务器,该服务器包括存储器和处理器,所述存储器上存储有可在处理器运行的计算机程序,所述处理器执行所述计算机程序时实现前述的机器人状态信息更新方法。
第四方面,本发明提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被执行时实现前述的机器人状态信息更新方法。
本发明提供的机器人状态信息更新方法,用于控制心跳请求的触发时间的心跳间隔是随机生成的,而非固定的时间间隔或按照固定规律变化的时间间隔,能够有效的避免服务器端在处理心跳请求时因数据洪流导致处理不及时。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见的,下面描述中的附图仅仅是本申请的部分实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1是本发明实施例一提供的一种机器人状态信息更新方法的流程图;
图2是本发明实施例一提供的一种机器人状态信息更新方法的流程图;
图3是本发明实施例二提供的一种机器人状态信息更新方法的流程图;
图4是本发明实施例二提供的一种状态信息表结构信息示意图;
图5是本发明实施例三提供的一种机器人状态信息更新装置的结构示意图;
图6是本发明实施例四提供的一种服务器的机构示意图。
具体实施方式
下面结合本申请实施例中的附图,对本申请实施中的技术方案进行清楚、完整的描述。可以理解的是,此处所描述的具体实施例仅仅是本申请一部分实施例,而不是全部的实施例,仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中使用的术语只是为了描述具体的实施方式的目的,不是旨在于限制本发明。本文所使用的术语“和/或”包括一个或多个相关的所列项目的任意的和所有的组合。
此外,术语“第一”、“第二”等可在本文中用于描述各种方向、动作、步骤或元件等,但这些方向、动作、步骤或元件不受这些术语限制。这些术语仅用于将第一个方向、动作、步骤或元件与另一个方向、动作、步骤或元件区分。举例来说,在不脱离本发明的范围的情况下,可以将第一公式称为第二公式,且类似地,可将第二公式称为第一公式。第一公式和第二公式两者都是公式,但其不是同一公式。术语“第一”、“第二”等而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。需要说明的是,当一个部部被称为“固定于”另一个部,它可以直接在另一个部上也可以存在居中的部。当一个部被认为是“连接”到另一个部,它可以是直接连接到另一个部或者可能同时存在居中部。本文所使用的术语“垂直的”、“水平的”、“左”、“右”以及类似的表述,只是为了说明的目的,并不表示是唯一的实施方式。
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时处理可以被终止,但是还可以具有未包括在附图中的附加步骤。处理可以对应于方法、函数、规程、子例程、子程序等等。
实施例一
参见图1,本实施例提供了一种机器人状态信息更新方法,可以适用于非长连接形式下的机器人群体更新,该方法可以由机器人结合服务器实现,具体的,该方法包括以下步骤:
S110、获取机器人按照第一心跳间隔上传的当前心跳请求。
本实施例中,机器人与服务器之间采用非长连接形式的通信方式,机器人会间隔一段时间向服务器发送一次心跳请求,以使服务器根据心跳请求判断机器人的状态,现有技术中,机器人发送的两次心跳请求间的间隔采用固定的值或按照固定规则调整值,这两种方式在大数据场景下都会导致某一时刻的心跳请求集中,出现数据洪流,导致服务器无法及时处理相关数据完成数据更新。因此本实施例采用的机器人状态信息更新方法中,机器人发送的心跳请求时其需要满足的间隔要求是一个由服务器返回的随机值,机器人先按照第一心跳间隔向服务器发送当前心跳请求,若当前心跳请求是机器人开机后进行的第一次心跳请求,则此处的第一心跳间隔不做限定,其可以是预设值也可以是随机值,若当前心跳请求不是机器人开机后进行的第一次心跳请求,即在当前心跳请求之前还有一上次心跳请求,则第一心跳间隔是上次心跳请求后服务器返给机器人的一个随机值。
S120、根据所述当前心跳请求更新所述机器人的状态信息。
当服务器接收到机器人发送的当前心跳请求后,会根据当前心跳请求,例如当前时刻前预设时间阈值(例如1分钟)内收到的心跳请求的总数量,更新服务器中的机器人状态信息,以满足机器人公司对其生产的机器人分析产品状态、提升产品体验。
S130、根据所述当前心跳请求向所述机器人返回随机生成的第二心跳间隔,以控制机器人下次心跳请求的触发时间。
当服务器接收到机器人发送的当前心跳请求后,会向机器人返回一个随机生成的第二心跳间隔,与步骤S110中第一心跳间隔作用相同,都是用于控制心跳请求的触发时间,区别在于第一心跳间隔用于控制当前心跳请求的触发时间,第二心跳间隔用于控制下次心跳请求的触发时间。即每次服务器接收到机器人发送的心跳请求后会随机生成一个值作为此次心跳请求和相邻的下一次心跳请求间的间隔。应当说明的是,步骤S120和步骤S130实际上是没有先后顺序的,即步骤S120和步骤S130可以视为是同时发生的。
更具体的,在一些实施例中,步骤S130根据所述当前心跳请求向所述机器人返回随机生成的第二心跳间隔,其具体过程可以如图2所示,包括:
S131、根据应用标识确定所述机器人的种类。
本实施例中,不同种类的机器人有不同的心跳间隔生成标准,更准确的,是用于随机生成心跳间隔的参数不同,因此需要根据每个机器人发送的心跳请求辨别其是何种类的机器人,本实施例中是通过应用标识即appID区分。
S132、根据所述机器人的种类确定其对应的心跳超时时长。
本实施例中用于随机生成心跳间隔的参数为心跳超时时长,每个种类的机器人都有对应的心跳超时时长,其具体的对应关系缓存于Redis(Remote Dictionary Server),Redis是一个高性能的key-value数据库,每次服务器接收到机器人的心跳请求后,根据appID从Redis中动态读取对应的heartbeatTimeout(心跳超时时长)以用于生成控制下次心跳请求时间的第二时间间隔。
S133、根据所述心跳超时时长确定第一时长区间,调用随机算法在所述第一时长区间内随机生成第二心跳间隔。
当找到了机器人对应的heartbeatTimeout后,根据heartbeatTimeout确定一个第一时长区间,随机生成第二心跳间隔就属于这个区间,本实施例中,优选的,第一时长区间大于等于三分之一所述第一心跳超时时长且小于等于三分之二所述心跳超时时长。这是因为实践发现,该范围是一个最折中的区间,心跳间隔处于该区间时,既不会导致机器人端心跳请求过频,又可以预留下足够的时间补偿网络时延和数据处理时延。
可选的,在一些实施例中,考虑到服务器的处理能力有限,在存在大量机器人向服务器发送心跳请求时,为缓解服务器压力,设置了根据服务器处理心跳请求的用时调整心跳超时时长的过程,具体的,在步骤S120根据所述当前心跳请求更新所述机器人的状态信息之后,还包括(图未示):
S140、根据获取所述当前心跳请求的时刻和更新所述状态信息的时刻确定处理时长。
S150、根据所述处理时长和所述心跳超时时长判断是否能够及时处理心跳请求。
S160、若是则保持心跳超时时长不变。
S170、若不是则按照预设规则增大所述心跳超时时长。
该实施例中,心跳超时时长不光作为确定心跳间隔的一项参数,也作为评价服务器能否及时处理心跳请求的一项参数,当判断不能及时处理心跳请求时需要增大心跳超时时长以增大心跳间隔,降低心跳请求的频率。
更具体的一实施例中,机器人每次间隔时间interval(心跳间隔)上报一次心跳请求如{"sessionId":"3119cf930908475e85ab7b698c89afa5"},其中,sessionId即会话ID,其值为32位随机的不重复的字符串,由机器人端生成,机器人在一次完整开关机过程中sessionId不变。服务器端的API(应用程序编程接口)由Nginx+Lua实现,该方式可以极大提升接口性能。服务器接收到机器人端的心跳请求后,会将心跳信息写入Kafka(Kafka是一种分布式数据库系统),并返回一个随机生成的interval,机器人端接收到响应后,将会等待interval后进行下一次请求。其中interval的生成方式为:调用随机数算法,在1/3*heartbeatTimeout~2/3*heartbeatTimeout范围内生成任意随机数作为interval。
heartbeatTimeout的调整过程为:当监控程序发现大量请求:etlTime–nginxTime>1/3*heartbeatTimeout(etlTime为服务器处理心跳请求的时刻,nginxTime为服务器接收心跳请求的时刻),此时说明服务器已经无法及时处理心跳请求,适当增大配置信息中的heartbeatTimeout,降低心跳请求的频率。
本实施例中提供了一种机器人状态信息更新方法,用于控制心跳请求的触发时间的心跳间隔是随机生成的,而非固定的时间间隔或按照固定规律变化的时间间隔,实现了将机器人的心跳请求均匀分布到各个时间点,并能够动态调整心跳请求频率,从而可以有效地避免流量洪流,以免服务器端在处理心跳请求时因数据洪流导致状态更新不及时。
实施例二
图3是本发明实施例二提供的一种机器人状态信息更新方法的流程图,本实施例在实施例一的基础上对部分内容进行了进一步的解释和补充,适用于非长连接形式下的机器人群体更新,该方法可以由机器人结合服务器实现,本实施例中具体给出了根据所述当前心跳请求更新所述机器人的状态信息的过程,具体如下:
S210、获取机器人按照第一心跳间隔上传的当前心跳请求。
S220、根据所述当前心跳请求向所述机器人返回随机生成的第二心跳间隔,以控制机器人下次心跳请求的触发时间。
步骤S230-S290为服务器端通过Flink Job处理心跳请求的过程,设备的状态信息存储在Hbase,Hbase也是一种高可靠、高性能、列存储、可伸缩的分布式数据库系统。Hbase支持的大数据场景下的实时读写。它特有的数据版本设计可以实现增量的数据更新,无需Update操作,只需要Insert就可以实现数据版本更新,所以数据量的增长并不会影响设备状态更新的效率。
S230、根据所述当前心跳请求从分布式数据库系统中读取所述机器人的状态信息,判断所述机器人是否在线。
本实施例中,服务器接收到当前心跳请求后,根据deviceId(设备ID)从Hbase(HBase是一个分布式的、面向列的开源数据库)中读取当前设备的状态信息。状态信息表名为:loginout_info,表结构信息如图4所示。
S240、若不在线则对所述机器人进行上线。
当获取到当前心跳请求和Hbase中的状态信息后,需要进一步判断此时的机器人状态并更新状态信息,具体的,若分布式数据库系统中的状态信息表示机器人不在线,那么接收到当前心跳请求后表明当前机器人在线,应当对机器人进行上线,也就是更新Hbase中机器人的的状态信息,并在Redis(中存入一个Zset member,设置:key=heartbeat:overtime,value=deviceId,score=heartbeatTime+timeout。Zset是Redis的一种数据结构,它是一类有序集合,每个member存在两种属性:value和score,其中heartbeatTime为接收到当前心跳请求的时刻。
S250、若在线则根据所述当前心跳请求确定当前会话ID,并从所述分布式数据库系统中读取所述机器人的上次会话ID,判断所述上次会话ID是否和所述当前会话ID一致。
若Hbase中的状态信息显示机器人现在在线,则需要判断是否是同一次开机过程,即判断会话ID是否一致,当前心跳请求包含当前会话ID,Hbase中的状态信息记录的是上次心跳请求记录的上次会话ID。
S260、若不一致则对所述机器人进行重新上线。
若判断两次会话ID不一致,则说明在当前心跳请求之前,机器人还发生过至少一次关机和开机,因此需要对其进行重新上线,具体为先下线:将上一次完整的在线数据立即写入Kafka,用于对设备在线数据的实时计算和离线计算,再上线:更新Hbase中设备的状态信息,并在Redis中存入一个Zset member,设置:value=deviceId,score=heartbeatTime+timeout。
S270、若一致则判断获取所述当前心跳请求的时刻是否大于超时时刻。
当判断两次会话ID一致时,说明到当前心跳请求为止,上一次开机之后未关机,此时需要判断当前心跳请求的时刻是否大于超时时刻,根据图4可知,overtime=last_heartbeat_time+timeout。
S280、若大于则对所述机器人进行保持上线。
保持上线的过程为:更新Hbase中设备的状态信息,并在Redis中重新设置value=deviceId的Zset member,令:score=heartbeatTime+timeout。
S290、若不大于则对所述机器人进行重新上线。
重新上线的过程和步骤S260一致。
可选的,在一些实施例中,服务器还通过Flink Job定时检测设备是否掉线,即按照预设时间间隔检测所述机器人是否掉线,对已经掉线的机器人进行下线,具体包括:通过Quartz框架,每隔预设时间(如30S,可根据实际业务设定)从Redis取出Zset中key=heartbeat:overtime且score<currentTimeMillis(当前时间的毫秒数)的member,这些member的value即为已经掉线的机器人的deviceId,对这些deviceId执行下线操作。
下线过程为:更新Hbase中设备的状态信息,并在删除Redis中key=heartbeat:overtime,value=deviceId的Zset member,并将此次完整的在线数据立即写入Kafka。
本实施例提供的机器人状态信息更新方法进一步解释了根据所述当前心跳请求更新所述机器人的状态信息的过程,采用的是分布式数据库系统Reids和开源作业调度框架Quartz实现即时更新机器人的状态信息,采用Hbase大数据存储框架增量更新机器人的状态数据,使数据更新更高效,并支持海量数据的应用场景。
实施例三
图5为本发明实施例三提供的一种机器人状态信息更新装置300的结构示意图,如图5所示,该装置包括:
心跳请求获取模块310,用于获取机器人按照第一心跳间隔上传的当前心跳请求。
状态信息更新模块320,用于根据所述当前心跳请求更新所述机器人的状态信息。
更具体,在一些实施例汇总,状态信息更细模块320包括:
在线判断单元,用于根据所述当前心跳请求从分布式数据库系统中读取所述机器人的状态信息,判断所述机器人是否在线。
上限单元,用于若不在线则对所述机器人进行上线。
会话ID比较单元,用于若在线则根据所述当前心跳请求确定当前会话ID,并从所述分布式数据库系统中读取所述机器人的上次会话ID,判断所述上次会话ID是否和所述当前会话ID一致。
第一重新上线单元,用于若不一致则对所述机器人进行重新上线。
超时判断单元,用于若一致则判断获取所述当前心跳请求的时刻是否大于超时时刻。具体的,所述超时时刻为获取上一次心跳请求的时刻与所述心跳超时时长之和。
保持上线单元,用于若大于则对所述机器人进行保持上线。
第二重新上线单元,用于若不大于则对所述机器人进行重新上线。
反馈模块330,用于根据所述当前心跳请求向所述机器人返回随机生成的第二心跳间隔,以控制机器人下次心跳请求的触发时间。
更具体的,在一些实施例中,反馈模块330包括:
机器人识别单元,用于根据应用标识确定所述机器人的种类。
心跳超时时长确定单元,用于根据所述机器人的种类确定其对应的心跳超时时长。
心跳间隔确定单元,用于根据所述心跳超时时长确定第一时长区间,调用随机算法在所述第一时长区间内随机生成第二心跳间隔。
可选的,在一些实施例中,该装置中还包括:掉线检测模块,用于按照预设时间间隔检测所述机器人是否掉线,对已经掉线的机器人进行下线。
可选的,该装置还包括:
处理时长确定模块,用于根据获取所述当前心跳请求的时刻和更新所述状态信息的时刻确定处理时长。
心跳请求处理时长判断模块,用于根据所述处理时长和所述心跳超时时长判断是否能够及时处理心跳请求。
心跳超时时长保持模块,用于若是则保持心跳超时时长不变。
心跳超时时长变更模块,用于若不是则按照预设规则增大所述心跳超时时长。
本实施例提供了一种机器人状态信息更新装置,其用于控制心跳请求的触发时间的心跳间隔是随机生成的,而非固定的时间间隔或按照固定规律变化的时间间隔,实现了将机器人的心跳请求均匀分布到各个时间点,并能够动态调整心跳请求频率,从而可以有效地避免流量洪流,以免服务器端在处理心跳请求时因数据洪流导致状态更新不及时。
实施例四
图6为本发明实施例四提供的一种服务器40的结构示意图,如图6所示,该种服务器包括存储器410、处理器420,服务器中处理器420的数量可以是一个或多个,图6中以一个处理器420为例;服务器中的存储器410、处理器420可以通过总线或其他方式连接,图6中以通过总线连接为例。
存储器410作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的机器人状态信息更新方法对应的程序指令/模块(例如,心跳请求获取模块310、状态信息更新模块320、反馈模块330)。处理器420通过运行存储在存储器410中的软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述的机器人状态信息更新方法。
其中,所述处理器420用于运行存储在存储器410中的计算机可执行程序,以实现如下步骤:步骤S110、获取机器人按照第一心跳间隔上传的当前心跳请求;步骤S120、根据所述当前心跳请求更新所述机器人的状态信息;步骤S130、根据所述当前心跳请求向所述机器人返回随机生成的第二心跳间隔,以控制机器人下次心跳请求的触发时间。
当然,本发明实施例所提供的一种服务器,该服务器不限于如上所述的方法操作,还可以执行本发明实施例任意实施例所提供的机器人状态信息更新方法中的相关操作。
存储器410可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器410可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器410可进一步包括相对于处理器420远程设置的存储器,这些远程存储器可以通过网络连接至服务器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
本实施例提供了一种服务器,其采用动态调度的方式让机器人上报心跳数据,可以有效避免出现流量洪流。
实施例五
本发明实施例五还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种机器人状态信息更新方法,该机器人状态信息更新方法包括:
获取机器人按照第一心跳间隔上传的当前心跳请求;
根据所述当前心跳请求更新所述机器人的状态信息;
根据所述当前心跳请求向所述机器人返回随机生成的第二心跳间隔,以控制机器人下次心跳请求的触发时间。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的机器人状态信息更新方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
值得注意的是,上述机器人状态信息更新装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (10)
1.一种机器人状态信息更新方法,其特征在于,包括:
获取机器人按照第一心跳间隔上传的当前心跳请求;
根据所述当前心跳请求更新所述机器人的状态信息;
根据所述当前心跳请求向所述机器人返回随机生成的第二心跳间隔,以控制机器人下次心跳请求的触发时间。
2.根据权利要求1所述的方法,其特征在于,所述根据所述当前心跳请求更新所述机器人的状态信息,包括:
根据所述当前心跳请求从分布式数据库系统中读取所述机器人的状态信息,判断所述机器人是否在线;
若不在线则对所述机器人进行上线;
若在线则根据所述当前心跳请求确定当前会话ID,并从所述分布式数据库系统中读取所述机器人的上次会话ID,判断所述上次会话ID是否和所述当前会话ID一致;
若不一致则对所述机器人进行重新上线;
若一致则判断获取所述当前心跳请求的时刻是否大于超时时刻;
若大于则对所述机器人进行保持上线;
若不大于则对所述机器人进行重新上线。
3.根据权利要求2所述的方法。其特征在于,所述超时时刻为获取上一次心跳请求的时刻与所述心跳超时时长之和。
4.根据权利要求2所述的方法,其特征在于,所述方法还包括:
按照预设时间间隔检测所述机器人是否掉线,对已经掉线的机器人进行下线。
5.根据权利要求4所述的方法,其特征在于,所述根据所述当前心跳请求向所述机器人返回随机生成的第二心跳间隔,包括:
根据应用标识确定所述机器人的种类;
根据所述机器人的种类确定其对应的心跳超时时长;
根据所述心跳超时时长确定第一时长区间,调用随机算法在所述第一时长区间内随机生成第二心跳间隔。
6.根据权利要求5所述的方法,其特征在于,所述第一时长区间大于等于三分之一所述第一心跳超时时长且小于等于三分之二所述心跳超时时长。
7.根据权利要求5所述的方法,其特征在于,所述根据所述当前心跳请求更新所述机器人的状态信息之后,还包括:
根据获取所述当前心跳请求的时刻和更新所述状态信息的时刻确定处理时长;
根据所述处理时长和所述心跳超时时长判断是否能够及时处理心跳请求;
若是则保持心跳超时时长不变;
若不是则按照预设规则增大所述心跳超时时长。
8.一种机器人状态信息更新装置,其特征在于,包括:
心跳请求获取模块,用于获取机器人按照第一心跳间隔上传的当前心跳请求;
状态信息更新模块,用于根据所述当前心跳请求更新所述机器人的状态信息;
反馈模块,用于根据所述当前心跳请求向所述机器人返回随机生成的第二心跳间隔,以控制机器人下次心跳请求的触发时间。
9.一种服务器,其特征在于,包括存储器和处理器,所述存储器上存储有可在处理器运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1-7任意一项所述的机器人状态信息更新方法。
10.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被执行时实现如权利要求1-7任意一项所述的机器人状态信息更新方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911417927.4A CN111078267A (zh) | 2019-12-31 | 2019-12-31 | 一种机器人状态信息更新方法、装置、服务器及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911417927.4A CN111078267A (zh) | 2019-12-31 | 2019-12-31 | 一种机器人状态信息更新方法、装置、服务器及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111078267A true CN111078267A (zh) | 2020-04-28 |
Family
ID=70320990
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911417927.4A Pending CN111078267A (zh) | 2019-12-31 | 2019-12-31 | 一种机器人状态信息更新方法、装置、服务器及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111078267A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113873017A (zh) * | 2021-09-06 | 2021-12-31 | 绿盟科技集团股份有限公司 | 一种心跳周期调整方法、装置、客户端以及服务器 |
CN114390072A (zh) * | 2021-12-17 | 2022-04-22 | 武汉慧联无限科技有限公司 | 一种信息处理方法、装置及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1281183A (zh) * | 1999-07-14 | 2001-01-24 | Lg情报通信株式会社 | 复制处理器及其异常双态的控制方法 |
CN102148722A (zh) * | 2011-01-20 | 2011-08-10 | 深圳市同洲电子股份有限公司 | 用心跳检测数据交互状态的方法、系统及代理服务器 |
CN102821011A (zh) * | 2012-08-28 | 2012-12-12 | 北京星网锐捷网络技术有限公司 | 对端状态检测方法、装置及设备 |
CN105807734A (zh) * | 2014-12-30 | 2016-07-27 | 中国科学院深圳先进技术研究院 | 一种多机器人系统的控制方法及多机器人系统 |
CN106685748A (zh) * | 2015-11-05 | 2017-05-17 | 中移(杭州)信息技术有限公司 | 一种心跳信息发送方法、服务器及终端 |
-
2019
- 2019-12-31 CN CN201911417927.4A patent/CN111078267A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1281183A (zh) * | 1999-07-14 | 2001-01-24 | Lg情报通信株式会社 | 复制处理器及其异常双态的控制方法 |
CN102148722A (zh) * | 2011-01-20 | 2011-08-10 | 深圳市同洲电子股份有限公司 | 用心跳检测数据交互状态的方法、系统及代理服务器 |
CN102821011A (zh) * | 2012-08-28 | 2012-12-12 | 北京星网锐捷网络技术有限公司 | 对端状态检测方法、装置及设备 |
CN105807734A (zh) * | 2014-12-30 | 2016-07-27 | 中国科学院深圳先进技术研究院 | 一种多机器人系统的控制方法及多机器人系统 |
CN106685748A (zh) * | 2015-11-05 | 2017-05-17 | 中移(杭州)信息技术有限公司 | 一种心跳信息发送方法、服务器及终端 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113873017A (zh) * | 2021-09-06 | 2021-12-31 | 绿盟科技集团股份有限公司 | 一种心跳周期调整方法、装置、客户端以及服务器 |
CN113873017B (zh) * | 2021-09-06 | 2023-12-26 | 绿盟科技集团股份有限公司 | 一种心跳周期调整方法、装置、客户端以及服务器 |
CN114390072A (zh) * | 2021-12-17 | 2022-04-22 | 武汉慧联无限科技有限公司 | 一种信息处理方法、装置及存储介质 |
CN114390072B (zh) * | 2021-12-17 | 2023-09-29 | 武汉慧联无限科技有限公司 | 一种信息处理方法、装置及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106254179B (zh) | 一种心跳包异步控制方法及装置 | |
CN110401662B (zh) | 一种工控设备指纹识别方法、存储介质 | |
CN108390933B (zh) | 消息分发方法、装置、服务器及存储介质 | |
CN111078267A (zh) | 一种机器人状态信息更新方法、装置、服务器及存储介质 | |
CN109039843B (zh) | 基于事件链联动策略的智能厨房设备的控制方法和装置 | |
JP7037066B2 (ja) | 評価装置、評価方法および評価プログラム | |
CN111090562A (zh) | 一种边缘智能网关的业务进程监控方法、设备及存储介质 | |
CN110995617A (zh) | 基于mqtt的数据报送方法装置计算机设备和存储介质 | |
US20150185723A1 (en) | Facility controlling system and history recording method | |
CN114201458B (zh) | 一种信息更新方法、微服务系统及计算机可读存储介质 | |
CN102761432A (zh) | Cgi监控方法及其装置和系统 | |
CN108536541B (zh) | 流程引擎对象处理方法及装置 | |
CN112910740A (zh) | 一种状态上报方法、装置、设备和计算机可读存储介质 | |
CN114356533B (zh) | 微服务无感知发布系统、方法、电子设备及存储介质 | |
CN116048791B (zh) | 一种测试节点的调控方法、装置、电子设备以及存储介质 | |
CN112987904A (zh) | 一种心跳控制方法和装置 | |
CN114327817A (zh) | 一种任务分片方法、装置和电子设备 | |
CN106102126B (zh) | 一种接入控制方法及装置 | |
CN112800604B (zh) | 应用于工业检测的仿真方法、装置、设备及存储介质 | |
CN115729961A (zh) | 数据查询方法、装置、设备和计算机可读存储介质 | |
CN112613626B (zh) | 备调系统运行状态的监测方法、装置和计算机设备 | |
CN113194124B (zh) | 基于分布式实时数据库的dcs后台多节点间点目录同步方法 | |
CN114417275A (zh) | 基于rpa的自动化登录方法、装置及存储介质 | |
CN108572874A (zh) | 基于有序集合的数据重发方法、电子设备及存储介质 | |
CN109787225B (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200428 |