CN102291808A - 一种网络通信方法、通信设备以及通信设备的中间件 - Google Patents

一种网络通信方法、通信设备以及通信设备的中间件 Download PDF

Info

Publication number
CN102291808A
CN102291808A CN2011101496871A CN201110149687A CN102291808A CN 102291808 A CN102291808 A CN 102291808A CN 2011101496871 A CN2011101496871 A CN 2011101496871A CN 201110149687 A CN201110149687 A CN 201110149687A CN 102291808 A CN102291808 A CN 102291808A
Authority
CN
China
Prior art keywords
middleware
long
connection
network
application program
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2011101496871A
Other languages
English (en)
Other versions
CN102291808B (zh
Inventor
赵亮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tong Yi (Beijing) Technology Co., Ltd.
Original Assignee
MO YAJING
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by MO YAJING filed Critical MO YAJING
Priority to CN2011101496871A priority Critical patent/CN102291808B/zh
Publication of CN102291808A publication Critical patent/CN102291808A/zh
Application granted granted Critical
Publication of CN102291808B publication Critical patent/CN102291808B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Mobile Radio Communication Systems (AREA)

Abstract

本发明的实施例提供一种网络通信方法、通信设备以及通信设备上的中间件,该网络通信方法包括:中间件接收到应用程序的长连接请求,当未有长连接时,发送网络连接权请求声明来请求获得网络连接权;获得网络连接权的中间件与网络侧建立长连接后,通知发出请求的应用程序,使得该应用程序绑定该长连接,与网络侧通信。使得多个需要进行网络连接的应用程序,能使用同一条长连接,来实现网络通信,降低通信设备的电量消耗,以及因长连接的心跳监测而需的网络流量的消耗。

Description

一种网络通信方法、通信设备以及通信设备的中间件
技术领域
本发明涉及通信领域,尤其涉及一种网络通信方法、通信设备以及通信设备上的中间件。
背景技术
随着移动互联网的发展,移动终端与普通个人电脑的界限越来越模糊,如windows phone、android等智能手机平台的出现,大大拓展了移动终端的可用性。如图1所示,各种供移动终端使用的应用程序越来越多的有与网络服务器进行数据传输的需求,而各种应用程序都各自与网络端建立长连接,当大量的程序运行时,对网络侧资源和移动终端资源的消耗都非常大,尤其是通过保持长连接心跳的程序,对移动终端的电量及网络流量而言都是一笔巨大的开销。
发明内容
为了实现多应用程序网络连接的共享,本发明实施例提供一种网络通信方法,应用于一通信设备,该通信设备包含中间件,该网络通信方法包括:
中间件接收由需要建立网络连接的第一应用程序发送的长连接请求;
如果未有长连接,中间件发送网络连接权请求声明,请求获得网络连接权;
获得所述网络连接权的第一中间件,根据长连接请求,与网络侧建立第一长连接;
所述第一中间件在所述第一长连接建立后,向所述第一应用程序反馈一通知消息,以使得所述第一应用程序绑定所述第一长连接,与网络侧通信。
进一步的,所述第一中间件与网络侧建立第一长连接之后,所述方法进一步包括:
所述中间件接收第二应用程序发送的长连接请求;
所述第一中间件向所述第二应用程序共享所述第一长连接,使得所述第二应用程序绑定所述第一长连接,与网络侧通信。
进一步的,所述长连接请求由所述第一应用程序以广播方式发送至所述中间件;
所述中间件包括两个以上中间件;
在所述中间件中,所述第一中间件以随机方式获得所述网络连接权。
进一步的,所述长连接请求由所述第一应用程序以广播方式发送至所述中间件;
所述中间件包括两个以上中间件;
所述中间件发送网络连接权请求声明之后,所述第一中间件获得所述网络连接权之前进一步包括:
所述第一中间件获得其他中间件发送自身优先级信息,比较第一中间件的优先级和所述其他中间件的优先级,得到优先级比较结果;
所述第一中间件将所述优先级比较结果通知所述其他中间件;
所述优先级比较结果为,所述第一中间件的优先级高于所述其他中间件的优先级。
进一步的,所述长连接请求由所述第一应用程序以广播方式发送至所述中间件;
所述中间件包括两个以上中间件;
所述中间件发送网络连接权请求声明之后,所述第一中间件获得所述网络连接权之前进一步包括:
所述第一中间件将自身优先级信息发送给另一中间件;
所述第一中间件接收所述另一中间件通知的优先级比较结果;
所述优先级比较结果指示,所述第一中间件的优先级高于其他中间件的优先级;所述优先级比较结果由所述另一中间件将所述第一中间件的优先级信息和接收到的其他中间件的优先级信息进行比较得到。
较优的,所述第一中间件与网络侧建立第一长连接之后,所述方法进一步包括:所述第一中间件将保存的所述第一长连接的长连接信息通知其他中间件;所述长连接信息包含数据链路信息。
更优的,所述长连接信息进一步包含:接受消息列表、心跳监控数据和/或绑定应用程序列表;
所述第一中间件将保存的所述第一长连接的长连接信息通知其他中间件具体为:
当所述接受消息列表更新、所述心跳监控数据变化,或所述绑定应用程序列表变化时,所述第一中间件将保存的所述第一长连接的所述数据链路信息通知其他中间件。
较优的,所述第一中间件与网络侧建立第一长连接之后,所述方法进一步包括:
当所述第一长连接中断后,如果所述第一中间件处于正常工作状态,所述第一中间件根据保存的所述第一长连接的数据链路信息,与网络侧建立第二长连接。
较优的,所述第一中间件与网络侧建立第一长连接之后,所述方法进一步包括:
当所述第一长连接中断后,如果所述第一中间件处于正常工作之外的状态,其他中间件发送网络连接权请求声明,请求获得网络连接权,其中,获得网络连接权的中间件根据所述第一长连接的数据链路信息,与网络侧建立第三长连接。
本发明同时提供一种通信设备的中间件,包括:
接收单元,用于接收长连接请求,长连接请求由需要建立网络连接的第一应用程序向中间件发送;
获取连接权单元,用于未有长连接时,发送网络连接权请求声明,请求获得网络连接权;
连接建立单元,用于获得网络连接权后,根据长连接请求,与网络侧建立第一长连接;以及
通知单元,用于在第一长连接建立后,向第一应用程序反馈一通知消息,以使得第一应用程序绑定第一长连接,与网络侧通信。
较优的,接收单元进一步用于,接收第二应用程序发送的长连接请求,第二应用程序需要建立网络连接;
获取连接权单元进一步用于,当存在第一长连接时,通知上述通知单元;
通知单元进一步用于,向第二应用程序反馈以通知消息,以使得第二应用程序绑定第二长连接,与网络侧通信。
进一步的,该中间件还包含:
比较单元,用于获得其他中间件发送的优先级信息,比较自身优先级信息和其他中间件的优先级信息,得到优先级比较结果,并发送给获取连接权单元和广播单元;
广播单元,用于将优先级比较结果广播至其他中间件的获取连接权单元;
获取连接权单元进一步用于,根据优先级比较结果判断是否取得连接权,当自身优先级最高时,通知连接建立单元取得连接权。
进一步的,获取连接权单元进一步用于:接收通信设备操作系统底层的中间件取得连接权的通知,并通知连接建立单元取得连接权;
通知表明中间件在所有发送网络连接权请求声明的中间件中,被随机选择为获得网络连接权的中间件。
进一步的,中间件进一步包含:连接信息保存单元,用于保存第一长连接的长连接信息;长连接信息包含:数据链路信息。
连接信息广播单元,用于将第一长连接的长连接信息向其他中间件广播;
连接建立单元进一步用于,接收其他中间件的连接信息广播单元发送的长连接信息。
进一步的,连接建立单元进一步用于,当获知第一长连接中断时,根据第一长连接的长连接信息,与网络侧建立第二长连接;
长连接信息进一步包含:应用程序绑定列表;
通知单元进一步用于,在第二长连接建立后,向应用程序绑定列表中的应用程序发送通知消息,使得应用程序绑定列表中的应用程序绑定第二长连接,与网络侧通信。
本发明还提供一种通信设备,包含上述各技术方案中描述的中间件。
本发明实施例提供的在通信设备上的中间件,利用中间件的网络通信方法,以及包含中间件的通信设备,使得多个需要进行网络连接的应用程序,能使用一条长连接,来实现网络通信,降低通信设备的电量消耗,以及因长连接的心跳监测而需的网络流量的消耗。
附图说明
图1为现有技术移动终端和网络通信的示意图;
图2为本发明一实施例的方法流程示意图;
图3为本发明一实施例中通信设备和网络侧通信的示意图;
图4为本发明一实施例的通信设备和网络侧通信的示意图;
图5为本发明一实施例的中间件结构框图及其与网络侧和应用程序的连接示意;
图6为本发明一实施例的中间件结构框图及其与网络侧和应用程序的连接示意。
具体实施方式
为了使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明实施例作进一步详细地说明。在此,本发明的示意性实施例及说明用于解释本发明,但并不作为对本发明的限定。
参见图2,本发明实施例提供了一种网络通信方法,可应用于一通信设备,包括但不限于移动终端,比如固定台式机,笔记本等个人计算机,小型局域网服务器等都可适用。该通信设备包含有中间件,中间件包括第一中间件。该网络通信方法包括:
中间件接收长连接请求,长连接请求由需要建立网络连接的第一应用程序发送;
中间件响应长连接请求,在未有长连接时,发送网络连接权请求声明,请求获得网络连接权;
第一中间件在获得网络连接权后,根据上述长连接请求,与网络侧建立第一长连接;
第一中间件在第一长连接建立后,向第一应用程序反馈一通知消息,以使得第一应用程序绑定第一长连接,与网络侧通信。
如图3所示,以移动终端为例,移动终端中的中间件A与网络侧(网络端服务器)之间建立长连接,移动终端中运行的多个应用程序,与中间件A之间以短连接报文的方式建立连接,实现各个应用程序与网络侧之间的数据通信。中间件A使得移动终端上的多应用程序共享网络连接,即一条长连接被N个应用程序复用,使移动终端的耗电量节省为原来的1/N。同时,因长连接需要心跳监控,而心跳监控通常使用发送简短数据来实现,在本发明由多个应用程序共享一条长连接的情况下,心跳监控所使用的数据也减少了,进而节省了移动终端的网络流量消耗。
通信设备中可以存在一个中间件,也可以存在多个中间件,通常情况下,每个中间件对应一个需要与网络侧进行通信的应用程序,如图4所示。中间件通过开放的应用程序接口(API)与应用程序进行通信,中间件可作为应用程序的附带程序安装于通信设备的任意位置,每个应用程序附带其对应的中间件;中间件也可单独安装于通信设备特定的磁盘空间中,各应用程序通过API与特定磁盘空间的中间件进行通信。
在通信设备中只存在一个中间件的场景中,需要建立网络连接的第一应用程序通过操作系统向该中间件发送长连接请求,该中间件判断当前不存在长连接,于是发送网络连接权请求声明,作为对长连接请求的响应;通信设备的操作系统底层接收到网络连接权请求声明,由于只有一个中间件,该中间件发送的网络连接权请求声明即生效,使得该中间件获得了网络连接权。于是该中间件根据前述长连接请求,与网络侧建立起长连接,便通知第一应用程序,第一应用程序通过于该中间件建立短连接来绑定该长连接,实现与网络侧的通信。
在该中间件与网络侧建立了长连接后,如果其他应用程序(如第二应用程序)也需要与网络侧进行通信,则通过广播或单独通知的方式(其不一定了解中间件的个数)发送长连接请求。此时只有一个中间件,所以只有该中间件接收到这个长连接请求,该中间件向第二应用程序共享之前建立的长连接。第二应用程序通过与该中间件建立短连接来绑定该共享的长连接,实现与网络侧的通信。
当通信设备中存在两个或两个以上中间件时,需要建立网络连接的第一应用程序以广播或单独通知的方式向所有中间件发送长连接请求,假设此时通信设备有三个中间件A、B、C。中间件A、B、C都收到第一应用程序发送的长连接请求,此时并未存在任何长连接,所以都发送了网络连接权请求声明来进行网络连接权的争抢,而如何确定由哪个中间件与网络侧最终建立长连接,有以下几种方式。
一种方式为,中间件A、B、C向操作系统底层发送网络连接权请求声明,作为对长连接请求的响应。
操作系统底层可以随机的方式,选择中间件A的网络连接请求权限声明生效、这样,中间件A获得了连接请求权,于是向网络侧发送网络连接请求,最后与网络侧建立长连接。
上述随机方式的一个可替代的方案为,操作系统随机先选择其中的一个中间件作为临时判断中间件,并通知所有中间件。比如此例采用Android操作系统,中间件B被选为临时判断中间件(Local Socket Server,由其获取其他中间件的优先级,并进行优先级仲裁),中间件A和C将自己的优先权信息发送给中间件B。此处的优先权信息主要指中间件的版本号。由于每个中间件的升级(或更新),是随着其对应的应用程序的更新而更新的,而应用程序启动升级的时间各有不同,致使中间件的版本存在差异,最近升级的中间件的版本号最高。由于操作系统底层不会去掌握(保存)这些信息,所以无法直接从三个中间件中获知优先级最高的中间件而直接指定该中间件发送的网络连接权请求声明生效。中间件B将这三个中间件的版本号进行判断排序,生成优先级列表,版本号越高的优先级越高。当部分中间件的版本号相同时,中间件B可对版本号相同的中间件进行随机排序,或按照收到版本号的时间先后,或者按照中间件的序号等排序。
本例中,假设版本号由高到低分别是:中间件A、中间件B、中间件C,中间件B将列表通知中间件A和中间件C,中间件A获知自己的优先级最高,其获得网络连接权,向网络侧发送连接请求。
另一种方式为,中间件A、B、C向操作系统进行网络连接权请求声明来进行网络连接权的争抢。
各中间件在网络连接权请求声明上附带一条随机延迟信息,比如中间件A延迟10ms,中间件B延迟15ms,中间件C延迟20ms,这些时间是随机产生的。操作系统对这些延迟时间进行比较,通知延迟时间最短的中间件其网络连接权请求声明生效,此例中中间件A的网络连接权请求声明生效,中间件A获得了网络连接权。
同样可替代的,多个中间件提出网络连接权限声明时,随机的,中间件A成为临时判断中间件,其他中间件将自己的版本号发送至中间件A,中间件A获知所有中间件的版本级别后,判断网络连接权限的优先级,版本高的中间件其网络连接权限的优先级相应的高,最后得到优先级列表并周知所有中间件。此例中,中间件A自己位于优先级列表第一位,其获得网络连接权,与网络侧建立长连接后,通知广播长连接请求的应用程序。
在中间件A与网络侧建立了长连接后,如果其他应用程序(如第二应用程序)也需要与网络侧进行通信,则通过操作系统,以广播或单独通知的方式(其不一定了解中间件的个数)发送长连接请求。此时中间件A已经成功与网络侧建立了长连接,所以它接收到这个长连接请求后,通知第二应用程序,共享之前已经建立的长连接。第二应用程序通过与中间件A建立短连接来绑定该共享的长连接,实现与网络侧的通信。
在共享长连接的网络通信中,由应用程序传输至网络侧的数据,以及由网络侧传递至各应用程序的数据,标有各应用程序的标签(Tab),使得中间件接受到该数据后,能进行正确的转发。
在中间件A建立长连接后,其它中间件处于等待状态,在下面几种情况下,其他中间件再进行网络连接权的争抢:
比如有新的应用程序(比如应用程序三)发出长连接请求的通知时(以广播或单独通知的形式通知),每个中间件收到了长连接请求,于是都发送网络连接请求权限声明,进行网络连接权的争抢。此时,因为中间件A与网络侧的长连接正常,所以其他中间件的网络连接权限声明不会生效,中间件A的网络连接权限声明才会生效,仍由中间件A向应用程序三共享已经建立的长连接。
再一种是在网络切换的情况下,比如由通信设备由WIFI连接转为GPRS连接,或者由2G网络转至3G网络,或者长连接因为信号原因中断,由于此时中间件A还处于正常工作状态,中间件A仍具有网络连接权。在网络切换完成后,中间件A向网络侧发送的网络连接请求即可使中间件A与网络侧建立新的长连接。
再比如当通信设备由于各种原因重新启动时,因为操作系统的所有进程都断开,所以当重新启动成功后,所有中间件可再次进行网络连接权的争抢。
还有一种情况,即中间件A处于正常工作状态之外的状态时,比如其对应的应用程序升级时,中间件无论是否有更新版本,也会从正常工作状态中退出,或者该应用程序被卸载时,或者因其他原因致中间件A损坏时,中间件A的网络连接权失效,其他中间件再次进行网络连接权的争抢。
各中间件一般以轮询或者轮询递进的方式获知是否有其它中间处于正常工作状态,轮询递进可以为,开始以一定的时间间隔来发送网络连接请求权限声明,其网络连接请求权限声明没有生效则表明目前已有其它中间件处于正常工作状态,随后轮询间隔时间随着多次网络连接请求权限声明没有生效而逐渐延长,到一定的时限便维持在该间隔时间来发送网络连接请求权限声明。当中间件A处于正常工作状态之外的状态时,其他中间件便可获知并开始进行网络连接权的再次争抢了。
在中间件A建立长连接后,其将保存(缓存、保存并定期删除或保存且接道删除指令时删除等方式)的长连接信息发送给其它中间件(比如以广播方式),长连接信息包括数据链路信息(比如网络服务器端口信息)、接受消息列表、心跳监控数据、应用程序绑定列表等。中间件A可以定时广播,或者当其保存的长连接信息发生变化时,将其长连接的数据链路信息缓存,并广播至其它中间件。其保存的长连接信息发生变化的情况包括:
接受消息列表更新,如中间件A收到网络侧消息后发送了反馈回执,则造成接受消息列表(或消息发送映射)的更新;
心跳监控变化,如网络侧服务器端根据网络连接状态,改变心跳监测的频率,随着连接状况趋于稳定使心跳检测的频率调低;
绑定更新,即长连接共享给新的应用程序,或有绑定的应用程序退出绑定(关闭、卸载)等。
更新的长连接信息被广播给其他中间件,待发生上述使其他中间件再次对网络连接权进行争抢的情形时,其他中间件获得了最新的长连接信息,其中,获得网络连接权的中间件便可实现中间件的“无缝切换”,比如周知原来向中间件A绑定的应用程序,向这些应用程序共享其新建立的长连接。
本发明同时提供通信设备中的中间件,在图5所示一个实施例中,中间件包含:接收单元,用于接收由需要建立网络连接的第一应用程序向该中间件发送的长连接请求;
获取连接权单元,用于在未有长连接时,发送网络连接权请求声明,请求获得网络连接权;
连接建立单元,用于获得网络连接权后,根据长连接请求,与网络侧建立第一长连接;以及
通知单元,用于在第一长连接建立后,向第一应用程序反馈一通知消息,以使得第一应用程序绑定第一长连接,与网络侧通信。
在通信设备具有两个或两个以上中间件的实施例中,如图6所示,中间件还包含:
比较单元,用于获得中间件发送的优先级信息,比较自身优先级信息和其他中间件的优先级信息,得到优先级比较结果,并发送给获取连接权单元和广播单元;以及
广播单元,用于将优先级比较结果广播至其他中间件的获取连接权单元。
在这个实施例中,获取连接权单元进一步用于,根据优先级比较结果判断是否取得连接权,当自身优先级最高时,通知连接建立单元取得连接权。
同样以中间件A、B和C为例,三个中间件都收到第一应用程序通过操作系统广播或单独发送的长连接请求,作为响应,三个中间件向通信设备(比如移动终端)的操作系统底层发送网络连接权请求声明,请求获得网络连接权。操作系统底层随机选择了中间件B作为临时判断中间件(Local Socket Server)。中间件A和C于是将自己的版本号发送给中间件B,即此时只有中间件B的比较单元会收到其他中间件的优先级信息。
中间件B形成的优先级比较结果可以为一优先级列表,按由高到低或由低到高的顺序排列各中间件的优先级,版本号越高的优先级越高。或者,优先级比较结果可以仅为最高优先级的中间件(在最高版本号为多个时随机选择一个),只要让各中间件知晓是谁取得网络连接权即可。
在另一在通信设备具有两个或两个以上中间件的实施例中,中间件A、B和C都收到第一应用程序通过操作系统广播或单独发送的长连接请求,假设此时不存在长连接,作为响应,三个中间件向通信设备(比如移动终端)的操作系统底层发送网络连接权请求声明,请求获得网络连接权。操作系统底层随机选择了中间件B,即中间件B的获取连接权单元接收到通信设备操作系统底层的一通知,通知中间件B取得了网络连接权,获取连接权单元通知连接建立单元取得了连接权,连接建立单元于是向网络侧发送连接请求,建立长连接。
在另一个实施例中,接收单元接收到需要建立网络连接的第二应用程序发送的长连接请求时,如图5所示,获取连接权单元进一步用于,当存在第一长连接时,通知通知单元;
通知单元进一步用于,向第二应用程序反馈以通知消息,以使得第二应用程序绑定第二长连接,与网络侧通信。
本例中,多个中间件接到第二应用程序广播的长连接请求,可由连接建立单元直接获取该请求后,判断是否已经由本中间件建立了长连接,即是否已经建立了长连接并且由该连接建立单元所在的中间件建立该长连接。如果是,则该连接建立单元通知与其连接的通知单元,由通知单元告知第二应用程序。也可由获取连接权单元获取长连接请求后,转发给连接建立单元先行做出上述判断。
可替代的方案中,多个中间件接到第二应用程序广播的长连接请求,各获取连接权单元直接发出网络连接权请求声明,当长连接已经建立时,只有其中的一个中间件是该长连接的发起者和起始端,所以只有该中间件发出的网络连接权请求声明是有效的(即该中间件具有网络连接权),此时该获取连接权单元通知连接建立单元,连接建立单元判断自己已经建立了长连接,于是通知通知单元,由通知单元向第二应用程序发出共享长连接的通知。
更优的,中间件进一步包含:
连接信息保存单元,用于保存第一长连接的长连接信息;该长连接信息包含数据链路信息,同时可以进一步包含应用程序绑定列表、接受消息列表更新、心跳监控数据变化等;
连接信息广播单元,用于将第一长连接的连接信息向其他中间件广播;
上述连接建立单元进一步用于,接收其他中间件的连接信息广播单元发送的长连接信息。这样,如果建立当前长连接的并非该中间件,该中间件也能实时获知当前长连接的最新长连接信息,以便在当前长连接中断,且是由于当前工作的中间件由于升级、被卸载以及被损坏,或者整个通信设备重启等原因时,争抢到网络连接权,也能进行中间件的无缝切换。比如,利用上次长连接中,与中间件绑定的应用程序列表,在本次长连接建立之后,通知该列表中的应用程序,使得本次长连接能方便快捷的为这些应用程序共享。
本发明还同时提供了包含上述实施例中中间件的通信设备,使用这样的通信设备,使多应用程序共享一条长连接,由此能节省设备的功耗以及网络流量,同时,即使在中间件从正常工作状态转化为非正常工作状态时,亦能实现中间件的无缝切换,从而不影响其他应用程序的网络连接。中间件可以是通信设备上随应用程序一起安装的附带程序,亦可以是通信设备中一硬件单元,只要能实现对多应用程序的网络连接共享即可。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (16)

1.一种网络通信方法,应用于一通信设备,其特征在于,所述通信设备包含中间件,所述网络通信方法包括:
所述中间件接收长连接请求,所述长连接请求由需要建立网络连接的第一应用程序发送;
如果未有长连接,所述中间件发送网络连接权请求声明,请求获得网络连接权;
获得所述网络连接权的第一中间件,根据所述长连接请求,与网络侧建立第一长连接;
所述第一中间件在所述第一长连接建立后,向所述第一应用程序反馈一通知消息,以使得所述第一应用程序绑定所述第一长连接,与网络侧通信。
2.根据权利要求1所述的网络通信方法,其特征在于,所述第一中间件与网络侧建立第一长连接之后,所述方法进一步包括:
所述中间件接收第二应用程序发送的长连接请求;
所述第一中间件向所述第二应用程序共享所述第一长连接,使得所述第二应用程序绑定所述第一长连接,与网络侧通信。
3.根据权利要求2所述的网络通信方法,其特征在于,
所述长连接请求由所述第一应用程序以广播方式发送至所述中间件;
所述中间件包括两个以上中间件;
在所述中间件中,所述第一中间件以随机方式获得所述网络连接权。
4.根据权利要求2所述的网络通信方法,其特征在于,
所述长连接请求由所述第一应用程序以广播方式发送至所述中间件;
所述中间件包括两个以上中间件;
所述中间件发送网络连接权请求声明之后,所述第一中间件获得所述网络连接权之前进一步包括:
所述第一中间件获得其他中间件发送自身优先级信息,比较第一中间件的优先级和所述其他中间件的优先级,得到优先级比较结果;
所述第一中间件将所述优先级比较结果通知所述其他中间件;
所述优先级比较结果为,所述第一中间件的优先级高于所述其他中间件的优先级。
5.根据权利要求2所述的网络通信方法,其特征在于,
所述长连接请求由所述第一应用程序以广播方式发送至所述中间件;
所述中间件包括两个以上中间件;
所述中间件发送网络连接权请求声明之后,所述第一中间件获得所述网络连接权之前进一步包括:
所述第一中间件将自身优先级信息发送给另一中间件;
所述第一中间件接收所述另一中间件通知的优先级比较结果;
所述优先级比较结果指示,所述第一中间件的优先级高于其他中间件的优先级;所述优先级比较结果由所述另一中间件将所述第一中间件的优先级信息和接收到的其他中间件的优先级信息进行比较得到。
6.根据权利要求3~5所述的网络通信方法,其特征在于,所述第一中间件与网络侧建立第一长连接之后,所述方法进一步包括:所述第一中间件将保存的所述第一长连接的长连接信息通知其他中间件;所述长连接信息包含数据链路信息。
7.根据权利要求6所述的网络通信方法,其特征在于,
所述长连接信息进一步包含:接受消息列表、心跳监控数据和/或绑定应用程序列表;
所述第一中间件将保存的所述第一长连接的长连接信息通知其他中间件具体为:
当所述接受消息列表更新、所述心跳监控数据变化,或所述绑定应用程序列表变化时,所述第一中间件将保存的所述第一长连接的所述数据链路信息通知其他中间件。
8.根据权利要求6所述的网络通信方法,其特征在于,所述第一中间件与网络侧建立第一长连接之后,所述方法进一步包括:
当所述第一长连接中断后,如果所述第一中间件处于正常工作状态,所述第一中间件根据保存的所述第一长连接的数据链路信息,与网络侧建立第二长连接。
9.根据权利要求6所述的网络通信方法,其特征在于,所述第一中间件与网络侧建立第一长连接之后,所述方法进一步包括:
当所述第一长连接中断后,如果所述第一中间件处于正常工作之外的状态,其他中间件发送网络连接权请求声明,请求获得网络连接权,其中,获得网络连接权的中间件根据所述第一长连接的数据链路信息,与网络侧建立第三长连接。
10.一种通信设备的中间件,其特征在于,包括:
接收单元,用于接收长连接请求,所述长连接请求由需要建立网络连接的第一应用程序发送;
获取连接权单元,用于未有长连接时,发送网络连接权请求声明,请求获得网络连接权;
连接建立单元,用于获得所述网络连接权后,根据所述长连接请求,与网络侧建立第一长连接;以及
通知单元,用于在所述第一长连接建立后,向所述第一应用程序反馈一通知消息,以使得所述第一应用程序绑定所述第一长连接,与网络侧通信。
11.根据权利要求10所述的中间件,其特征在于,
所述接收单元进一步用于,接收所述第二应用程序发送的长连接请求,所述第二应用程序需要建立网络连接;
所述获取连接权单元进一步用于,当存在所述第一长连接时,通知所述通知单元;
所述通知单元进一步用于,向所述第二应用程序反馈以通知消息,以使得所述第二应用程序绑定所述第二长连接,与网络侧通信。
12.根据权利要求11所述的中间件,其特征在于,所述中间件进一步包括:
比较单元,用于获得其他中间件发送的优先级信息,比较自身优先级信息和所述其他中间件的优先级信息,得到优先级比较结果,并发送给所述获取连接权单元和广播单元;
所述广播单元,用于将所述优先级比较结果广播至所述其他中间件的获取连接权单元;
所述获取连接权单元进一步用于,根据所述优先级比较结果判断是否取得连接权,当自身优先级最高时,通知所述连接建立单元取得连接权。
13.根据权利要求11所述的中间件,其特征在于,所述获取连接权单元进一步用于:接收所述通信设备操作系统底层的所述中间件取得连接权的通知,并通知所述连接建立单元取得连接权;
所述通知表明,所述中间件在所有发送网络连接权请求声明的中间件中,被随机选择为获得所述网络连接权的中间件。
14.根据权利要求12或13的中间件,其特征在于,所述中间件进一步包含:连接信息保存单元,用于保存所述第一长连接的长连接信息;所述长连接信息包含:数据链路信息。
连接信息广播单元,用于将所述第一长连接的长连接信息向其他中间件广播;
所述连接建立单元进一步用于,接收其他中间件的连接信息广播单元发送的长连接信息。
15.根据权利要求14所述的中间件,其特征在于,
连接建立单元进一步用于,当获知所述第一长连接中断时,根据所述第一长连接的长连接信息,与网络侧建立第二长连接;
所述长连接信息进一步包含:应用程序绑定列表;
所述通知单元进一步用于,在所述第二长连接建立后,向所述应用程序绑定列表中的应用程序发送通知消息,使得所述应用程序绑定列表中的应用程序绑定所述第二长连接,与网络侧通信。
16.一种通信设备,其特征在于,包含如权利要求10~15中任一项所述的中间件。
CN2011101496871A 2011-06-03 2011-06-03 一种网络通信方法、通信设备以及通信设备的中间件 Expired - Fee Related CN102291808B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2011101496871A CN102291808B (zh) 2011-06-03 2011-06-03 一种网络通信方法、通信设备以及通信设备的中间件

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2011101496871A CN102291808B (zh) 2011-06-03 2011-06-03 一种网络通信方法、通信设备以及通信设备的中间件

Publications (2)

Publication Number Publication Date
CN102291808A true CN102291808A (zh) 2011-12-21
CN102291808B CN102291808B (zh) 2013-12-04

Family

ID=45337849

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2011101496871A Expired - Fee Related CN102291808B (zh) 2011-06-03 2011-06-03 一种网络通信方法、通信设备以及通信设备的中间件

Country Status (1)

Country Link
CN (1) CN102291808B (zh)

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103916442A (zh) * 2013-01-07 2014-07-09 阿里巴巴集团控股有限公司 消息推送实现方法、移动终端及消息推送系统
CN104009938A (zh) * 2014-06-17 2014-08-27 合一网络技术(北京)有限公司 基于路由层面的长连接的方法和系统
CN104010001A (zh) * 2014-06-17 2014-08-27 合一网络技术(北京)有限公司 移动终端中同类联网请求进行连接通信的方法和系统
CN104144185A (zh) * 2013-05-09 2014-11-12 腾讯科技(深圳)有限公司 数据通信方法、装置及终端
CN104202420A (zh) * 2014-09-18 2014-12-10 广州中国科学院软件应用技术研究所 一种支持物联网中间件集群扩展的方法和装置
CN104754003A (zh) * 2013-12-30 2015-07-01 腾讯科技(深圳)有限公司 传输数据的方法及系统
CN104969654A (zh) * 2013-01-25 2015-10-07 高通股份有限公司 同步对保活消息的生成和传输
CN104980289A (zh) * 2014-04-14 2015-10-14 阿里巴巴集团控股有限公司 消息推送方法、装置和系统
CN105227398A (zh) * 2015-09-08 2016-01-06 深圳创维-Rgb电子有限公司 多业务共享长连接方法、系统及其装置、终端
CN105306418A (zh) * 2014-06-24 2016-02-03 博雅网络游戏开发(深圳)有限公司 多应用程序共享通信连接的方法和系统
CN105978788A (zh) * 2016-04-27 2016-09-28 努比亚技术有限公司 消息推送装置和方法
WO2017036305A1 (zh) * 2015-09-02 2017-03-09 华为技术有限公司 数据连接的建立方法、服务端及移动终端
CN107204854A (zh) * 2017-06-30 2017-09-26 上海测吧信息技术有限公司 一种基于usb‑token的数字签章方法
CN107204853A (zh) * 2017-06-30 2017-09-26 上海测吧信息技术有限公司 一种使用手机的无线数字签章方法
CN107800585A (zh) * 2016-09-07 2018-03-13 腾讯科技(深圳)有限公司 网络通信的方法和装置、推送消息的方法和装置
CN108173910A (zh) * 2017-12-18 2018-06-15 网宿科技股份有限公司 一种管理应用的方法和系统
CN110120897A (zh) * 2019-04-22 2019-08-13 国家计算机网络与信息安全管理中心 链路探测方法、装置、电子设备及机器可读存储介质
CN113360878A (zh) * 2020-03-06 2021-09-07 深圳法大大网络科技有限公司 一种签章方法、装置、服务器及介质
CN114221759A (zh) * 2021-11-29 2022-03-22 成都卫士通信息产业股份有限公司 一种远程监控部署方法、装置、电子设备及存储介质
CN114640705A (zh) * 2022-04-22 2022-06-17 山东恒远智能科技有限公司 一种大规模物联终端心跳监控方法
WO2023035660A1 (zh) * 2021-09-07 2023-03-16 华为云计算技术有限公司 资源请求方法、系统、装置、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101291348A (zh) * 2008-06-12 2008-10-22 巴别塔(北京)科技有限公司 一种无线隧道唤醒通知方法
CN101938803A (zh) * 2010-09-08 2011-01-05 宇龙计算机通信科技(深圳)有限公司 通信链路保持方法、通信链路保持系统和移动终端
JP2011055028A (ja) * 2009-08-31 2011-03-17 Sony Computer Entertainment Inc 無線通信端末、その制御方法、プログラム、及び情報記憶媒体

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101291348A (zh) * 2008-06-12 2008-10-22 巴别塔(北京)科技有限公司 一种无线隧道唤醒通知方法
JP2011055028A (ja) * 2009-08-31 2011-03-17 Sony Computer Entertainment Inc 無線通信端末、その制御方法、プログラム、及び情報記憶媒体
CN101938803A (zh) * 2010-09-08 2011-01-05 宇龙计算机通信科技(深圳)有限公司 通信链路保持方法、通信链路保持系统和移动终端

Cited By (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103916442A (zh) * 2013-01-07 2014-07-09 阿里巴巴集团控股有限公司 消息推送实现方法、移动终端及消息推送系统
CN104969654A (zh) * 2013-01-25 2015-10-07 高通股份有限公司 同步对保活消息的生成和传输
CN104969654B (zh) * 2013-01-25 2018-10-26 高通股份有限公司 同步对保活消息的生成和传输
CN104144185A (zh) * 2013-05-09 2014-11-12 腾讯科技(深圳)有限公司 数据通信方法、装置及终端
WO2014180154A1 (en) * 2013-05-09 2014-11-13 Tencent Technology (Shenzhen) Company Limited A method and apparatus for data communication
US10181963B2 (en) 2013-12-30 2019-01-15 Tencent Technology (Shenzhen) Company Limited Data transfer method and system
CN104754003A (zh) * 2013-12-30 2015-07-01 腾讯科技(深圳)有限公司 传输数据的方法及系统
CN104980289A (zh) * 2014-04-14 2015-10-14 阿里巴巴集团控股有限公司 消息推送方法、装置和系统
CN104980289B (zh) * 2014-04-14 2019-03-19 阿里巴巴集团控股有限公司 消息推送方法、装置和系统
CN104010001B (zh) * 2014-06-17 2015-11-11 合一网络技术(北京)有限公司 移动终端中同类联网请求进行连接通信的方法和系统
CN104010001A (zh) * 2014-06-17 2014-08-27 合一网络技术(北京)有限公司 移动终端中同类联网请求进行连接通信的方法和系统
CN104009938B (zh) * 2014-06-17 2016-08-17 合一网络技术(北京)有限公司 基于路由层面的长连接的方法和系统
CN104009938A (zh) * 2014-06-17 2014-08-27 合一网络技术(北京)有限公司 基于路由层面的长连接的方法和系统
CN105306418A (zh) * 2014-06-24 2016-02-03 博雅网络游戏开发(深圳)有限公司 多应用程序共享通信连接的方法和系统
CN104202420A (zh) * 2014-09-18 2014-12-10 广州中国科学院软件应用技术研究所 一种支持物联网中间件集群扩展的方法和装置
CN104202420B (zh) * 2014-09-18 2017-10-13 广州中国科学院软件应用技术研究所 一种支持物联网中间件集群扩展的方法和装置
US10693967B2 (en) 2015-09-02 2020-06-23 Huawei Technologies Co., Ltd. Data connection establishment method, server, and mobile terminal
WO2017036305A1 (zh) * 2015-09-02 2017-03-09 华为技术有限公司 数据连接的建立方法、服务端及移动终端
CN105227398B (zh) * 2015-09-08 2018-09-04 深圳创维-Rgb电子有限公司 多业务共享长连接方法、系统及其装置、终端
CN105227398A (zh) * 2015-09-08 2016-01-06 深圳创维-Rgb电子有限公司 多业务共享长连接方法、系统及其装置、终端
CN105978788A (zh) * 2016-04-27 2016-09-28 努比亚技术有限公司 消息推送装置和方法
CN107800585A (zh) * 2016-09-07 2018-03-13 腾讯科技(深圳)有限公司 网络通信的方法和装置、推送消息的方法和装置
CN107204853A (zh) * 2017-06-30 2017-09-26 上海测吧信息技术有限公司 一种使用手机的无线数字签章方法
CN107204854A (zh) * 2017-06-30 2017-09-26 上海测吧信息技术有限公司 一种基于usb‑token的数字签章方法
CN108173910A (zh) * 2017-12-18 2018-06-15 网宿科技股份有限公司 一种管理应用的方法和系统
CN110120897A (zh) * 2019-04-22 2019-08-13 国家计算机网络与信息安全管理中心 链路探测方法、装置、电子设备及机器可读存储介质
CN113360878A (zh) * 2020-03-06 2021-09-07 深圳法大大网络科技有限公司 一种签章方法、装置、服务器及介质
WO2023035660A1 (zh) * 2021-09-07 2023-03-16 华为云计算技术有限公司 资源请求方法、系统、装置、设备及存储介质
CN114221759A (zh) * 2021-11-29 2022-03-22 成都卫士通信息产业股份有限公司 一种远程监控部署方法、装置、电子设备及存储介质
CN114221759B (zh) * 2021-11-29 2024-04-12 成都卫士通信息产业股份有限公司 一种远程监控部署方法、装置、电子设备及存储介质
CN114640705A (zh) * 2022-04-22 2022-06-17 山东恒远智能科技有限公司 一种大规模物联终端心跳监控方法
CN114640705B (zh) * 2022-04-22 2022-08-09 山东恒远智能科技有限公司 一种大规模物联终端心跳监控方法

Also Published As

Publication number Publication date
CN102291808B (zh) 2013-12-04

Similar Documents

Publication Publication Date Title
CN102291808B (zh) 一种网络通信方法、通信设备以及通信设备的中间件
US10827553B2 (en) Method and apparatus for session reestablishment, access and mobility management function entity, session management function entity and terminal
US8787229B2 (en) Mobile terminal and mobile terminal data relay method
US11277879B2 (en) Controlling method for coexistence of dual modes, Wi-Fi chip, and communication device
EP2918138B1 (en) Method and apparatus for providing web service in wireless communication system
US20140372626A1 (en) Terminal, route generating method, and computer-readable recording medium
WO2023160568A1 (zh) 通信方法、装置、系统及存储介质
US10440125B2 (en) Method for maintaining transmission control protocol connection and computer system using the method
CN102237929B (zh) 一种基于光纤通信网络的设备切换方法、装置及系统
US20100240353A1 (en) Remote control system and facility side control apparatus and control program of facility apparatus and control method of facility apparatus
CN103037483A (zh) 网络服务器以及维持其与应用服务器的连接的方法
CN107105501A (zh) 一种基于网络分片的寻呼方法、装置和系统
CN109800201B (zh) 基于linux的RS485实时收发控制的驱动方法
CN101835200B (zh) 系统接入方法、通信系统、用户终端及网络侧设备
US20160094683A1 (en) Channel connection management method and apparatus
US9491132B2 (en) System and method for providing push service for reducing network loads
KR20120128013A (ko) 망 부하 감소를 위한 푸시 서비스 제공 시스템 및 방법
CN106714294B (zh) 应用于智能电网的多通道tcp/ip头压缩的同步方法
CN110119111B (zh) 通信方法及装置、存储介质、电子装置
JP5997661B2 (ja) 中継器装置及び中継器のスリープ制御方法
JP2011188100A (ja) 通信システム及び通信システム制御方法並びにプログラム
US9210658B2 (en) Communication device, communication system, communication method, and program
CN102340430A (zh) 一种个人网设备连接管理方法及系统
CN112788658A (zh) 一种通信设备的共享数据方法、通信设备及存储介质
JP4069125B2 (ja) 伝送方法、送信装置、および送受信システム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20160325

Address after: 122400 Jianping Chaoyang City County of Liaoning province Yebaishou Street Xiangyang Street cottage No. 21-53

Patentee after: Yu Pengfei

Address before: 100020, 25 floor, building A, PAX building, 20 East Road, workers' Stadium, Chaoyang District, Beijing

Patentee before: Mo Yajing

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20170120

Address after: 100020 Beijing City West Road No. 12 Chaoyang District Building No. 2 (national advertising Industrial Park incubator No. 25260)

Patentee after: Tong Yi (Beijing) Technology Co., Ltd.

Address before: 122400 Jianping Chaoyang City County of Liaoning province Yebaishou Street Xiangyang Street cottage No. 21-53

Patentee before: Yu Pengfei

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20131204

Termination date: 20200603