一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

多网络通信方法、终端设备、存储介质和程序产品与流程

2022-06-25 14:41:52 来源:中国专利 TAG:


1.本技术涉及网络通信技术领域,尤其涉及多网络通信方法、终端设备、存储介质和程序产品。


背景技术:

2.目前,安卓系统支持多种类型的网络,如wi-fi、移动数据、蓝牙、以太网等。但是安卓系统默认只允许一个网络在线,比如wi-fi网络连接后会把数据网络关掉,无法满足多网络通信需求。
3.由此可见,相关技术无法满足多网络通信需求,需要提供一种多网络通信方法以便于用户同时使用多个网络。


技术实现要素:

4.本技术的目的是提供一种多网络通信方法、终端设备、存储介质和程序产品,用以解决相关技术无法满足多网络同时通信的需求的问题。
5.第一方面,本技术提供一种多网络通信方法,所述方法包括:
6.接入第一网络的接入设备;
7.为所述第一网络建立第一接口,并为所述第一接口分配第一ip地址;
8.若存在第二网络为默认网络,则基于所述第一网络的所述第一接口和所述第一ip地址生成所述第一网络的第一非网关路由,并将所述第一非网关路由和所述第一接口加入到所述第二网络,并保持所述第二网络为默认网络。
9.在一些实施例中,所述方法还包括:
10.生成所述第一网络的网络号;
11.若检测到所述默认网络断开连接,则基于网络优先级选取新的默认网络;
12.基于所述新的默认网络的网络号,将所述默认网络中的指定非网关路由加入到所述新的默认网络,所述指定非网关路由为所述默认网络中的除所述默认网络的非网关路由之外的剩余非网关路由。
13.在一些实施例中,所述方法还包括:
14.若所述默认网络中存储有网关路由,则删掉所述默认网络中的网关路由。
15.在一些实施例中,所述方法还包括:
16.若检测到非默认网络断开连接,则将所述非默认网络的非网关路由从所述默认网络中删除。
17.在一些实施例中,所述方法还包括:
18.若向多个目标网络的接入设备发送目标数据,则在所述默认网络中查找各所述目标网络的接口;
19.分别通过各所述目标网络的接入设备的接口将所述目标数据分发给相应的接入设备。
20.在一些实施例中,所述方法还包括:
21.接收任一接入设备发送的待处理数据,所述待处理数据中包括目标网络的ip地址;
22.在所述默认网络中查找所述目标网络的ip地址对应的接口标识;
23.将所述待处理数据发送给所述接口标识对应的接口进行处理。
24.在一些实施例中,所述方法还包括:
25.若检测到所有非默认网络断开连接,则将所述默认网络的网关路由加入到所述默认网络中。
26.第二方面,本技术还提供了一种多网络通信装置,所述装置包括:
27.接入模块,被配置为接入第一网络的接入设备;
28.建立模块,被配置为所述第一网络建立第一接口,并为所述第一接口分配第一ip地址;
29.调整模块,被配置为若存在第二网络为默认网络,则基于所述第一网络的所述第一接口和所述第一ip地址生成所述第一网络的第一非网关路由,并将所述第一非网关路由和所述第一接口加入到所述第二网络,并保持所述第二网络为默认网络。
30.在一些实施方式中,所述装置还包括:
31.默认网络切换模块,被配置为:
32.生成所述第一网络的网络号;
33.若检测到所述默认网络断开连接,则基于网络优先级选取新的默认网络;
34.基于所述新的默认网络的网络号,将所述默认网络中的指定非网关路由加入到所述新的默认网络,所述指定非网关路由为所述默认网络中的除所述默认网络的非网关路由之外的剩余非网关路由。
35.在一些实施方式中,所述调整模块还被配置为若所述默认网络中存储有网关路由,则删掉所述默认网络中的网关路由。
36.在一些实施方式中,所述调整模块还被配置为若检测到非默认网络断开连接,则将所述非默认网络的非网关路由从所述默认网络中删除。
37.在一些实施方式中,所述装置还包括:
38.第一发送模块,被配置为若向多个目标网络的接入设备发送目标数据,则在所述默认网络中查找各所述目标网络的接口;
39.分发模块,被配置为分别通过各所述目标网络的接入设备的接口将所述目标数据分发给相应的接入设备。
40.可选的,所述装置还包括:
41.接收模块,被配置为接收任一设备发送的待处理数据,所述待处理数据中包括目标网络的ip地址;
42.查找模块,被配置为在所述默认网络中查找所述目标网络的ip地址对应的接口标识;
43.第二发送模块,被配置为将所述待处理数据发送给所述接口标识对应的接口进行处理。
44.可选的,所述调整模块,还被配置为若检测到所有非默认网络断开连接,则将所述
默认网络的网关路由加入到所述默认网络中。
45.第三方面,本技术还提供了一种终端设备,包括:
46.显示器、处理器和存储器;
47.所述显示器用于显示信息;
48.所述存储器,用于存储所述处理器可执行指令;
49.所述处理器被配置为执行所述指令,以实现如本技术第一方面中提供的任一方法。
50.第四方面,本技术一实施例还提供了一种计算机可读存储介质,当所述计算机可读存储介质中的指令由终端设备的处理器执行时,使得所述终端设备能够执行如本技术第一方面中提供的任一方法。
51.第五方面,本技术一实施例提供了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如本技术第一方面中提供的任一方法。
52.本技术的实施例提供的技术方案至少带来以下有益效果:
53.综上,本技术实施例将第一非网关路由加入到默认网络,并继续使用该默认网络,使得多个接入设备能够通过默认网络中包括的非网关路由同时通信,以实现终端设备与多个接入设备的同时通信,提高了通信效率,避免了网络转换操作复杂的问题,提高了用户体验。
54.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本技术。在符合本领域常识的基础上,上述各优选条件,可任意组合,即得本技术各较佳实施例。
附图说明
55.为了更清楚地说明本技术实施例的技术方案,下面将对本技术实施例中所需要使用的附图作简单地介绍,显而易见地,下面所介绍的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
56.图1为本技术实施例提供的一种终端设备的结构示意图;
57.图2为本技术实施例提供的一种终端设备的软件架构示意图;
58.图3为本技术实施例提供的相关技术中接入第一个接入设备的流程示意图;
59.图4为本技术实施例提供的相关技术中接入第二个接入设备的流程示意图;
60.图5为本技术实施例提供的一种多网络通信方法的流程示意图;
61.图6为本技术实施例提供的接入第一个接入设备后的系统示意图;
62.图7为本技术实施例提供的本技术实施例接入第二个接入设备的流程示意图;
63.图8为本技术实施例提供的接入第二个接入设备后的系统示意图;
64.图9为本技术实施例提供的断开第一个接入设备后的系统示意图;
65.图10为本技术实施例提供的本技术实施例接入第三个接入设备的流程示意图;
66.图11为本技术实施例提供的接入第三个接入设备后的系统示意图;
67.图12为本技术实施例提供的一种多网络通信方法的应用场景示意图;
68.图13为本技术实施例提供的一种多网络通信装置的结构示意图。
具体实施方式
69.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述。其中,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本技术保护的范围。
70.并且,在本技术实施例的描述中,除非另有说明,“/”表示或的意思,例如,a/b可以表示a或b;文本中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况,另外,在本技术实施例的描述中,“多个”是指两个或多于两个。
71.以下,术语“第一”、“第二”仅用于描述目的,而不能理解为暗示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”、的特征可以明示或者隐含地包括一个或者更多个该特征,在本技术实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
72.下面将结合实施例对本技术提供的一种多网络通信方法进行介绍。
73.本技术的发明构思可概括为:首先,接入第一网络的设备,为该第一网络建立第一接口,并为第一接口分配第一ip地址,若存在第二网络为默认网络,则基于第一网络的第一接口和第一ip地址生成第一网络的第一非网关路由,并将第一非网关路由和第一接口加入到第二网络,并保持所述第二网络为默认网络。综上,本技术实施例将第一非网关路由加入到默认网络,并继续使用该默认网络,使得多个接入设备能够通过默认网络中包括的非网关路由同时通信,以实现终端设备与多个接入设备的同时通信,提高了通信效率,避免了网络转换操作复杂的问题,提高了用户体验。
74.在介绍完本技术实施例的主要发明思想之后,下面对本技术实施例的技术方案能够适用的应用场景做一些简单介绍,需要说明的是,以下介绍的应用场景仅用于说明本技术实施例而非限定。在具体实施时,可以根据实际需要灵活地应用本技术实施例提供的技术方案。
75.首先,图1示出了一种终端设备100的结构示意图。
76.下面以终端设备100为例对实施例进行具体说明。应该理解的是,图1所示终端设备100仅是一个范例,并且终端设备100可以具有比图1中所示的更多的或者更少的部件,可以组合两个或多个的部件,或者可以具有不同的部件配置。图中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。
77.图1中示例性示出了根据示例性实施例中终端设备100的硬件配置框图。如图1所示,终端设备100包括:射频(radio frequency,rf)电路110、存储器120、显示单元130、摄像头140、传感器150、音频电路160、无线保真(wireless fidelity,wi-fi)模块170、处理器180、蓝牙模块181、以及电源190等部件。
78.rf电路110可用于在收发信息或通话过程中信号的接收和发送,可以接收基站的下行数据后交给处理器180处理;可以将上行数据发送给基站。通常,rf电路包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器、双工器等器件。
79.存储器120可用于存储软件程序及数据。处理器180通过运行存储在存储器120的
软件程序或数据,从而执行终端设备100的各种功能以及数据处理。存储器120可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。存储器120存储有使得终端设备100能运行的操作系统。本技术中存储器120可以存储操作系统及各种应用程序,还可以存储执行本技术实施例所述方法的程序代码。
80.显示单元130可用于接收输入的数字或字符信息,产生与终端设备100的用户设置以及功能控制有关的信号输入,具体地,显示单元130可以包括设置在终端设备100正面的触摸屏131,可收集用户在其上或附近的触摸操作,例如查看网络数据等。
81.显示单元130还可用于显示由用户输入的信息或提供给用户的信息以及终端设备100的各种菜单的图形用户界面(graphical user interface,gui)。具体地,显示单元130可以包括设置在终端设备100正面的显示屏132。其中,显示屏132可以采用液晶显示器、发光二极管等形式来配置。显示单元130可以用于显示本技术中程序读写过程等。
82.其中,触摸屏131可以覆盖在显示屏132之上,也可以将触摸屏131与显示屏132集成而实现终端设备100的输入和输出功能,集成后可以简称触摸显示屏。本技术中显示单元130可以显示应用程序以及对应的操作步骤。
83.摄像头140可用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,ccd)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,cmos)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给处理器180转换成数字图像信号。
84.终端设备100还可以包括至少一种传感器150,比如加速度传感器151、距离传感器152、指纹传感器153、温度传感器154。终端设备100还可配置有陀螺仪、气压计、湿度计、温度计、红外线传感器、光传感器、运动传感器等其他传感器。
85.音频电路160、扬声器161、麦克风162可提供用户与终端设备100之间的音频接口。音频电路160可将接收到的音频数据转换后的电信号,传输到扬声器161,由扬声器161转换为声音信号输出。终端设备100还可配置音量按钮,用于调节声音信号的音量。另一方面,麦克风162将收集的声音信号转换为电信号,由音频电路160接收后转换为音频数据,再将音频数据输出至rf电路110以发送给比如另一终端设备,或者将音频数据输出至存储器120以便进一步处理。本技术中麦克风162可以获取用户的语音。
86.wi-fi属于短距离无线传输技术,终端设备100可以通过wi-fi模块170帮助用户收发电子邮件、浏览网页和访问流媒体等,它为用户提供了无线的宽带互联网访问。
87.处理器180是终端设备100的控制中心,利用各种接口和线路连接整个终端设备的各个部分,通过运行或执行存储在存储器120内的软件程序,以及调用存储在存储器120内的数据,执行终端设备100的各种功能和处理数据。在一些实施例中,处理器180可包括一个或多个处理单元;处理器180还可以集成应用处理器和基带处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,基带处理器主要处理无线通信。可以理解的是,上述基带处理器也可以不集成到处理器180中。本技术中处理器180可以运行操作系统、应用程序、用户界面显示及触控响应,以及本技术实施例所述的多网络通信方法。另外,处理器180与显示单元130耦接。
88.蓝牙模块181,用于通过蓝牙协议来与其他具有蓝牙模块的蓝牙设备进行信息交
互。例如,终端设备100可以通过蓝牙模块181与同样具备蓝牙模块的可穿戴终端设备(例如智能手表)建立蓝牙连接,从而进行数据交互。
89.终端设备100还包括给各个部件供电的电源190(比如电池)。电源可以通过电源管理系统与处理器180逻辑相连,从而通过电源管理系统实现管理充电、放电以及功耗等功能。终端设备100还可配置有电源按钮,用于终端设备的开机和关机,以及锁屏等功能。
90.图2是本技术实施例的终端设备100的软件结构框图。
91.分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,可将android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(android runtime)和系统库,以及内核层。
92.应用程序层可以包括一系列应用程序包。
93.如图2所示,应用程序包可以包括相机,图库,日历,通话,地图,导航,wlan,蓝牙,音乐,视频,短信息等应用程序。
94.应用程序框架层为应用程序层的应用程序提供应用编程接口(application programming interface,api)和编程框架。应用程序框架层包括一些预先定义的函数。
95.如图2所示,应用程序框架层可以分为java侧以及native侧,java侧包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器,应用管理器等。安装管理服务(packagemanagerservice,后简称pms)位于图2中应用程序框架层的应用管理器(图中未示出)。
96.窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
97.内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿、短信息等。
98.视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括授权提示框的显示界面,可以包括显示文字的视图以及显示图片的视图。
99.电话管理器用于提供终端设备100的通信功能。例如通话状态的管理(包括接通,挂断等)。
100.资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等。
101.通知管理器使应用程序可以在悬浮窗中显示通知信息(例如短信息的消息摘要,消息内容),可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,终端设备振动,指示灯闪烁等。
102.native侧的服务位于应用程序框架层的native侧,与系统库相邻,installd是属于native侧的服务。
103.android runtime包括核心库和虚拟机。android runtime负责安卓系统的调度和管理。
104.核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
105.应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
106.系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(media libraries),三维图形处理库(例如:opengl es),2d图形引擎(例如:sgl)等。
107.表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2d和3d图层的融合。
108.媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:mpeg4,h.264,mp3,aac,amr,jpg,png等。
109.三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。
110.2d(一种动画方式)图形引擎是2d绘图的绘图引擎。
111.内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
112.本技术实施例中的终端设备100可以为手机、平板电脑、可穿戴设备以及电视等可安装安卓系统的终端设备。
113.相关技术中,安卓系统支持移动数据、wi-fi、蓝牙、以太网等多种网络,且将上述网络制订了优先级,在高优先级网络连接之后,系统将把低优先级网络断开。同一时刻,只允许一个网络在线,在线的网络称之为默认网络。例如,移动数据网络连接之后,再连接wi-fi网络,由于wi-fi网络优先级高,则系统将数据网络断开;若对于相同级别的网络,按照连接的时间顺序,后连接的网络将被设置为默认网络,之前连接的网络会被断开,总是维持一个网络在线。
114.其中,每一个网络会对应一个接入设备,例如采用路由器接入wi-fi网络,则wi-fi网络的接入设备为路由器,例如数据网络对应的接入设备为基站,蓝牙网络的接入设备是连接的对端蓝牙设备,当采用以太网连接相机时,该相机为以太网对应的接入设备。接入设备接入终端设备后,将由终端设备的系统建立相应接口以便于和相应的接入设备进行通信。若终端设备向某一接入设备发送数据包,则终端设备的系统将首先获取该接入设备的接口,并通过连接接入设备和终端设备的网络实现终端设备和接入设备之间的通信。其中,不同类型的接入设备有不同类型的网络,不同类型的网络对应不同类型的接口,例如wi-fi网络对应接口是wlan0、wlan1等,以太网对应的接口是eth0、eth1等。
115.以连接接入设备和终端设备的网络是以太网为例,第一个接入设备接入到终端设备时,相关技术中的流程如图3所示,包括以下内容:
116.当第一个接入设备接入后,在步骤301中,内核层会建立一个网络接口eth0。
117.在步骤302中,为接口eth0分配ip地址。
118.在步骤303中,framework层检测到新的网络加入。内核层建立接口eth0之后会向framework层(位于图2的应用程序框架层)上报一个事件,framework层存在一个事件监听器,该事件监听器监听到上述内核层上传的事件之后,即表明framework层检测到网络加入。
119.在步骤304中,为该网络分配一个网络号,比如分配网络100。
120.在步骤305中,将接口eth0加入网络100中。
121.在步骤306中,将接口eth0相关的路由加入网络100中。
122.最后,在步骤307中,framework层会把网络100设置为默认网络。
123.需要说明的是,内核层上传的事件会指示该接口的名称,framework层根据该接口的名称的字符组成来判断是哪种类型的网络,比如eth开头的是以太网,wlan开头的是wi-fi。
124.路由分两种,包括非网关路由和网关路由。非网关路由将发往某指定ip网段的数据包由某个指定的网口(接口)发出;网关路由又叫默认路由,是在路由表中所有非网关路由都无法匹配的情况下将数据包从某个指定网口发出。无论是网关路由还是非网关路由,其路由表里面存储的是ip地址和接口标识的对应关系,接口标识用于调用相应的接口。例如,接口eth0的ip地址是192.168.1.3,子网掩码255.255.255.0,对应非网关路由定义所有访问192.168.1网段的数据包从eth0发出,网关路由会定义访问其余所有网段的数据包从eth0发出,eth0即为接口标识,用于调用相应的接口eth0。由此可见,对于只有一个网络的情况,非网关路由和网关路由都会指定到同一个网口发出。接入第一个接入设备之后,若接入第二个接入设备,具体流程如图4所示,包括以下内容:
125.第二个接入设备接入后,在步骤401中,内核层会建立一个网络接口eth1。
126.在步骤402中,为接口eth1分配ip地址。
127.在步骤403中,framework层检测到新的网络加入。内核层建立接口eth0之后会向framework层上报一个事件,framework层存在一个事件监听器,该事件监听器监听到上述内核层上传的事件之后,即表明framework层检测到网络加入。
128.在步骤404中,为该网络分配一个网络号,比如分配网络101。
129.在步骤405中,将接口eth1加入网络101中。
130.在步骤406中,将接口eth1相关的路由加入网络101中。
131.最后,在步骤407中,framework层会把网络101设置为默认网络,并断开网络100。
132.若终端设备支持更多的设备接入,那么接入第三个、第四个等更多的接入设备时,流程与上述图4相同。但是,上述系统默认只允许一个网络在线,即使终端设备能够接入多个设备,但是不能实现多个设备通过对应的多个网络进行同时通信,由此,本技术实施例提供一种多网络通信方法。
133.本技术实施例提供的一种多网络通信方法,如图5所示,包括以下内容:
134.内核层在步骤501中,接入第一网络的接入设备。
135.本技术实施例支持移动数据、wi-fi、蓝牙、以太网等多种网络,该第一网络的接入设备可以为蓝牙耳机、摄像机等设备,本技术实施例对此并不限定。
136.内核层在步骤502中,为第一网络建立第一接口,并为第一接口分配第一ip地址。
137.framework层在步骤503中,若存在第二网络为默认网络,则基于第一网络的第一接口和第一ip地址生成第一网络的第一非网关路由,并将第一非网关路由和第一接口加入到第二网络,并保持第二网络为默认网络。
138.相较于现有技术,本技术实施例采用上述多网络通信方法之后,第一个接口接入流程与现有技术流程一致,均采用原生逻辑,不需要做更改。若接入第一个接入设备之后,
终端设备再次接入另一个接入设备,则不同于现有技术。
139.例如,终端设备接入第一个接入设备,则此时安卓系统中存在的网络及路由情况如图6所示,该安卓系统包括网络100,即为默认网络,该网络100包括接口eth0、接口eth0的非网关路由以及接口eth0的网关路由,该网络100即为连接终端设备和接入设备的网络,该接口eth0的即为终端设备和接入设备连接的接口,也是网络100的接口,该接口eth0的非网关路由以及接口eth0的网关路由是基于网络100的接口eth0和ip地址生成的非网关路由和网关路由。
140.若终端设备接入第二个接入设备,流程图如图7所示,包括以下内容:
141.在步骤701中,内核层会建立一个网络接口eth1。对应步骤502的为第一网络建立第一接口,该网络接口eth1即为第一接口。
142.在步骤702中,为接口eth1分配ip地址。对应步骤502的为第一接口分配第一ip地址。
143.在步骤703中,framework层检测到新的网络加入。内核层建立接口eth1之后会向framework层上报一个事件,framework层存在一个事件监听器,该事件监听器监听到上述内核层上传的事件之后,即表明framework层检测到新的网络加入。
144.在步骤704中,为该网络分配一个网络号,比如分配网络101。
145.若系统检测到已经存在默认网络100,该默认网络100对应步骤503中的第二网络,则在步骤705中,将接口eth1加入网络100中。
146.在步骤706中,将接口eth1的非网关路由加入网络100中。
147.最后,在步骤707中,framework层不设置网络101为默认网络,保持网络100为默认网络。
148.需要说明的是,若终端设备接入多个接入设备时,本技术实施例将删除多个接入设备对应的多个接口中的所有网关路由。由于在测试时,发现终端设备接入多个接入设备时,存在网关路由会引起路由混乱,容易导致某个接入设备的接口不能访问。因此为了使得每个接口均可正常使用,本技术实施例将删除所有网关路由,只保留非网关路由以实现局域网通信能力。
149.如图8所示,在第二个接入设备接入后,终端设备系统内的网络和路由情况包括:默认网络100中包括接口eth0和接口eth1,分别对应第一个接入设备以及第二个接入设备,以及接口eth0的非网关路由和接口eth1的非网关路由,网络101中没有任何接口和路由,但此网络不可删除,因为这是framework层对应接口eth1建立的网络,虽然该网络101不提供路由服务但存储了接口eth1的一些信息,该信息可用于在默认网络100断开后将网络101设置为默认网络的过程。
150.例如,若默认网络100断开,即第一个接入设备断开连接,则将网络101设置为默认网络,并将接口eth1的非网关路由接口eth1加入到网络101中,还将删除网络100,此时终端设备系统内的网络和路由情况如图9所示,包括:默认网络101的接口eth1,对应第二个接入设备,以及接口eth1的非网关路由。
151.需要补充的是,若存在更多的设备接入终端设备,流程与上述图7中流程相似,仅将设备的接口、ip地址、网络号以及接口的非网关路由进行相应的调整。以第三个接入设备接入为例,其流程如图10所示,包括以下内容:
152.在步骤1001中,内核层会建立一个网络接口eth2。对应步骤502的为第一网络建立第一接口,该网络接口eth2即为第一接口。
153.在步骤1002中,为接口eth2分配ip地址。对应步骤502的为第一接口分配第一ip地址。
154.在步骤1003中,framework层检测到新的网络加入。内核层建立接口eth2之后会向framework层上报一个事件,framework层存在一个事件监听器,该事件监听器监听到上述内核层上传的事件之后,即表明framework层检测到新的网络加入。
155.在步骤1004中,为该网络分配一个网络号,比如分配网络102。
156.若系统检测到已经存在默认网络100,该默认网络100对应步骤503中的第二网络,则在步骤1005中,将接口eth2加入网络100中。
157.在步骤1006中,将接口eth2的非网关路由加入网络100中。
158.最后,在步骤1007中,framework层不设置网络102为默认网络,保持网络100为默认网络。
159.如图11所示,第三个接入设备接入后终端设备的系统内网络和路由情况包括:默认网络100中包括接口eth0、接口eth1和接口eth2,对应第一个接入设备、第二个接入设备和第三个接入设备,以及接口eth0的非网关路由、接口eth1的非网关路由和接口eth2的非网关路由,网络101和网络102中没有任何接口和路由。上述默认网络100中,三个接入设备可以通过对应的接口同时通信,且通过删除网关路由,避免了网关路由会引起路由混乱导致某个接口不能访问的情况,提高了通信效率。
160.在一些实施例中,若检测到默认网络断开连接,则基于网络优先级选取新的默认网络;基于新的默认网络的网络号,将默认网络中的指定非网关路由加入到新的默认网络,指定非网关路由为所述默认网络中的除所述默认网络的非网关路由之外的剩余非网关路由。
161.例如,如图8所示,终端设备中存在2个网络:网络100和网络101。若默认网络100断开,framework层检测到网络100丢失,按网络优先级选择优先级最高的网络101设置为默认网络,并把接口eth1从网络100中移除,然后加入到网络101中,将接口eth1的非网关路由从100中移除,然后加入到网络101。
162.需要说明的是,若检测到默认网络断开连接,并且终端设备中存在2个以上网络,根据网络优先级选取新的默认网络。例如,android系统里面为各种不同的网络固定了优先级,以太网》wi-fi》移动数据,默认网络的选定首先按照优先级,选定优先级最高的网络作为默认网络;若同一优先级有多个网络,那么将找到的第一个网络作为默认网络,比如目前系统存在多个网络,包括wlan0、eth0、eth1、eth2等,系统会依次查看每一个网络,若eth0、eth1、eth2的优先级最高且相等,由于eth0是第一个查看的网络,则选定eth0作为默认网络。
163.在另一些实施例中,若检测到非默认网络断开连接,则将非默认网络的非网关路由从默认网络中删除。例如,网络102为非默认网络,若检测到网络102断开连接,将网络102的非网关路由从网络100中删除。而且,由于网络102本身不含有接口及路由,本技术实施例将该网络102从系统中删除,假设第三个接入设备接入后安卓系统内网络和路由情况如图11所示,则网络102断开连接后,系统内网络和路由情况将如图8所示。
164.需要补充的是,若检测到所有非默认网络断开连接,则将默认网络的网关路由加入到默认网络中。当非默认网络全部断开时,默认网络100中只剩下接口eth0,本技术实施例将eth0的网关路由加入网络100,以满足设备访问互联网的需求。
165.如图12所示,为本技术实施例中的一种多网络通信方法的应用场景图。图中包括:终端设备100、接口1、接口2、接口3,以及分别与接口相连接的摄像头1、摄像头2和摄像头3。其中,接口1与摄像头1通过网络100连接,接口2与摄像头2通过网络101连接,接口3和摄像头3通过网络102连接。
166.在一些实施例中,若向多个目标网络的接入设备发送目标数据,则在默认网络中查找各目标网络的接入设备的接口,并分别通过各所述目标网络接口将目标数据分发给相应的接入设备。例如,如图12所示,终端设备连接了3个摄像头,则多个目标网络的接入设备为3个摄像头,在默认网络中查找该3个摄像头对应的接口,如图12中的接口1、接口2以及接口3,分别通过各摄像头接口将目标数据分发给相应的摄像头;或者,若三个摄像头需要将采集的画面发送给终端设备,可以分别通过各自对应的接口同时发送到终端设备。相较于相关技术中,只能保持一个默认网络在线,一个默认网络对应一个接入设备的接口,从而只能和一个接入设备进行通信,本技术实施例实现了多个网络同时通信,提高了通信效率。
167.本领域技术人员应当理解的是,图12中示出的摄像头和网络接口旨在表示本技术的技术方案涉及的终端设备的操作。而非暗示图12中终端设备以及接口的数量、类型或是位置等具有限制。应当注意,如果向图示环境中添加附加模块或从其中去除个别模块,不会改变本技术的示例实施例的底层概念。
168.需要说明的是,本技术提出的多网络通信方法不仅适用于图12所示的应用场景,还可以用于其它可能的应用场景,本技术实施例并不进行限制。
169.综上所述,本技术实施例将第一非网关路由加入到默认网络,并继续使用该默认网络,使得多个接入设备能够通过默认网络中包括的非网关路由同时通信,以实现终端设备与多个接入设备的同时通信,提高了通信效率,避免了网络转换操作复杂的问题,提高了用户体验。
170.基于相同的发明构思,本技术实施例还提供了一种多网络通信装置1300,如图13所示,所述装置包括:
171.接入模块1301,被配置为接入第一网络的接入设备;
172.建立模块1302,被配置为所述第一网络建立第一接口,并为所述第一接口分配第一ip地址;
173.调整模块1303,被配置为若存在第二网络为默认网络,则基于所述第一网络的所述第一接口和所述第一ip地址生成所述第一网络的第一非网关路由,并将所述第一非网关路由和所述第一接口加入到所述第二网络,并保持所述第二网络为默认网络。
174.在一些实施方式中,所述装置还包括:
175.默认网络切换模块,被配置为:
176.生成所述第一网络的网络号;
177.若检测到所述默认网络断开连接,则基于网络优先级选取新的默认网络;
178.基于所述新的默认网络的网络号,将所述默认网络中的指定非网关路由加入到所述新的默认网络,所述指定非网关路由为所述默认网络中的除所述默认网络的非网关路由
之外的剩余非网关路由。
179.在一些实施方式中,所述调整模块还被配置为若所述默认网络中存储有网关路由,则删掉所述默认网络中的网关路由。
180.在一些实施方式中,所述调整模块还被配置为若检测到非默认网络断开连接,则将所述非默认网络的非网关路由从所述默认网络中删除。
181.在一些实施方式中,所述装置还包括:
182.第一发送模块,被配置为若向多个目标网络的接入设备发送目标数据,则在所述默认网络中查找各所述目标网络的接口;
183.分发模块,被配置为分别通过各所述目标网络的接入设备的接口将所述目标数据分发给相应的接入设备。
184.可选的,所述装置还包括:
185.接收模块,被配置为接收任一设备发送的待处理数据,所述待处理数据中包括目标网络的ip地址;
186.查找模块,被配置为在所述默认网络中查找所述目标网络的ip地址对应的接口标识;
187.第二发送模块,被配置为将所述待处理数据发送给所述接口标识对应的接口进行处理。
188.在一些实施方式中,所述调整模块,还被配置为若检测到所有非默认网络断开连接,则将所述默认网络的网关路由加入到所述默认网络中。
189.在示例性实施例中,本技术还提供了一种包括指令的计算机可读存储介质,例如包括指令的存储器120,上述指令可由终端设备100的处理器180执行以完成上述多网络通信方法。可选地,计算机可读存储介质可以是非临时性计算机可读存储介质,例如,所述非临时性计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。
190.在示例性实施例中,还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器180执行时实现如本技术提供的多网络通信方法。
191.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
192.本技术是参照根据本技术的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
193.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指
令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
194.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的精神和范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献