一种投屏设备列表管理方法、装置、移动终端设备及存储介质与流程

摘要: 本技术涉及无线投屏,尤其涉及一种投屏设备列表管理方法、装置、移动终端设备及计算机可读存储介质。背景技术:1、随着无线局域网通信技术的发展,移动终端可以通过局域网...
一种投屏设备列表管理方法、装置、移动终端设备及存储介质与流程

本技术涉及无线投屏,尤其涉及一种投屏设备列表管理方法、装置、移动终端设备及计算机可读存储介质。

背景技术:

1、随着无线局域网通信技术的发展,移动终端可以通过局域网设备发现机制搜索处于同一局域网内的投屏接收设备,并在设备列表中展示所发现的投屏接收设备,以供用户选择并建立投屏连接。

2、在一些投屏应用场景中,投屏接收设备还可以通过声波广播包含投屏码、ip地址或者设备标识等信息的声波帧。移动终端通过麦克风采集并解析声波帧后,可以获得与投屏接收设备有关的声波候选信息,并利用声波候选信息辅助识别局域网设备列表中的目标设备。

3、然而,局域网设备发现机制通常会持续刷新设备列表。设备列表刷新后,原有列表行数据对象可能被新的列表行数据对象替换。若声波候选仅与某一时刻的列表行数据对象直接绑定,则在列表刷新或数据源重建后,原有绑定关系可能失效,进而导致声波候选无法继续与对应的局域网发现行相关联。

4、此外,当局域网内存在多个投屏接收设备时,若仅依据设备名、投屏码或单一ip地址条件将声波候选与设备列表行关联,可能出现多个设备满足相同或相近匹配条件的情况,从而造成声波候选与非目标设备行错误关联。

5、另一方面,设备列表的显示位置和底层数据源可能在设备发现结果刷新、列表排序或者列表控件复用过程中发生变化。用户触发某一目标行的连接操作时,若连接流程直接使用先前保存的列表行数据,而未重新从当前数据源获取目标行的最新行数据,则可能使用已经失效或者与当前位置不对应的数据发起投屏连接。

6、因此,有必要提供一种投屏设备列表管理方案,以提高声波候选与局域网发现行之间关联的稳定性,并降低设备列表刷新、列表排序及列表行复用情况下发生错误关联或错误连接的可能性。

技术实现思路

1、本技术提供了一种投屏设备列表管理方法、装置、移动终端设备及计算机可读存储介质,解决了在局域网设备列表持续刷新的情况下,声波候选与局域网发现行之间的关联容易随列表行数据对象的替换而丢失。仅采用单一设备参数进行匹配时,容易将声波候选错误关联至非目标局域网发现行;用户触发连接操作时,列表行当前位置与原列表行数据对象可能已经不对应,使用旧行数据可能导致错误连接。声波候选在连接触发时可能已经过期,或者候选信息与目标行的当前设备信息不一致,需要在连接前进行再次验证的技术问题。

2、为达到上述目的,本技术采用如下技术方案:

3、第一方面,提供一种投屏设备列表管理方法,包括:

4、解析接收端设备广播的声波帧,获得声波候选,所述声波候选包括投屏码、候选ip地址和帧标识;

5、分别根据所述投屏码、所述候选ip地址和所述帧标识建立对应的索引关系,使所建立的多个索引关系关联同一声波候选对象,形成多索引缓存;

6、响应于局域网设备发现机制触发的设备列表刷新,获取当前设备列表中的局域网发现行,并基于所述声波候选与各所述局域网发现行之间的ip地址关系、投屏码匹配关系和候选有效状态,对各所述局域网发现行进行初次复核;

7、将初次复核通过的局域网发现行与对应的声波候选对象相关联,并在所述局域网发现行中设置候选关联状态信息;

8、响应于针对所述设备列表中目标行的连接触发操作,根据所述目标行在所述设备列表中的当前位置,从所述设备列表的当前数据源中获取所述目标行的最新行数据;

9、从所述最新行数据中获取与所述目标行关联的声波候选对象,并在未获取到有效的声波候选对象时,根据所述最新行数据中的设备关联参数查询所述多索引缓存,以恢复与所述目标行对应的声波候选对象;

10、基于恢复的声波候选对象和所述最新行数据对所述目标行进行二次复核;

11、在二次复核通过时,根据所述恢复的声波候选对象触发投屏连接;在二次复核未通过时,取消所述目标行与所述恢复的声波候选对象之间的关联,清除所述目标行的候选关联状态信息,并终止本次投屏连接流程。

12、结合上述第一方面,在一种可能的实现方式中,所述多索引缓存包括以所述投屏码为索引键的第一索引、以所述候选ip地址为索引键的第二索引以及以所述帧标识为索引键的第三索引。所述第一索引、所述第二索引和所述第三索引中的索引值均关联同一声波候选对象。

13、所述声波候选对象可以包括投屏码字段、ip地址字段、帧标识字段和候选有效期字段。所述候选有效期字段可以采用有效截止时间、剩余有效时长或者其他能够表征候选有效状态的数据形式。

14、结合上述第一方面,在一种可能的实现方式中,根据所述候选有效期字段确定声波候选对象是否处于有效状态。当所述候选有效期字段指示的有效期届满时,将所述声波候选对象以及与所述声波候选对象对应的索引项设置为失效状态。

15、当确定与所述声波候选对象关联的局域网发现行已从当前设备列表中移除时,可以从所述第一索引、所述第二索引和所述第三索引中删除与所述声波候选对象对应的索引项。

16、结合上述第一方面,在一种可能的实现方式中,所述声波候选还包括候选主机标识。对局域网发现行进行初次复核可以包括:

17、确定所述候选ip地址与所述局域网发现行的行ip地址是否属于同一本地网段,得到第一匹配结果;

18、确定所述声波候选的投屏码与所述局域网发现行的服务投屏码是否一致,得到第二匹配结果;

19、确定所述候选主机标识与所述局域网发现行的主机名是否匹配,得到第三匹配结果;

20、在所述第一匹配结果、所述第二匹配结果和所述第三匹配结果中的至少一个指示匹配,并且所述声波候选处于有效状态时,确定所述局域网发现行初次复核通过。

21、结合上述第一方面,在一种可能的实现方式中,确定候选ip地址与行ip地址是否属于同一本地网段,可以包括:

22、获取候选ip地址对应的第一网络前缀以及行ip地址对应的第二网络前缀;

23、比较所述第一网络前缀和所述第二网络前缀;

24、在所述第一网络前缀和所述第二网络前缀相同时,确定所述候选ip地址与所述行ip地址属于同一本地网段。

25、在候选ip地址和行ip地址均为ipv4地址时,可以根据本地网络的子网掩码,对候选ip地址执行按位与运算得到第一网络前缀,并根据所述子网掩码对行ip地址执行按位与运算得到第二网络前缀。

26、结合上述第一方面,在一种可能的实现方式中,所述候选关联状态信息包括声波直连标识。将初次复核通过的局域网发现行与声波候选对象相关联时,可以在所述局域网发现行的行数据对象中写入指向所述声波候选对象的候选引用,并在设备列表中显示与所述局域网发现行对应的声波直连标识。

27、结合上述第一方面,在一种可能的实现方式中,所述候选关联状态信息包括局域网发现行的排序权重。将初次复核通过的局域网发现行与声波候选对象相关联时,可以在所述局域网发现行的行数据对象中写入指向所述声波候选对象的候选引用,并提高所述局域网发现行在设备列表中的排序权重。

28、当所述声波候选对象失效时,可以将所述局域网发现行的排序权重恢复为局域网设备发现对应的默认排序权重。

29、结合上述第一方面,在一种可能的实现方式中,从最新行数据中获取或者恢复声波候选对象,可以包括:

30、读取所述最新行数据中记录的候选引用;

31、在所述候选引用不为空,并且所述候选引用指向的声波候选对象处于有效状态时,将所述候选引用指向的声波候选对象确定为恢复的声波候选对象;

32、在所述候选引用为空,或者所述候选引用指向的声波候选对象处于失效状态时,根据所述最新行数据中的ip地址查询第二索引;

33、在未通过所述第二索引获得有效的声波候选对象时,根据所述最新行数据中的投屏码查询第一索引;

34、在未通过所述第一索引获得有效的声波候选对象时,根据所述最新行数据中的帧标识查询第三索引;

35、在所述第一索引、所述第二索引和所述第三索引均未查询到有效的声波候选对象时,确定与所述目标行对应的声波候选对象不可用。

36、结合上述第一方面,在一种可能的实现方式中,对目标行进行二次复核可以包括:

37、确定所述恢复的声波候选对象是否处于有效状态;

38、确定所述恢复的声波候选对象中的候选ip地址与所述最新行数据中的当前ip地址是否一致;

39、确定所述恢复的声波候选对象中的投屏码与所述最新行数据中的当前投屏码是否一致,或者在所述最新行数据未包含当前投屏码时,确定二者不存在投屏码冲突;

40、在所述恢复的声波候选对象处于有效状态、候选ip地址与当前ip地址一致,并且投屏码与当前投屏码一致或者不存在投屏码冲突时,确定所述目标行二次复核通过;

41、在任一复核条件不满足时,确定所述目标行二次复核未通过,并输出候选失效提示。

42、结合上述第一方面,在一种可能的实现方式中,根据恢复的声波候选对象触发投屏连接可以包括:

43、使用所述目标行对应的局域网设备ip地址发起实时流传输协议连接;

44、在所述局域网设备ip地址不可达时,使用所述恢复的声波候选对象中的候选ip地址发起实时流传输协议连接,其中,所述候选ip地址已经通过本地网段复核;

45、将本次投屏连接对应的连接参数写入声波连接快照;

46、通过所述实时流传输协议连接传输媒体流。

47、声波帧用于获得声波候选,而不作为媒体流传输通道。

48、结合上述第一方面,在一种可能的实现方式中,所述多索引缓存还可以包括以下至少一种附加索引:

49、以服务实例名为索引键的索引;

50、以无线接入点标识为索引键的索引;

51、以设备名哈希值为索引键的索引。

52、各附加索引中的索引值同样关联所述声波候选对象。

53、第二方面,提供一种投屏设备列表管理装置,包括:

54、声波候选获取模块,用于解析接收端设备广播的声波帧,获得声波候选;

55、多索引缓存模块,用于分别根据投屏码、候选ip地址和帧标识建立对应的索引关系,使多个索引关系关联同一声波候选对象;

56、列表关联模块,用于响应于局域网设备发现机制触发的设备列表刷新,对当前设备列表中的局域网发现行进行初次复核,并将初次复核通过的局域网发现行与对应的声波候选对象相关联;

57、点击恢复模块,用于响应于针对设备列表中目标行的连接触发操作,根据目标行的当前位置从当前数据源中获取最新行数据,并从最新行数据或者多索引缓存中恢复对应的声波候选对象;

58、复核模块,用于基于恢复的声波候选对象和最新行数据对目标行进行二次复核;

59、连接控制模块,用于在二次复核通过时触发投屏连接,并在二次复核未通过时取消候选关联、清除候选关联状态信息并终止本次投屏连接流程。

60、结合上述第二方面,在一种可能的实现方式中,所述多索引缓存模块包括分别以投屏码、候选ip地址和帧标识为索引键的多个哈希映射表,各哈希映射表中的索引值关联同一声波候选对象。所述多索引缓存模块可以被配置为对各哈希映射表进行线程安全的并发读写。

61、第三方面,本技术提供一种移动终端设备,包括麦克风硬件、无线局域网通信模块以及上述投屏设备列表管理装置。

62、所述麦克风硬件用于采集接收端设备广播的声波帧;所述无线局域网通信模块用于执行局域网设备发现,并与投屏接收设备建立网络连接;所述投屏设备列表管理装置用于解析麦克风硬件采集的声波帧,管理声波候选与局域网发现行之间的关联,并通过无线局域网通信模块触发投屏连接。

63、第四方面,本技术提供了一种计算机可读存储介质,其上存储有计算机程序。所述计算机程序被处理器执行时,使所述处理器执行上述投屏设备列表管理方法。

64、有益效果:

65、1、通过分别以投屏码、候选ip地址和帧标识建立多个索引,并使多个索引关联同一声波候选对象,即使局域网设备列表刷新导致原列表行数据对象被替换,也能够根据新列表行数据中的设备关联参数重新查询并恢复相应的声波候选对象,从而提高候选关联的持续性。在设备列表刷新时,根据ip地址关系、投屏码匹配关系、候选主机标识匹配关系和候选有效状态对局域网发现行进行初次复核,可以降低声波候选与非目标局域网发现行错误关联的可能性。

66、2、响应于连接触发操作时,根据目标行在设备列表中的当前位置从当前数据源重新获取最新行数据,而不是直接使用先前保存的行数据,可以降低因列表刷新、列表重排或者列表控件复用造成的错误连接风险。

67、3、当最新行数据中的候选引用为空或者已经失效时,按照ip地址索引、投屏码索引和帧标识索引查询多索引缓存,可以提高声波候选对象的可恢复性。在实际触发投屏连接前,根据候选有效状态、候选ip地址与当前ip地址的一致性以及投屏码是否冲突进行二次复核,可以进一步降低使用过期候选或者不一致候选发起投屏连接的可能性。

68、4、在局域网设备ip地址不可达时,可以使用已经通过本地网段复核的候选ip地址发起实时流传输协议连接,在保持现有网络媒体传输链路的基础上提高连接成功的可能性。声波帧仅用于获得候选信息,不承担媒体流传输功能,因而无需引入额外的媒体传输通道。