一种IOT设备服务网络切换方法和系统及其设备转让专利

申请号 : CN202010117555.X

文献号 : CN111314146B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王焱俊孟石

申请人 : 杭州涂鸦信息技术有限公司

摘要 :

本发明涉及一种IOT设备服务网络切换方法,包括以下步骤:获取所述IOT设备的网口接收的对应每个服务网络的ip地址;根据所述网口接收到的所述ip地址生成NEW_ADDR信息;根据所述NEW_ADDR信息利用netlink消息机制获取网络选取策略;根据网络选取策略生成对应每个所述ip地址的索引号;根据所述索引号在所有所述服务网络中选取最优网络,其余所述服务网络的ip地址置空;根据所述最优网络建立与所述IOT设备的通信连接。在本发明的技术方案中,通过内核的netlink事件,获取每个网络端口IP地址信息,避免了轮询消耗CPU资源。

权利要求 :

1.一种基于Linux平台的IOT设备服务网络切换方法,其特征在于,包括以下步骤:获取所述IOT设备的网口接收的对应每个服务网络的ip地址;

根据所述网口接收到的所述ip地址生成NEW_ADDR信息;

根据所述NEW_ADDR信息利用netlink消息机制获取网络选取策略;

根据网络选取策略生成对应每个所述ip地址的索引号;

根据所述索引号在所有所述服务网络中选取最优网络,其余所述服务网络的ip地址置空;

根据所述最优网络建立与所述IOT设备的通信连接,包括:检测所述最优网络的中断,并判断所述最优网络是否可恢复,返回判断结果;

若是,重新获取对应所述最优网络的所述ip地址;

若否,根据所述索引号在其余所述服务网络中选取最优网络。

2.根据权利要求1所述的基于Linux平台的IOT设备服务网络切换方法,其特征在于:所述网络选取策略可配置,所述网络选取策略的默认优先级为有线连接>无线连接>LTE连接。

3.根据权利要求2所述的基于Linux平台的IOT设备服务网络切换方法,其特征在于:所述网络选取策略的优先级越高,所述索引号越小。

4.一种基于Linux平台的IOT设备服务网络切换系统,其特征在于,包括:ip地址获取模块,用于获取所述IOT设备的网口接收的对应每个服务网络的ip地址;

通知生成模块,用于根据所述网口接收到的所述ip地址生成NEW_ADDR信息;

网络策略获取模块,用于根据所述NEW_ADDR信息利用netlink消息机制获取网络选取策略;

索引生成模块,用于根据网络选取策略生成对应每个所述ip地址的索引号;

最优网络选取模块,用于根据所述索引号在所有所述服务网络中选取最优网络,其余所述服务网络的ip地址置空;

通信模块,用于根据所述最优网络建立与所述IOT设备的通信连接,所述通信模块包括:判断单元,用于检测所述最优网络的中断,并判断所述最优网络是否可恢复,返回判断结果;

控制单元,用于在最优网络为可恢复时控制ip地址获取模块重新获取对应所述最优网络的所述ip地址;或在最优网络为不可恢复时控制最优网络选取模块根据所述索引号在其余所述服务网络中选取最优网络。

5.根据权利要求4所述的基于Linux平台的IOT设备服务网络切换系统,其特征在于:还包括配置模块,用于配置所述网络选取策略,所述网络选取策略的默认优先级为有线连接>无线连接>LTE连接。

6.根据权利要求5所述的基于Linux平台的IOT设备服务网络切换系统,其特征在于:所述网络选取策略的优先级越高,所述索引号越小。

7.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,该程序被处理器执行时实现如权利要求1至3中任一项所述的基于Linux平台的IOT设备服务网络切换方法的步骤。

8.一种计算机设备,其特征在于,包括存储介质和处理器;存储介质,用于存储计算机程序;处理器,用于执行计算机程序以实现如权利要求1至3中任一项所述的基于Linux平台的IOT设备服务网络切换方法的步骤。

说明书 :

一种IOT设备服务网络切换方法和系统及其设备

技术领域

[0001] 本发明涉及物联网技术领域,尤其涉及一种基于Linux平台的IOT设备服务网络切换方法及其系统、计算机可读存储介质和计算机设备。

背景技术

[0002] 目前的物联网智能设备上网方式基本比较单一,通常要么只有有线网卡,要么只有无线网卡,所以连接外网只会通过有线或者无线进行。
[0003] 当一个设备同时可以通过有线,无线(WIFI),4G(LTE)进行上网,怎么选择链路至关重要,比如在该设备此时可通过无线和4G连接外网,我们应该优先选择无线,因为4G是收费的;如果该设备可通过有线和无线连接外网,我们应该优先选择有线,因为有线的链路稳定且速度快,所以如何进行网络切换以及什么时候进行切换是这个策略的重点。

发明内容

[0004] 本发明旨在至少解决现有技术或相关技术中存在的技术问题之一。
[0005] 为此,本发明的目的在于提供一种基于Linux平台的IOT设备服务网络切换方法及其系统、计算机可读存储介质和计算机设备,其能够通过内核的netlink事件,获取每个网络端口IP地址信息,避免了轮询消耗CPU资源。
[0006] 为实现上述目的,本发明第一方面的技术方案提供了一种基于Linux平台的IOT设备服务网络切换方法,包括以下步骤:
[0007] 获取IOT设备的网口接收的对应每个服务网络的ip地址;
[0008] 根据网口接收到的ip地址生成NEW_ADDR信息;
[0009] 根据NEW_ADDR信息利用netlink消息机制获取网络选取策略;
[0010] 根据网络选取策略生成对应每个ip地址的索引号;
[0011] 根据索引号在所有服务网络中选取最优网络,其余服务网络的ip地址置空;
[0012] 根据最优网络建立与IOT设备的通信连接。
[0013] 在上述技术方案中,优选地,根据最优网络建立与IOT设备的通信连接,包括以下步骤:
[0014] 检测最优网络的中断,并判断最优网络是否可恢复,返回判断结果;
[0015] 若是,重新获取对应最优网络的ip地址;
[0016] 若否,根据索引号在其余服务网络中选取最优网络。
[0017] 在上述任一技术方案中,优选地,网络选取策略可配置,网络选取策略的默认优先级为有线连接>无线连接>LTE连接。
[0018] 在上述任一技术方案中,优选地,网络选取策略的优先级越高,索引号越小。
[0019] 本发明第二方面的技术方案提供了一种基于Linux平台的IOT设备服务网络切换系统,包括:
[0020] ip地址获取模块,用于获取IOT设备的网口接收的对应每个服务网络的ip地址;
[0021] 通知生成模块,用于根据网口接收到的ip地址生成NEW_ADDR信息;
[0022] 网络策略获取模块,用于根据NEW_ADDR信息利用netlink消息机制获取网络选取策略;
[0023] 索引生成模块,用于根据网络选取策略生成对应每个ip地址的索引号;
[0024] 最优网络选取模块,用于根据索引号在所有服务网络中选取最优网络,其余服务网络的ip地址置空;
[0025] 通信模块,用于根据最优网络建立与IOT设备的通信连接。
[0026] 在上述技术方案中,优选地,通信模块包括:
[0027] 判断单元,用于检测最优网络的中断,并判断最优网络是否可恢复,返回判断结果;
[0028] 控制单元,用于在最优网络为可恢复时控制ip地址获取模块重新获取对应最优网络的ip地址;或
[0029] 在最优网络为不可恢复时控制最优网络选取模块根据索引号在其余服务网络中选取最优网络。
[0030] 在上述任一技术方案中,优选地,还包括配置模块,用于配置网络选取策略,网络选取策略的默认优先级为有线连接>无线连接>LTE连接。
[0031] 在上述任一技术方案中,优选地,网络选取策略的优先级越高,索引号越小。
[0032] 本发明第三方面的技术方案提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述第一方面的任一技术方案提供的基于Linux平台的IOT设备服务网络切换方法的步骤。
[0033] 本发明第四方面的技术方案提供了一种计算机设备,包括存储介质和处理器;存储介质,用于存储计算机程序;处理器,用于执行计算机程序以实现上述第一方面的任一技术方案提供的基于Linux平台的IOT设备服务网络切换方法的步骤。
[0034] 本发明提供的基于Linux平台的IOT设备服务网络切换方法及其系统、计算机可读存储介质和计算机设备与现有技术相比的优点在于:1、通过内核的netlink事件,获取每个网络端口IP地址信息,避免了轮询消耗CPU资源;2、通过配置网络选取策略从而进行服务网络的切换,优先级低的IP地址会设置为0,避免多个网络端口的IP地址重复;3、在当目前的联网方式发生冲突后能够自动恢复,保证该设备总能接入因特网。

附图说明

[0035] 本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
[0036] 图1示出了本发明一个实施例所涉及服务网络切换方法的流程框图;
[0037] 图2示出了本发明一些实施例所涉及服务网络切换方法的流程框图;
[0038] 图3示出了本发明另一个实施例所涉及服务网络切换系统的结构框图;
[0039] 图4示出了本发明实施例所涉及通信模块的结构框图;
[0040] 图5示出了本发明第三个实施例所涉及服务网络切换系统的结构框图。

具体实施方式

[0041] 为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
[0042] 在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不限于下面公开的具体实施例的限制。
[0043] 下面参照图1至图5描述根据本发明实施例所涉及的基于Linux平台的IOT设备服务网络切换方法及其系统、计算机可读存储介质和计算机设备。
[0044] 如图1所示,按照本发明一个实施例的基于Linux平台的IOT设备服务网络切换方法,包括以下步骤:
[0045] S1,获取IOT设备的网口接收的对应每个服务网络的ip地址;
[0046] S2,根据网口接收到的ip地址生成NEW_ADDR信息;
[0047] S3,根据NEW_ADDR信息利用netlink消息机制获取网络选取策略;
[0048] 在该步骤中,Linux内核提供了一种机制,能够当某个网口获取到IP地址的时候,会产生一个NEW_ADDR的信息,通过netlink消息机制将该通知下发给应用层,我们获取到该消息就执行相应的策略,这样类似于中断,避免了轮询消耗CPU资源。
[0049] S4,根据网络选取策略生成对应每个ip地址的索引号;
[0050] 在该步骤中,首先设置默认优先级,有线大于无线大于LTE网络,这个可以根据具体不同的应用场景进行改变。每种网络对应一个索引号,优先级越大的索引号越小,比如有线为0,无线为1,LTE网络为2,初始化状态对应的索引号为3。
[0051] S5,根据索引号在所有服务网络中选取最优网络,其余服务网络的ip地址置空;
[0052] S6,根据最优网络建立与IOT设备的通信连接。
[0053] 在该实施例中,首先获取每个网口的IP地址通知,如果三个都存在IP地址,则会引发竞争,索引号最小的有线成为目前的联网方式,其他网口(无线和LTE)的IP地址会设置为空,保证当前该设备有且只有一个方式进行上网,避免路IP冲突连接不上外网。
[0054] 如图2所示,在本发明的一些可能实施例中,S6,根据最优网络建立与IOT设备的通信连接,包括以下步骤:
[0055] S61,检测最优网络的中断,并判断最优网络是否可恢复,返回判断结果;
[0056] 若是,S62,重新获取对应最优网络的ip地址;
[0057] 若否,S63,根据索引号在其余服务网络中选取最优网络。
[0058] 在该实施例中,当前的网络连接中断,分为两种情况,第一种,不可恢复,比如有线网口的网线被拔掉;第二种,可恢复,比如周期更新IP地址失败。所以我们会首先重新获取IP地址,如果成功,则继续当前的联网方式,如果失败,这说明当前方式已经不能够连接网络,此时会开启其他联网方式,比如有线断开了,会开启无线以及LTE网络,然后再进行优先级竞争,最终总会存在目前可以联网的方式。
[0059] 在上述任一实施例中,优选地,网络选取策略可配置,网络选取策略的默认优先级为有线连接>无线连接>LTE连接。
[0060] 在上述任一实施例中,优选地,网络选取策略的优先级越高,索引号越小。
[0061] 如图3所示,按照本发明另一个实施例的基于Linux平台的IOT设备服务网络切换系统100,包括:
[0062] ip地址获取模块10,用于获取IOT设备的网口接收的对应每个服务网络的ip地址;
[0063] 通知生成模块20,用于根据网口接收到的ip地址生成NEW_ADDR信息;
[0064] 网络策略获取模块30,用于根据NEW_ADDR信息利用netlink消息机制获取网络选取策略;
[0065] 索引生成模块40,用于根据网络选取策略生成对应每个ip地址的索引号;
[0066] 最优网络选取模块50,用于根据索引号在所有服务网络中选取最优网络,其余服务网络的ip地址置空;
[0067] 通信模块60,用于根据最优网络建立与IOT设备的通信连接。
[0068] 通过实施例,能够为用户选择最优线路进行上网。本系统的默认优先级为:有线>无线>4G,当同时存在两种或者三种可上网的方式时,会默认选择最适合的线路,无需人工干预。
[0069] 如图4所示,在本发明的一些可能实施例中,通信模块60包括:
[0070] 判断单元61,用于检测最优网络的中断,并判断最优网络是否可恢复,返回判断结果;
[0071] 控制单元62,用于在最优网络为可恢复时控制ip地址获取模块重新获取对应最优网络的ip地址;或
[0072] 在最优网络为不可恢复时控制最优网络选取模块根据索引号在其余服务网络中选取最优网络。
[0073] 在该实施例中,当目前选择的网络断开时,会自动修复,且重新开启竞争,保证用户可以联网。策略是首先会尝试重新连接当前网络,然后再开启其他网络进行优先级的竞争。比如当前是通过有线进行上网,突然有线网络断开,首先会尝试重新获取有线的IP地址,如果获取到,则继续用有线进行上网,如果获取不到,则开启无线和4G,进行优先级竞争,优先级高的便成为当前联网的方式。
[0074] 如图5所示,按照本发明第三个实施例的基于Linux平台的IOT设备服务网络切换系统100,包括:
[0075] ip地址获取模块10,用于获取IOT设备的网口接收的对应每个服务网络的ip地址;
[0076] 通知生成模块20,用于根据网口接收到的ip地址生成NEW_ADDR信息;
[0077] 网络策略获取模块30,用于根据NEW_ADDR信息利用netlink消息机制获取网络选取策略;
[0078] 索引生成模块40,用于根据网络选取策略生成对应每个ip地址的索引号;
[0079] 最优网络选取模块50,用于根据索引号在所有服务网络中选取最优网络,其余服务网络的ip地址置空;
[0080] 通信模块60,用于根据最优网络建立与IOT设备的通信连接;
[0081] 配置模块70,用于配置网络选取策略,网络选取策略的默认优先级为有线连接>无线连接>LTE连接。
[0082] 在上述任一实施例中,优选地,网络选取策略的优先级越高,索引号越小。
[0083] 基于上述如图1和图2所示方法,相应的,本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一实施例的基于Linux平台的IOT设备服务网络切换方法的步骤。
[0084] 基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD‑ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施场景的方法。
[0085] 基于上述如图1和图2所示的方法,以及图3和图4所示的虚拟装置实施例,为了实现上述目的,本申请实施例还提供了一种计算机设备,包括存储介质和处理器;存储介质,用于存储计算机程序;处理器,用于执行计算机程序以实现上述任一实施例的基于Linux平台的IOT设备服务网络切换方法的步骤。
[0086] 可选地,该计算机设备还可以包括用户接口、网络接口、摄像头、射频(Radio Frequency,RF)电路,传感器、音频电路、WI‑FI模块等等。用户接口可以包括显示屏(Display)、输入单元比如键盘(Keyboard)等,可选用户接口还可以包括USB接口、读卡器接口等。网络接口可选的可以包括标准的有线接口、无线接口(如蓝牙接口、WI‑FI接口)等。
[0087] 本领域技术人员可以理解,本实施例提供的一种计算机设备结构并不构成对该计算机设备的限定,可以包括更多或更少的部件,或者组合某些部件,或者不同的部件布置。
[0088] 存储介质中还可以包括操作系统、网络通信模块。操作系统是管理和保存计算机设备硬件和软件资源的程序,支持信息处理程序以及其它软件和/或程序的运行。网络通信模块用于实现存储介质内部各组件之间的通信,以及与该实体设备中其它硬件和软件之间通信。
[0089] 本发明提供的基于Linux平台的IOT设备服务网络切换方法及其系统、计算机可读存储介质和计算机设备与现有技术相比的优点在于:1、通过内核的netlink事件,获取每个网络端口IP地址信息,避免了轮询消耗CPU资源;2、通过配置网络选取策略从而进行服务网络的切换,优先级低的IP地址会设置为0,避免多个网络端口的IP地址重复;3、在当目前的联网方式发生冲突后能够自动恢复,保证该设备总能接入因特网。
[0090] 在本发明中,术语“第一”、“第二”、“第三”仅用于描述的目的,而不能理解为指示或暗示相对重要性;术语“多个”则指两个或两个以上,除非另有明确的限定。术语“安装”、“相连”、“连接”、“固定”等术语均应做广义理解,例如,“连接”可以是固定连接,也可以是可拆卸连接,或一体地连接;“相连”可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
[0091] 本发明的描述中,需要理解的是,术语“上”、“下”、“左”、“右”、“前”、“后”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或单元必须具有特定的方向、以特定的方位构造和操作,因此,不能理解为对本发明的限制。
[0092] 在本说明书的描述中,术语“一个实施例”、“一些实施例”、“具体实施例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或实例。而且,描述的具体特征、结构、材料或特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
[0093] 以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。