仲裁机选举方法、装置、智能设备及计算机可读存储介质与流程

文档序号:31014194发布日期:2022-08-05 17:45阅读:62来源:国知局
仲裁机选举方法、装置、智能设备及计算机可读存储介质与流程

1.本发明涉及智能家居技术领域,具体而言,涉及一种仲裁机选举方法、装置、智能设备及计算机可读存储介质。


背景技术:

2.在分布式智能家居系统中,局域网内通常设置有多台支持智能唤醒的设备,在收到唤醒信号时,可能存在多个智能设备同时响应用户唤醒指令的问题,影响用户使用体验,在现有的解决方案中,会在端侧选举一台仲裁机,由其来进行指令交互,进而确定局域网哪台设备可响应唤醒。
3.在现有技术中,通常采用局域网广播协商的方式进行仲裁机选举,当路由器禁用局域网广播时,该选举方法失效,影响用户使用体验,另外,当通过局域网广播选出的仲裁机网络不稳定时,极易出现仲裁机频繁上下线以及与其他智能设备之间断开连接的情况,从而导致用户语音交互失败,影响用户使用体验,因此,需要开发一种在路由器禁用局域网广播情况下也能够正常工作,并且确保选定的仲裁机与其他智能设备之间连接稳定的仲裁机选举方法。


技术实现要素:

4.本发明解决的问题是,路由器禁用局域网广播时,现有技术中的仲裁机选举方法失效,以及现有技术选出的仲裁机网络连接状态不佳的问题。
5.为解决上述问题,本发明提供一种仲裁机选举方法,包括:智能设备联网并接入智能家居系统后,通过组播报文发送上线消息,触发仲裁机选举;智能家居系统中的其他智能设备接收到上线消息后,将自身的设备信息以组播报文的方式发送出去,并同时测试自身到新上线智能设备的连通性;新上线的智能设备接收到智能家居系统中的其他智能设备通过组播报文发回的设备信息,同时测试该智能设备与智能家居系统中其他智能设备的连通性;智能家居系统中的智能设备根据自身与其他智能设备之间的连通性测试结果,投票选举仲裁机;投票结束后,票数最高的智能设备宣告自己成为仲裁机;其中,上线消息至少包括智能设备自身的在线状态、ip地址、设备类型,设备信息至少包括智能设备自身的在线状态、ip地址、设备类型、该智能设备到组内其他智能设备的连通性。
6.由于采用组播报文仅需要复制一份相同的数据包,在网络占用更小的情况下提升了数据传送效率,也避免了现有技术中路由器禁用局域网广播导致无法进行仲裁机选举的风险,根据连通性的测试结果进行选举,可以选出网络状况最好的智能设备成为仲裁机,也使选出的仲裁机与其他智能设备均处于较佳的连接状态,降低了仲裁机网络连接不佳导致用户唤醒失败的风险,同时,通过智能家居系统中的智能设备之间的连通性投票选举仲裁机的本地仲裁机制,用时短,实现了仲裁机的快速选举,加快了智能设备上线后的控制速度,提升了用户使用体验。
7.进一步的,所述智能设备根据自身与其他智能设备之间的连通性测试结果,投票
给与其连接耗时最短的智能设备,选举其成为仲裁机。
8.采用此方案选出的仲裁机与智能家居系统中的多数智能设备的连接耗时更短,从而可以提升智能家居系统的唤醒速度,提高用户体验。
9.进一步的,当一台智能设备与多台智能设备的连接耗时相同且为最短时,根据预设的智能设备的ip地址大小优先顺序进行投票,或者,按照预设的设备类型优先顺序进行投票;当多台智能设备的票数并列最高时,根据预设的智能设备的ip地址大小优先顺序进行投票,或者,按照预设的设备类型优先顺序确定仲裁机选举结果。
10.该设置可以在连接耗时相同的情况下更为合理的进行投票,以便快速选出仲裁机。
11.进一步的,当一台智能设备与多台智能设备的连接耗时相同且为最短时,投票给ip地址最小的智能设备。
12.具体的,也可以设定为投票给ip地址最大的智能设备,具体选择顺序可以由用户或者生产厂家预先设定。
13.进一步的,当多台智能设备的票数并列最高时,判定ip地址最小的智能设备成为仲裁机。
14.具体的,也可以设定为选定ip地址最大的智能设备为仲裁机,具体选择顺序可以由用户或者生产厂家预先设定。
15.进一步的,所述智能家居系统中的其他智能设备接收到上线消息后,将自身的设备信息以组播报文的方式发送出去,并同时比较自身与新上线智能设备上次连通性测试的时间间隔,若小于第四预设时长t4,则不再进行连通性测试,直接使用上次的测试的结果,所述第四预定时长t4为预先设定的时长阈值。
16.所述的时间间隔具体是指该智能设备接收到上线消息的时间与该智能设备和新上线智能设备上次连通性测试的时间间隔,该设置可以有效地规避个别设备网络不稳定,频繁上下线,进而导致反复地测试网络连通性的问题。
17.进一步的,当仲裁机发现一台智能设备连接中断时,仲裁机更新其自身设备信息表中的在线设备信息,不进行仲裁机重新选举。
18.连接中断是指仲裁机与该智能设备的tcp socket连接断开或者心跳包连接超时,该设置可以保证智能家居系统的运行稳定性,不会因为一台智能设备的离线而重新发起仲裁机选举,在此情况下,仲裁机更新其设备信息表中的在线信息,将该智能设备标记为不在线或者将其从设备信息表中删除。
19.进一步的,当一台智能设备发现其与仲裁机连接中断时,则尝试重连仲裁机,若连接失败,则ping该智能设备所在的路由器网关,若连通,则等待第六预定时长t6,期间若未与仲裁机恢复连接,则发送设备上线消息,触发仲裁机重新选举,所述第六预定时长t6为预先设定的时长阈值。
20.在此情况下,在短暂的网络波动的情况下,不会发生仲裁机的重新选举,而当仲裁机发生断电、断网等异常情况时,智能家居系统中的其他智能设备能尽快发起仲裁机的重新选举,进而可以始终保持有一台仲裁机在线,不会出现仲裁机挂死,导致智能家居系统运行瘫痪的问题。
21.进一步的,所述设备信息以设备信息表的方式发送,仲裁机选定后,每台智能设备
每间隔第一预设时长t1通过组播发送设备信息表,所述设备信息表用于记录智能设备自身和/或间接发现的智能设备的设备信息,以及该智能设备到其他智能设备的连接耗时,当智能设备在第二预设时长t2内未接收到某一智能设备的设备信息表,则判定该智能设备离线,将其从自身维护的设备信息表中删除,所述第一预设时长t1、第二预设时长t2为预先设定的时长阈值,t2>t1。
22.该设置通过设备信息定时发送通知所述智能家居系统中其他的智能设备自身的存在,也可以保证设备信息表中的设备均处于在线状态,以便快速执行仲裁机的选举,避免离线设备的虚假信息干扰。
23.进一步的,每台所述智能设备每间隔第三预设时长t3触发一次自身到各台智能设备的连接耗时测试,并刷新所述设备信息表中的连接耗时字段,所述第三预定时长t3为预先设定的时长阈值。
24.该设置可以定时检测智能设备与其他智能设备的连接耗时情况,便于监控智能家居系统的网络连接状态,确保设备信息表中的连接耗时的持续维护更新。
25.本发明还公开了一种仲裁机选举装置,包括:报文收发模块,所述报文收发模块用于以组播形式发送或者接收报文;连通性测试模块,所述连通性测试模块用于测试智能家居系统中各台智能设备之间的连通性;设备信息表维护模块,用于生成并维护更新设备信息表;投票模块,用于各台智能设备按照与其他智能设备的连接耗时进行仲裁机选举投票;仲裁机确定模块,所述仲裁机确定模块用于根据投票结果,确定票数最高的智能设备成为仲裁机。
26.具体的,所述报文收发模块用于在所述智能设备联网并接入所述智能家居系统时,以组播形式发送上线消息,也能够接收其他智能设备发出的设备信息,并在仲裁机选举产生后,以一定的时间间隔发送自身的设备信息表,并接收其他智能设备发来的设备信息表,所述仲裁机确定模块还用于在智能设备与仲裁机失去连接之后,执行后续操作,必要时,发起仲裁机重新选举。
27.本发明还公开了一种智能设备,所述智能设备包括存储有计算机程序的计算机可读存储介质和处理器,所述计算机程序被所述处理器读取并运行时,实现如上所述的仲裁机选举方法。
28.本发明还公开了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器读取并运行时,实现如上所述的仲裁机选举方法。
29.相对于现有技术,本发明所述的仲裁机选举方法、装置、智能设备及计算机可读存储介质具有以下优势:设备联网之后通过组播发出消息,发起仲裁机选举,在路由器禁用局域网广播的情况下仍然可以正常使用,同时,通过连通测试,选出网络状况最好的设备成为仲裁机,确保了仲裁机与所有智能设备的良好连接,使用户获得良好的唤醒体验,通过设备信息表的维护与发送,对网络连接状态进行实时更新,从而确保当新设备上线时可以直接获取当前最新的连接状态信息,加快了仲裁机选举进程,进而使智能设备的唤醒更为迅速,获得更好的用户体验。
附图说明
30.图1为本发明实施例所述仲裁机选举方法及装置的一种应用环境示意图;
31.图2为本发明实施例所述的仲裁机选举方法的一种流程示意图;
32.图3为本发明实施例所述的仲裁机选举方法的另一种流程示意图;
33.图4为本发明实施例所述的仲裁机选举方法的又一种流程示意图;
34.图5为本发明实施例所述的智能设备的结构框图;
35.图6为本发明实施例所述的仲裁机选举方法的一种功能模块图;
36.附图标记说明:
37.1-智能家居系统;11-智能设备;111-计算机可读存储介质;112-处理器;113-通信模块;2-仲裁机选举装置;21-报文收发模块;22-连通性测试模块;23-设备信息表维护模块;24-投票模块;25-仲裁机确定模块。
具体实施方式
38.为使本发明目的、技术方案和优点更加清楚,下面将结合附图及实施例,对本发明进行进一步详细说明。应当理解,所描述的实施例是本发明一部分实施例,而不是全部的实施例。此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
39.下面结合附图具体描述本发明实施例的仲裁机选举方法、装置、智能设备及计算机可读存储介质。
40.如图1所示,在智能家居系统1包括处于同一局域网内的多个智能设备11,所述多个智能设备11相互之间可以通过组播报文的形式通信,当用户发出控制指令时,会有相应的智能设备11对控制指令进行处理。
41.应当理解,用户发出的控制指令可以是语音控制指令(包括唤醒命令词、设备控制命令等)智能家居系统1,也可以是手势控制指令等其他类型的指令。以控制指令为语音控制指令为例,用户通过唤醒命令词唤醒其中一个智能设备11的语音识别功能后,通过设备控制命令不仅能实现该智能设备11的语音控制,还能通过该被唤醒的智能设备11控制智能家居系统1中的其他智能设备11,即实现分布式的语音控制功能。
42.在本实施例中,当一台智能设备11联网并接入智能家居系统1之后,可以在各台智能设备11之间选举出仲裁机,这样当用户发出控制指令时,通过选举出的仲裁机可在智能家居系统1中确定一个最合适的智能设备11用于处理用户的控制指令,从而有效避免多个智能设备11同时响应用户的控制指令,有效提高用户的使用体验。
43.在本实施例中,该智能设备11为语音控制设备,如语音空调、语音电视、语音冰箱、语音灯等家电设备,也可以是普通的智能家电设备,对此不做限制。
44.实施例1
45.本实施例提供一种仲裁机选举方法,如图2-图4所示,需要说明的是,本发明的仲裁机选举方法并不以图2以及图3、图4的具体顺序为限制。应当理解,在其它实施例中,本发明的仲裁机选举方法其中部分步骤的顺序可以根据实际需要相互交换,或者其中的部分步骤也可以省略或删除。该仲裁机选举方法可应用在图1所示的智能设备11中,其可以包括以下步骤:
46.步骤s1,智能设备11联网并接入智能家居系统1后,通过组播报文发送上线消息,触发仲裁机选举;
47.在本实施例中,所述上线消息至少包括该智能设备11自身的在线状态、ip
(internet protocol,网络之间互连的协议)地址、设备类型,该设置通过上线消息将该智能设备11的基本信息发送给组内其他智能设备11,由于采用组播报文仅需要复制一份相同的数据包,在网络占用更小的情况下提升了数据传送效率,也避免了现有技术中路由器禁用局域网广播导致无法进行仲裁机选举的风险,具体的,在本实施例中,当新的智能设备11通过组播报文发送上线消息时,即触发仲裁机选举。
48.步骤s2,智能家居系统中1的其他智能设备11接收到上线消息后,将自身的设备信息以组播报文的方式发送出去,并同时测试自身到新上线智能设备11的连通性;
49.在本实施例中,所述设备信息至少包括智能设备11自身的基本信息、该智能设备11到组内其他智能设备11的连通性,可达或不可达、可达时的连接耗时等,所述基本信息包括在线状态、ip地址、设备类型等,所述连通性包括可达或不可达、可达时的连接耗时,该设置用于智能家居系统1中的其他智能设备11发现并检测与新上线智能设备11之间的连通性,为仲裁机选举做准备,需要说明的是,所述连通性的测试为本领域的常规技术手段,包括但不仅限于采用ping指令等来获取相关信息,在此不再一一穷举。
50.步骤s3,新上线的智能设备11接收到智能家居系统1中的其他智能设备11通过组播报文发回的设备信息,同时测试该智能设备11与智能家居系统1中其他智能设备11的连通性;
51.该设置使得所述新上线的智能设备11可以及时发现智能家居系统1中的其他智能设备11,通过连通性的测试,可以确定该智能设备11与其他智能设备11之间的连通性,记录该智能设备11到其他智能设备11可达或不可达、可达时的连接耗时,为后续的仲裁机选举做准备。
52.步骤s4,智能家居系统1中的智能设备11根据自身与其他智能设备11之间的连通性测试结果,投票选举仲裁机;
53.根据连通性的测试结果进行选举,可以选出网络状况最好的智能设备11成为仲裁机,也使选出的仲裁机与其他智能设备11均处于较佳的连接状态,降低了仲裁机网络连接不佳导致用户唤醒失败的风险,同时,通过智能家居系统1中的智能设备11之间的连通性投票选举仲裁机的本地仲裁机制,用时短,实现了仲裁机的快速选举,加快了智能设备11上线后的控制速度,提升了用户使用体验。
54.步骤s5,投票结束后,票数最高的智能设备11宣告自己成为仲裁机。
55.该设置使得智能家居系统1中的智能设备11可以根据接收到的信息确定仲裁机,以智能设备11为语音设备为例,确定出的仲裁机可以用于在用户发出唤醒命令词时,在智能家居系统1中确定被唤醒的智能设备11。在一个实施例中,当用户发出唤醒命令词后,具有相同唤醒命令词的智能设备11可以各自采集唤醒命令词对应的音频能量大小,将采集到的音频能量大小上报至仲裁机,仲裁机基于接收的音频能量大小从智能家居系统1中确定一个智能设备11作为被唤醒的智能设备11,从而有效避免多个具有相同唤醒命令词的智能设备11都被唤醒,基于该设定,一个简单的示例是,用户可以在客厅唤醒客厅电视,再通过客厅电视的语音交互去控制卧室的空调,从而获得良好的用户体验。
56.由此可见,本发明提供的仲裁机选举方法中,智能设备11在接入智能家居系统1时,通过自动发起仲裁机选举流程,以更加灵活且智能化的方式在智能家居系统1中选举出仲裁机;同时,通过组播的方式进行报文发送,有效地解决了路由器禁用局域网广播的情
况,确保智能家居系统1的正常运行,另外,利用智能家居系统1中各智能设备11之间的连通性进行仲裁机选举,使得选出的仲裁机与其他智能设备11之间均具有良好的连通性,在用户唤醒时的响应更加迅速,大大提高了用户的使用体验。
57.具体的,在本实施例中,上述步骤s4中根据自身与其他智能设备11之间的连通性测试结果选举仲裁机,具体包括:智能设备11根据与其他每台智能设备11的连接耗时进行仲裁机选举。
58.作为本发明的一个实施例,智能设备11获取到与其他智能设备11的连接耗时之后,选举一台与其连接耗时最短的智能设备11作为仲裁机,采用此方案选出的仲裁机与智能家居系统1中的多数智能设备11的连接耗时更短,从而可以提升智能家居系统1的唤醒速度,提高用户体验。选举时,可以以设备类型、ip地址作为设备识别手段进行投票,也可以在组内将设备按照类型和/或ip地址进行排序后,按照排序序号进行投票。
59.应当理解的是,当智能家居系统1中的智能设备11较多时,每台智能设备11在投票时也可以选择两台以上的智能设备11进行投票,最后得票最高的智能设备11成为仲裁机,该设置可以选出与所有智能设备11连接相对稳定快速的设备作为仲裁机,可以进一步确保仲裁机工作的稳定性,保证用户的使用体验,应当理解的,每台智能设备11也可以选择至少一台与其连接耗时短的智能设备进行投票。
60.作为本发明的一个实施例,每台智能设备11根据与其他智能设备11的连接耗时选举自身认为合适的仲裁机,具体为,每台智能设备11选举与其连接耗时最短的智能设备11成为仲裁机,当一台智能设备11与多台智能设备11的连接耗时相同且为最短时,则根据预设的所述智能设备11的ip地址大小的优先顺序或按照预设的设备类型优先顺序进行投票,具体的,可以选择ip地址较大的智能设备11优先,也可以选择ip地址较小的智能设备11优先,设备类型优先顺序可以由厂家预先设定或者由用户自行设定,在本实施例中,在预先设定客厅电视-客厅空调-第一卧室空调-第二卧室空调-洗衣机-冰箱-油烟机的优先级别情况下,当出现一台智能设备11与客厅空调-洗衣机-油烟机的连接耗时相同的情况下,则选举客厅空调成为仲裁机,具体ip地址的选择顺序以及设备类型的优先顺序在本实施例不做具体限定,该设置可以在连接耗时相同的情况下更为合理的进行投票,以便快速选出仲裁机。
61.应当理解的,当多台智能设备11的票数并列最高时,根据预设的所述智能设备11的ip地址大小优先顺序或按照预设的设备类型优先顺序确定仲裁机选举结果,具体的,可以判定ip地址最大的智能设备11为仲裁机,也可以判定ip地址最小的智能设备11为仲裁机,或者,按照预设的设备类型优先顺序确定最终的仲裁机选举结果,在本实施例中,在预先设定客厅电视-客厅空调-第一卧室空调-第二卧室空调-洗衣机-冰箱-油烟机的优先顺序情况下,当出现客厅空调-第一卧室空调-洗衣机得票最高且票数相同的情况下,则判定客厅空调成为仲裁机,应当理解的是,预先设定的ip地址的优先顺序和预先设定的设备类型的优先顺序包括但不仅限于上述实施例中列举的情况,且ip地址的优先顺序和/或设备类型的优先顺序可以由用户自行设备,也可以由生产厂家预先设定。
62.需要说明的是,在所述智能设备11进行投票时使用的优选顺序规则可以与确定仲裁机时使用的优先顺序规则可以相同,也可以不同,作为其中的一个示例,当一台智能设备11发现有两台以上连接耗时相同且均未最短的智能设备11时,其可以选择预先设定的ip地
址优先顺序进行投票,例如投票给ip地址最大的智能设备11,或者投票给ip地址最小的智能设备11,当最终的投票结果中出现两台以上票数相同且最高的智能设备时,可以选择按照预先设定的ip地址的优先顺序确定仲裁机,也可以按照预先设定的设备类型的优先顺序确定仲裁机,具体的结合方案在本实施例中不做具体的限定。
63.在本实施例中,智能家居系统1中的每台所述智能设备11每间隔第一预设时长t1会通过组播发送设备信息,通过设备信息定时发送通知所述智能家居系统1中其他的智能设备11自身的存在,所述设备信息包括在线状态、ip地址、设备类型等,所述第一预设时长t1为预先设定的时长阈值,可以为5秒、8秒、10秒等,优选为5秒。
64.在本实施例中,每台所述智能设备11均生成并维护一张设备信息表,所述设备信息表用于记录智能设备11自身和/或间接发现的智能设备11的设备信息,以及该智能设备11到其他智能设备11的连接耗时,应当理解的是,在此情况下,每台智能设备11每间隔第一预设时长t1通过组播发出的是自身维护的设备信息表。
65.具体的,当智能设备11在第二预设时长内未接收到某一智能设备11的设备信息表,则判定该设备离线,将其从自身维护的设备信息表中删除,所述第二预设时长t2为预先设定的时长阈值,且t2>t1,在本实施例中,所述第二预设时长t2可以为20秒、30秒、40秒等,优选为30秒,该设置可以保证设备信息表中的设备均处于在线状态,以便快速执行仲裁机的选举,避免离线设备的虚假信息干扰。
66.较佳的,每台所述智能设备11每间隔第三预设时长t3触发一次自身到各台智能设备11的连接耗时测试,并刷新对应的设备信息表中的连接耗时字段,所述第三预设时长t3为预先设定的时长阈值,在本实施例中,所述第三预设时长t3可以为8分钟、10分钟、12分钟等,优选为10分钟,该设置可以定时检测智能设备11与其他智能设备11的连接耗时情况,便于监控智能家居系统1的网络连接状态,确保设备信息表中的连接耗时的持续维护更新。
67.需要说明的是,当接收到新上线智能设备11发送的上线消息时,智能家居系统1中其他的智能设备11执行的步骤s2具体包括:
68.步骤s21,将自身维护的设备信息表以组播的形式发出;
69.该设置可以帮助新上线智能设备11快速发现局域网内的其他设备。
70.步骤s211,比较自身与新上线智能设备11上次连通性测试的时间间隔,若小于第四预设时长t4,则直接使用上次测试的结果,不再执行步骤s22;若不小于第四预设时长t4,则执行步骤s22;
71.所述的时间间隔具体是指该智能设备11接收到上线消息的时间与该智能设备11和新上线智能设备11上次连通性测试的时间间隔,该设置可以有效地规避个别设备网络不稳定,频繁上下线,进而导致反复地测试网络连通性的问题,所述第四预设时长t4为预先设定的时长阈值,在本实施例中,所述第四预设时长t4可以为8秒、10秒、12秒等,优选为10秒。
72.步骤s22,测试自身与新上线智能设备11的连接耗时。
73.较佳的,在上述步骤s211执行之前还可以执行如下步骤:
74.步骤s210,检测自身维护的设备信息表中是否有新上线智能设备11,若是,则执行步骤s211,若否,则执行步骤s22。
75.该设置可以根据设备信息表确定新上线智能设备11是否存在频繁上下线的问题,对于并非频繁上下线的智能设备11可以直接测试连通性,避免了时长判断环节。
76.当新上线智能设备11接收到组内其他智能设备11发来的设备信息表时,执行以下步骤:
77.s31:将设备信息表中除了连通和连接耗时的信息之外的其他信息同步到自身维护的设备信息表中,并同时测试自身与这些智能设备11的连通性。
78.可选的,在所述智能家居系统1中的智能设备11在完成与新上线智能设备11的连通性测试后即可进行投票,所述新上线智能设备11在发送完上线消息第五预定时长t5,且完成与其他智能设备11的连通性测试之后即可投票,所述第五预设时长t5为预先设定的时长阈值,在本实施例中,所述第五预定时长t5可以为1秒、2秒、3秒等,优选为2秒,该设置可以确保在连通性测试完毕后再进行投票,从而保证了投票的及时性和准确性。
79.可选的,如图4所示,本发明提供的仲裁机选举方法还包括:
80.步骤s6,当仲裁机发现一台智能设备11连接中断时,仲裁机更新其设备信息表中的在线设备信息,不进行仲裁机重新选举。
81.需要说明的是,在本实施例中,连接中断是指仲裁机与该智能设备11的tcp socket连接断开或者心跳包连接超时,该设置可以保证智能家居系统1的运行稳定性,不会因为一台智能设备11的离线而重新发起仲裁机选举,在此情况下,仲裁机更新其设备信息表中的在线信息,将该智能设备11标记为不在线或者将其从设备信息表中删除。
82.或者,如图4所示,本发明提供的仲裁机选举方法还包括:
83.步骤s7,当一台智能设备11发现其与仲裁机连接中断时,则尝试重连仲裁机,若连接失败,则执行步骤s71;
84.步骤s71,ping该智能设备11所在的路由器网关,若连通,则执行步骤s72;
85.步骤s72,等待第六预定时长t6,期间若与仲裁机恢复连接,则正常运行,若未与仲裁机恢复连接,则发送设备上线消息,触发仲裁机重新选举。
86.其中,在步骤s7中,如果该智能设备11与仲裁机重新连接成功,则继续正常运行,不发起仲裁机重新选举,在步骤s71中,若不连通,则表示该智能设备11网络连接中断,在步骤s72中,恢复连接表示该智能设备11与仲裁机之间的tcp socket连接恢复、心跳包发送正常、接收到仲裁机发来的设备信息表或者宣告消息,若在第六预定时长t6期间恢复连接,则表明为暂时的网络波动,无需重新选举仲裁机,所述第六预定时长t6为预先设定的时长阈值,在本实施例中,所述第流预定时长t6为5秒。在此情况下,在短暂的网络波动的情况下,不会发生仲裁机的重新选举,而当仲裁机发生断电、断网等异常情况时,智能家居系统1中的其他智能设备11能尽快发起仲裁机的重新选举,进而可以始终保持有一台仲裁机在线,不会出现仲裁机挂死,导致智能家居系统1运行瘫痪的问题。
87.应当理解的是,当智能设备11发送上线消息后,在第五预定时长t5内没有收到其他智能设备11返回的设备信息时,投票选举自身为裁判机,无需执行连通性检测。
88.实施例2
89.本实施例提供了一种智能设备,该智能设备11可以实现实施例1中各个可能的相应步骤,如图5所示,所述智能设备11包括计算机可读存储介质111、处理器112和通信模块113,所述计算机可读存储介质111、处理器112和通信模块113相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。
90.其中,计算机可读存储介质111用于存储程序或者数据,计算机可读存储介质111可以是,但不限于随机存取存储器、只读存储器、可编程只读存储器、可擦除只读存储器,电可擦除只读存储器等。
91.处理器112用于读/写计算机可读存储介质111中存储的数据或程序,并执行相应地功能。例如,当计算机可读存储介质111存储的计算机程序被处理器112执行时,能够实现本发明提供的裁判机选举方法。
92.通信模块113用于通过网络建立与其它智能设备11之间的通信连接,并用于通过网络收发数据。
93.应当理解的是,图5所示的结构仅为智能设备11的结构示意图,该智能设备11还可包括比图5中所示更多或者更少的组件,或者具有与图5所示不同的配置,图5中所示的各组件可以采用硬件、软件或其组合实现。
94.实施例3
95.为了执行实施例1中各个可能的方式中的相应步骤,本实施例提拱了一种仲裁机选举装置的实现方式,如图6所示,需要说明的是,本发明提供的仲裁机选举装置2,其基本原理及产生的技术效果和实施例1相同,为简要描述,本实施例部分未提及之处,可参考实施例1中相应内容。该仲裁机选举装置2包括:报文收发模块21、连通性测试模块22、设备信息表维护模块23、投票模块24、仲裁机确定模块25。
96.具体的,上述模块可以软件或固件的形式存储于计算机可读存储介质111中或固化于智能设备11的操作系统中,并可由处理器112执行。同时,执行上述模块所需的数据、程序的代码等可以存储在计算机可读存储介质111中。
97.所述报文收发模块21用于以组播形式发送或者接收报文,具体的,在本实施例中,所述报文收发模块21用于在所述智能设备11联网并接入所述智能家居系统1时,以组播形式发送上线消息,也能够接收其他智能设备11发出的设备信息,并在仲裁机选举产生后,以一定的时间间隔发送自身的设备信息表,并接收其他智能设备11发来的设备信息表。
98.所述连通性测试模块22用于测试智能家居系统1中各台智能设备11之间的连通性。
99.所述设备信息表维护模块23用于生成并维护更新设备信息表。
100.所述投票模块24用于各台智能设备11按照与其他智能设备11的连接耗时进行仲裁机选举投票。
101.所述仲裁机确定模块25用于根据投票结果,确定票数最高的智能设备11成为仲裁机,所述仲裁机确定模块25还用于在智能设备11与仲裁机失去连接之后,执行步骤s7、s71、s72,必要时,发起仲裁机重新选举。
102.实施例4
103.本实施例公开一种计算机可读存储介质,所述计算机可读存储介质111上存储有计算机程序,该计算机程序被执行时,能够实现本发明提供的裁判机选举方法,在本实施例中,所述计算机程序被所述处理器112执行。
104.本实施例中提供的相对于现有技术所具备的优势与实施例1或2或3中所述的仲裁机选举方法、装置、智能设备相同,在此不再赘述。
105.虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本
发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1