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

跨网络平面通信方法、设备及可读存储介质与流程

2022-08-11 08:56:14 来源:中国专利 TAG:


1.本发明涉及通信网络技术领域,尤其涉及一种跨网络平面通信方法、设备及可读存储介质。


背景技术:

2.随着iptv(交互式网络电视)业务智能化技术演进,语音控制和多屏互动等业务逐步融入iptv。传统iptv的epg(electronic program guide,电子节目指南)系统和视频系统部署在专用网络,但语音控制和多屏互动等新业务部署在公共网络。如何使一个应用程序即可以访问iptv专网也可以访问公网,是业内亟待解决的问题。
3.在已知iptv系统专网部署的多个epg服务器ip地址和多个视频服务器ip地址的情况下,网关根据这些服务器ip地址,制定路由表。机顶盒接收此路由表,且获取双ip地址(局域网ip地址和iptv专网ip地址)。根据路由表中记载的ip地址和设备获取的ip地址得到机顶盒设备的路由表。当机顶盒访问iptv专网epg服务器和视频服务器时,由于目的地址已知,根据机顶盒设备的路由表规则,使用iptv专网ip地址访问iptv业务。当机顶盒访问其他目的地址时,使用局域网ip地址访问iptv业务,从而实现业务区分。但此方案需要预先知道iptv系统专网部署的多个epg服务器ip地址和多个视频服务器ip地址,还需要将这些ip地址通过网关发送给机顶盒,当iptv系统专网部署的epg服务器和视频服务器地址发生变更,或者没有记录完全时,则设备无法进行iptv业务访问。


技术实现要素:

4.本发明的主要目的在于提供一种跨网络平面通信方法、设备及可读存储介质。旨在解决当服务器ip地址变更或没有记录时,无法进行iptv业务访问的技术问题。
5.第一方面,本发明提供一种跨网络平面通信方法,所述跨网络平面通信方法包括:
6.将应用程序使用控件构建的数据报文添加与控件对应的标签;
7.判断添加有标签的数据报文是否由iptv应用程序使用控件构建;
8.若是,则将标签为第一标签的数据报文发送到设备实际网口,并通过设备实际网口传送给网关,将标签为第二标签的数据报文发送到设备虚拟网口,并通过设备虚拟网口传送给网关,以供网关将来自设备实际网口的数据报文通过公网发送,将来自设备虚拟网口的数据报文通过专网发送。
9.可选的,在所述将应用程序使用控件构建的数据报文添加与控件对应的标签的步骤之前,包括:
10.获取已连接的公共网络对应的设备实际网口的类型;
11.根据iptv通道的vlan id建立设备虚拟网口,其中,设备虚拟网口的类型与设备实际网口的类型相对应。
12.可选的,在所述将应用程序使用控件构建的数据报文添加与控件对应的标签的步骤之前,还包括:
13.获取需要与外界进行通信的各个控件的控件id;
14.根据各个控件的控件id确定各个控件的控件id对应的各个控件需要访问的网络类型;
15.将需要访问的网络类型为公网的控件添加第一标签,将需要访问的网络类型为专网的控件添加第二标签,其中,第一标签对应公网,第二标签对应专网。
16.可选的,所述将应用程序使用控件构建的数据报文添加与控件对应的标签的步骤,包括:
17.将应用程序使用添加有第一标签的控件构建的数据报文添加第一标签;
18.将应用程序使用添加有第二标签的控件构建的数据报文添加第二标签。
19.可选的,在所述将应用程序使用控件构建的数据报文添加与控件对应的标签的步骤之前,还包括:
20.分别创建各个控件对应的socket连接,其中,每个控件对应一个socket连接;
21.将标签为第一标签的控件对应的socket连接添加上第一标签,将标签为第二标签的控件对应的socket连接添加上第二标签。
22.可选的,在所述将应用程序使用控件构建的数据报文添加与控件对应的标签的步骤之前,还包括:
23.使用ip规则将第一标签与第一路由表绑定,将第二标签与第二路由表绑定,其中,第一路由表与设备实际网口绑定,第二路由表与设备虚拟网口绑定,第一标签对应公网,第二标签对应专网。
24.可选的,所述将标签为第一标签的数据报文发送到设备实际网口的步骤包括:
25.通过第一标签对应的第一路由表以及构建标签为第一标签的数据报文的控件对应的标签为第一标签的socket连接,将标签为第一标签的数据报文发送到设备实际网口;
26.所述将标签为第二标签的数据报文发送到设备虚拟网口的步骤包括:
27.通过第二标签对应的第二路由表以及构建标签为第二标签的数据报文的控件对应的标签为第二标签的socket连接,将标签为第二标签的数据报文发送到设备虚拟网口。
28.可选的,所述判断添加有标签的数据报文是否由iptv应用程序使用控件构建的步骤,包括:
29.获取iptv应用程序的第一进程号;
30.在服务层中通过processclient函数获取正在运行的应用程序的第二进程号;
31.若第一进程号与第二进程号相同,则判断添加有标签的数据报文是由iptv应用程序使用控件构建;
32.若第一进程号与第二进程号不相同,则判断添加有标签的数据报文不是由iptv应用程序使用控件构建。
33.第二方面,本发明还提供一种跨网络平面通信设备,所述跨网络平面通信设备包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的跨网络平面通信程序,其中所述跨网络平面通信程序被所述处理器执行时,实现如上所述的跨网络平面通信方法的步骤。
34.第三方面,本发明还提供一种可读存储介质,所述可读存储介质上存储有跨网络平面通信程序,其中所述跨网络平面通信程序被处理器执行时,实现如上所述的跨网络平
面通信方法的步骤。
35.本发明中,将应用程序使用控件构建的数据报文添加与控件对应的标签;判断添加有标签的数据报文是否由iptv应用程序使用控件构建;若是,则将标签为第一标签的数据报文发送到设备实际网口,并通过设备实际网口传送给网关,将标签为第二标签的数据报文发送到设备虚拟网口,并通过设备虚拟网口传送给网关,以供网关将来自设备实际网口的数据报文通过公网发送,将来自设备虚拟网口的数据报文通过专网发送。通过本发明,由于第一路由表分别与第一标签和设备实际网口进行了绑定,第二路由表分别与第二标签和设备虚拟网口进行了绑定,所以在确定是由iptv应用程序使用控件构建的数据报文后,将标签为第一标签的数据报文发送到设备实际网口,并通过设备实际网口传送给网关,将标签为第二标签的数据报文发送到设备虚拟网口,并通过设备虚拟网口传送给网关,以供网关将来自设备实际网口的数据报文通过公网发送,将来自设备虚拟网口的数据报文通过专网发送,从而,不获取服务器的ip地址,就可以满足一个应用程序既可以访问iptv专网也可以访问公网的需求,解决了现有技术中当服务器ip地址发生变更或没有记录时,无法进行iptv业务访问的问题。
附图说明
36.图1为本发明实施例方案中涉及的跨网络平面通信设备的硬件结构示意图;
37.图2为本发明跨网络平面通信方法第一实施例的流程示意图;
38.图3为图2中步骤s20的过程细化示意图;
39.图4为本发明跨网络平面通信方法第二实施例的流程示意图;
40.图5为本发明跨网络平面通信方法第三实施例的流程示意图;
41.本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
42.应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
43.第一方面,本发明实施例提供一种跨网络平面通信设备,该跨网络平面通信设备可以是个人计算机(personal computer,pc)、笔记本电脑、服务器等具有数据处理功能的设备。
44.参照图1,图1为本发明实施例方案中涉及的跨网络平面通信设备的硬件结构示意图。本发明实施例中,跨网络平面通信设备可以包括处理器1001(例如中央处理器central processingunit,cpu),通信总线1002,用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信;用户接口1003可以包括显示屏(display)、输入单元比如键盘(keyboard);网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真wireless-fidelity,wi-fi接口);存储器1005可以是高速随机存取存储器(random access memory,ram),也可以是稳定的存储器(non-volatile memory),例如磁盘存储器,存储器1005可选的还可以是独立于前述处理器1001的存储装置。本领域技术人员可以理解,图1中示出的硬件结构并不构成对本发明的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
45.继续参照图1,图1中作为一种计算机存储介质的存储器1005中可以包括操作系
统、网络通信模块、用户接口模块以及跨网络平面通信程序。其中,处理器1001可以调用存储器1005中存储的跨网络平面通信程序,并执行本发明实施例提供的跨网络平面通信方法。
46.第二方面,本发明实施例提供了一种跨网络平面通信方法。
47.一实施例中,参照图2,图2为本发明跨网络平面通信方法第一实施例的流程示意图。如图2所示,跨网络平面通信方法包括:
48.步骤s10,将应用程序使用控件构建的数据报文添加与控件对应的标签;
49.本实施例中,控件是对方法的封装,一个应用程序包括多个控件,其中,webview控件是对iptv页面访问方法的封装,ctcplayer是对iptv播放方法的封装,ottplayer是对多屏互动播放方法的封装。根据程序设置,将应用程序使用控件构建的数据报文打上与控件对应的标签,并根据程序设置,将添加有标签的数据报文传递到服务层中。
50.进一步地,一实施例中,步骤s10包括:
51.将应用程序使用添加有第一标签的控件构建的数据报文添加第一标签;
52.将应用程序使用添加有第二标签的控件构建的数据报文添加第二标签。
53.本实施例中,在应用层将需要访问的网络类型为公网的控件添加第一标签之后,通过程序设置将应用程序使用添加有第一标签的控件构建的数据报文添加第一标签。
54.在应用层将需要访问的网络类型为专网的控件添加第二标签之后,通过程序设置将应用程序使用添加有第二标签的控件构建的数据报文添加第二标签。
55.步骤s20,判断添加有标签的数据报文是否由iptv应用程序使用控件构建;
56.本实施例中,在服务层中判断添加有标签的数据报文是否由iptv应用程序使用控件构建。
57.进一步地,一实施例中,步骤s20包括:
58.步骤s201,获取iptv应用程序的第一进程号;
59.步骤s202,在服务层中通过processclient函数获取正在运行的应用程序的第二进程号;
60.步骤s203,若第一进程号与第二进程号相同,则判断添加有标签的数据报文是由iptv应用程序使用控件构建;
61.步骤s204,若第一进程号与第二进程号不相同,则判断添加有标签的数据报文不是由iptv应用程序使用控件构建。
62.本实施例中,参照图3,图3为图2中步骤s20的过程细化示意图。如图3所示,获取iptv应用程序启动后的第一进程号,并通过jni函数将第一进程号从应用层传递到服务层(fwmarkserver)中,其中,jni函数就是在native层定义的本地函数,对应于在java层使用native关键字声明的方法的。在服务层中,通过processclient函数获取正在运行的应用程序的第二进程号,将第一进程号与第二进程号进行比较,如果第一进程号与第二进程号相同,则判断添加有标签的数据报文是由iptv应用程序使用控件构建,如果第一进程号和第二进程号不相同,则判断添加有标签的数据报文不是由iptv应用程序使用控件构建。其中,processclient函数是android现有的函数,是安卓系统中的进程客户端。
63.步骤s30,若是,则将标签为第一标签的数据报文发送到设备实际网口,并通过设备实际网口传送给网关,将标签为第二标签的数据报文发送到设备虚拟网口,并通过设备
虚拟网口传送给网关,以供网关将来自设备实际网口的数据报文通过公网发送,将来自设备虚拟网口的数据报文通过专网发送。
64.本实施例中,若步骤s20中判断结果为添加有标签的数据报文是由iptv应用程序使用控件构建,则将标签为第一标签值的数据报文通过第一路由表路由到设备实际网口,再通过设备实际网口传送给网关,将标签为第二标签的数据报文通过第二路由表路由到设备虚拟网口,再通过设备虚拟网口传送给网关。进一步地,通过设备虚拟网口传送给网关的数据报文会被添加有与iptv通道的vlan id对应的标签,通过设备实际网口传送给网关的数据报文不会被添加有与iptv通道的vlan id对应的标签,以供网关根据数据报文上有无添加与iptv通道的vlan id对应的标签,确定数据报文是由设备实际网口发送来的还是由设备虚拟网口发送来的,进而将来自设备虚拟网口的数据报文通过专网发送,将来自设备实际网口的数据报文通过公网发送。
65.本实施例中,将应用程序使用控件构建的数据报文添加与控件对应的标签;判断添加有标签的数据报文是否由iptv应用程序使用控件构建;若是,则将标签为第一标签的数据报文发送到设备实际网口,并通过设备实际网口传送给网关,将标签为第二标签的数据报文发送到设备虚拟网口,并通过设备虚拟网口传送给网关,以供网关将来自设备实际网口的数据报文通过公网发送,将来自设备虚拟网口的数据报文通过专网发送。通过本实施例,由于第一路由表分别与第一标签和设备实际网口进行了绑定,第二路由表分别与第二标签和设备虚拟网口进行了绑定,所以在确定是由iptv应用程序使用控件构建的数据报文后,将标签为第一标签的数据报文发送到设备实际网口,并通过设备实际网口传送给网关,将标签为第二标签的数据报文发送到设备虚拟网口,并通过设备虚拟网口传送给网关,以供网关将来自设备实际网口的数据报文通过公网发送,将来自设备虚拟网口的数据报文通过专网发送,从而,不获取服务器的ip地址,就可以满足一个应用程序既可以访问iptv专网也可以访问公网的需求,解决了现有技术中当服务器ip地址发生变更或没有记录时,无法进行iptv业务访问的问题。
66.进一步地,一实施例中,在步骤s10之前,包括:
67.步骤s001,获取已连接的公共网络对应的设备实际网口的类型;
68.步骤s002,根据iptv通道的vlan id建立设备虚拟网口,其中,设备虚拟网口的类型与设备实际网口的类型相对应。
69.本实施例中,参照图4,图4为本发明跨网络平面通信方法第二实施例的流程示意图。如图4所示,运行iptv应用程序的设备获取已连接的公共网络对应的设备实际网口的类型,步骤s002的其中一种方式是通过已连接的公共网络向网关设备发送查询iptv通道的vlan id的指令,网关设备接收到查询iptv通道的vlan id的指令后,将查询到的iptv通道的vlan id反馈给运行iptv应用程序的设备,运行iptv应用程序的设备再根据网关反馈的iptv通道的vlan id建立虚拟网口。
70.进一步地,运行iptv应用程序的设备获取已连接的公共网络对应的设备实际网口的类型,另一种步骤s002的方式是人工在机顶盒上设置iptv通道的vlan id,然后运行iptv应用程序的设备根据iptv通道的vlan id建立设备虚拟网口。
71.其中,若设备实际网口的类型为有线类型,则虚拟网口的类型也为有线类型,若设备实际网口的类型为无线类型,则虚拟网口的类型也为无线类型,即建立的虚拟网口的类
型要与设备实际网口的类型相对应。
72.进一步地,一实施例中,在步骤s10之前,包括:
73.步骤s010,获取需要与外界进行通信的各个控件的控件id;
74.步骤s020,根据各个控件的控件id确定各个控件的控件id对应的各个控件需要访问的网络类型;
75.步骤s030,将需要访问的网络类型为公网的控件添加第一标签,将需要访问的网络类型为专网的控件添加第二标签,其中,第一标签对应公网,第二标签对应专网。
76.本实施例中,参照图5,图5为本发明跨网络平面通信方法第三实施例的流程示意图。如图5所示,在应用层中获取需要与外界进行通信的各个控件的控件id,通过扩展函数将各个控件的控件id传递到服务层的网络客户端(netdclient)中,在服务层的网络客户端(netdclient)中根据各个控件的控件id确定各个控件的控件id对应的各个控件需要访问的网络类型。通过网络客户端(netdclient)中的setnetworkforsocket函数将需要访问公网的控件添加上第一网络标识,将需要访问专网的控件添加上第二网络标识,以供确定添加有标签的数据报文是由iptv应用程序使用控件构建的后,通过setsockopt函数添加与第一网络标识相对应的fwmark.intvalue_1,通过setsockopt函数添加与第二网络标识相对应的fwmark.intvalue_2,以便通过setsockopt函数找到与fwmark.intvalue_1对应的标签为第一标签的socket连接,使得标签为第一标签的控件构建的标签为第一标签的数据报文通过标签为第一标签的socket连接发送到设备实际网口,以及通过setsockopt函数找到与fwmark.intvalue_2对应的标签为第二标签的socket连接,使得标签为第二标签的控件构建的标签为第二标签的数据报文通过标签为第二标签的socket连接发送到设备虚拟网口。其中,第一网络标识对应公网,第二网络标识对应专网,fwmark.intvalue_1对应公网,fwmark.intvalue_2对应专网。其中,fwmark.intvalue_1为fwmark_1选项中的一个参数,以供运行iptv应用程序的设备通过setsockopt函数找到与fwmark.intvalue_1对应的标签为第一标签的socket连接发送数据报文,fwmark.intvalue_2为fwmark_2选项中的一个参数,以供运行iptv应用程序的设备通过setsockopt函数找到与fwmark.intvalue_2对应的标签为第二标签的socket连接发送数据报文,setsockopt()函数,用于任意类型、任意状态套接口的设置选项值,扩展函数是指在一个类上增加一种新的行为,setnetworkforsocket函数是android现有的函数,可直接调用。
77.进一步地,在应用层中,初始化需要进行通信的各个控件,然后,将需要访问的网络类型为公网的各个初始化后的控件添加第一标签,将需要访问的网络类型为专网的各个初始化后的控件添加第二标签。例如,将需要访问专网的浏览器对应的webview(网页视图)控件设置为2,将需要访问公网的多屏互动控件设置为1。
78.其中,在步骤s10之前,可先执行步骤s001和步骤s002,也可先执行步骤s010至步骤s030,或者步骤s001至步骤s002与步骤s010至步骤s030一起执行。
79.进一步地,一实施例中,在步骤s10之前,还包括:
80.分别创建各个控件对应的socket连接,其中,每个控件对应一个socket连接;
81.将标签为第一标签的控件对应的socket连接添加上第一标签,将标签为第二标签的控件对应的socket连接添加上第二标签。
82.本实施例中,通过iptv应用程序分别创建需要与进行通信的各个控件对应的
socket连接,其中,每个控件对应一个socket连接。通过setsockopt函数将标签为第一标签的控件对应的socket连接添加上第一标签,通过setsockopt函数将标签为第二标签的控件对应的socket连接添加上第二标签。其中,setsockopt()函数,用于任意类型、任意状态套接口的设置选项值,网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket。
83.进一步地,一实施例中,在步骤s10之前,还包括:
84.使用ip规则将第一标签与第一路由表绑定,将第二标签与第二路由表绑定,其中,第一路由表与设备实际网口绑定,第二路由表与设备虚拟网口绑定,第一标签对应公网,第二标签对应专网。
85.本实施例中,通过程序设置在iptv应用程序中添加第一标签和第二标签,其中,第一标签对应公网,第二标签对应iptv专网。具体地,通过程序设置在iptv应用程序中添加第一标签netmark_1和第二标签netmark_2,其中,第一标签netmark_1=1对应公网,第二标签netmark_2=2对应专网。使用ip规则将第一标签对应的fwmark_1与第一路由表绑定,将第二标签对应的fwmark_2与第二路由表绑定,再将第一路由表与设备实际网口绑定,将第二路由表与设备虚拟网口绑定,以供运行iptv应用程序的设备通过识别iptv应用程序使用控件构建的数据报文的标签,将数据报文发送至设备实际网口或设备虚拟网口,其中,fwmark_1是用于网络连接中调整第一路由表的选项,fwmark_2是用于网络连接中调整第二路由表的选项。
86.进一步地,一实施例中,所述将标签为第一标签的数据报文发送到设备实际网口的步骤包括:
87.通过第一标签对应的第一路由表以及构建标签为第一标签的数据报文的控件对应的标签为第一标签的socket连接,将标签为第一标签的数据报文发送到设备实际网口;
88.所述将标签为第二标签的数据报文发送到设备虚拟网口的步骤包括:
89.通过第二标签对应的第二路由表以及构建标签为第二标签的数据报文的控件对应的标签为第二标签的socket连接,将标签为第二标签的数据报文发送到设备虚拟网口。
90.本实施例中,由于第一路由表与第一标签对应的fwmark_1绑定,构建标签为第一标签的数据报文的控件对应的标签为第一标签的socket连接被添加上第一标签,所以通过标签为第一标签的socket连接发送的标签为第一标签的数据报文会被第一路由表路由到设备实际网口。
91.由于第二路由表与第二标签对应的fwmark_2绑定,构建标签为第二标签的数据报文的控件对应的标签为第二标签的socket连接被添加上第二标签,所以通过标签为第二标签的socket连接发送的标签为第二标签的数据报文会被第二路由表路由到设备虚拟网口。
92.第三方面,本发明实施例跨网络平面通信还提供一种可读存储介质。
93.本发明可读存储介质上存储有跨网络平面通信程序,其中所述跨网络平面通信程序被处理器执行时,实现如上述的跨网络平面通信方法的步骤。
94.其中,跨网络平面通信程序被执行时所实现的方法可参照本发明跨网络平面通信方法的各个实施例,此处不再赘述。
95.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而
且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
96.上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
97.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备执行本发明各个实施例所述的方法。
98.以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
再多了解一些

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

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

相关文献