CN106604269A - 一种移动终端网络通信的方法和系统 - Google Patents
一种移动终端网络通信的方法和系统 Download PDFInfo
- Publication number
- CN106604269A CN106604269A CN201611094411.7A CN201611094411A CN106604269A CN 106604269 A CN106604269 A CN 106604269A CN 201611094411 A CN201611094411 A CN 201611094411A CN 106604269 A CN106604269 A CN 106604269A
- Authority
- CN
- China
- Prior art keywords
- remote server
- communication
- mobile terminal
- mobile
- mobile applications
- 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/02—Protecting privacy or anonymity, e.g. protecting personally identifiable information [PII]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W24/00—Supervisory, monitoring or testing arrangements
- H04W24/04—Arrangements for maintaining operational condition
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/08—Load balancing or load distribution
Abstract
本发明公开了一种移动终端网络通信的方法和系统。该方法包括移动终端通过通信框架检测具有远程通信功能的移动应用程序与远程服务器之间的通信状态,通信框架根据通信状态判断移动应用程序与远程服务器通信超时,然后启动通信熔断机制,后续所述移动应用程序与远程服务器通信时立刻返回请求失败消息给移动应用程序。本方法通过将远程通信功能进行封装,使其成为通用的通信框架组件。所有运行在移动终端上具有网络通信功能的移动应用程序可以便捷的提升可用性,从而给用户带来良好的体验。
Description
【技术领域】
本发明涉及一种通信技术,更确切地说是一种移动终端网络通信的方法和系统。
【背景技术】
随着信息技术和科技的发展,人们已经进入移动互联网快速发展的时代,智能手机和平板电脑等移动终端产品成为新的媒介,在人们的生活中变得越来越重要,人们也从对实体产品的功能需求转向虚拟产品的服务需求,并且在日常生活中,越来越多的人开始依赖于各种移动互联网产品。技术已经不再是产品的核心竞争力,更多的是用户体验的竞争。移动产品用户的数量非常庞大,并且同类型的应用种类也繁多,用户在使用移动产品时,由于场景的复杂化或者移动设备的局限性等,对用户体验不良的应用容忍度极低。在应用过程中出现的细微的问题都能让用户放弃该产品而选择其他产品,这也给移动互联网产品的用户体验设计提出了要求。需要进行远程交互的移动产品,网络通信是必要的条件;然而,由于网络环境的复杂性和不确定性都有可能导致网络的不可用。如果不建立一个友好的规避机制,对用户的体验会造成负面影响。
【发明内容】
针对上述缺陷,本发明提供了一种移动终端网络通信的方法和系统。
一种移动终端网络通信的方法,包括:移动终端通过通信框架检测具有远程通信功能的移动应用程序与远程服务器之间的通信状态;所述通信框架根据所述通信状态判断所述移动应用程序与远程服务器通信超时,然后启动通信熔断机制,后续所述移动应用程序与远程服务器通信时立刻返回请求失败消息给所述移动应用程序;所述通信框架根据每个远程服务器的访问数量和每个远程服务器的资源占用率来决定远程通信请求消息发送到那个远程服务器;所述通信框架根据所述通信状态判断移动终端与某个远程服务器网络断开或该远程服务器暂停服务后,将远程通信请求转发至其它远程服务器。
可选地,所述通信框架在启动通信熔断机制后,定时允许部分所述移动应用程序的远程通信请求通过,然后根据所述远程通信请求返回的结果决定是否停止所述通信熔断机制。
可选地,所述通信框架对重要数据进行本地加密,然后发送给远程服务器进行处理;所述远程服务器收到加密数据后,进行加密数据的解密处理。
可选地,所述远程服务器将所述移动终端发送的不能及时处理的请求消息加入消息队列然后依次执行。
可选地,所述远程服务器定时检测所述远程服务器的线程状态,发现死锁的线程后及时解决线程死锁问题。
另外本发明还提出一种移动终端网络通信的系统,包括:通信框架和远程服务器;所述通信框架包括故障检测模块、熔断模块、负载均衡模块、容错模块;所述故障检测模块,用于检测具有远程通信功能的移动应用程序与远程服务器之间的通信状态;所述熔断模块,用于在所述移动应用程序与远程服务器通信超时后启动通信熔断机制,后续所述移动应用程序与远程服务器通信时立刻返回请求失败消息给所述移动应用程序;所述负载均衡模块,用于根据每个远程服务器的访问数量和每个远程服务器的资源占用率来决定远程通信请求消息发送到那个远程服务器;所述容错模块,用于移动终端与某个远程服务器网络断开或该远程服务器暂停服务后,将远程通信请求转发至其它远程服务器。
可选地,所述熔断模块在启动通信熔断机制后,定时允许部分所述移动应用程序的远程通信请求通过,然后根据所述请求返回的结果决定是否停止所述通信熔断机制。
可选地,所述通信框架包括数据加密模块,用于对重要数据进行本地加密,然后再发送给远端服务器进行处理;所述远端服务器包括数据解密模块,用于对收到的加密数据进行解密然处理。
可选地,所述远程服务器包括队列管理模块,用于将所述移动终端发送的不能及时处理的请求消息加入消息队列然后依次执行。
可选地,所述远程服务器包括线程管理模块,用于定时检测所述远程服务器的线程状态,发现死锁的线程后及时解决线程死锁问题。
本发明的有益效果:本方法将远程通信功能进行了健壮性封装,使其成为通用的通信框架组件。这样,所有运行在移动终端上的具有网络通信的移动应用程序可以便捷的提升可用性,从而给用户带来良好的体验。
【附图说明】
图1为实现本发明各个实施例一可选的移动终端的硬件结构示意图。
图2为如图1所示的移动终端的无线通信系统示意图。
图3是本发明提供的移动终端网络通信的方法实施例一的方法流程图。
图4是本发明提供的移动终端网络通信的方法实施例二的方法流程图。
图5是本发明提供的移动终端网络通信的方法实施例三的方法流程图。
图6是本发明提供的移动终端网络通信的系统实施例四的功能模块图。
图7是本发明提供的移动终端网络通信的系统实施例五的功能模块图。
图8是本发明提供的移动终端网络通信的系统实施例六的功能模块图。
【具体实施方式】
应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
现在将参考附图描述实现本发明各个实施例的移动终端。在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身并没有特定的意义。因此,"模块"与"部件"可以混合地使用。
移动终端可以以各种形式来实施。例如,本发明中描述的终端可以包括诸如移动电话、智能电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、导航装置等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。下面,假设终端是移动终端。然而,本领域技术人员将理解的是,除了特别用于移动目的的元件之外,根据本发明的实施方式的构造也能够应用于固定类型的终端。
图1为实现本发明各个实施例一可选的移动终端的硬件结构示意。
移动终端100可以包括无线通信单元110、A/V(音频/视频)输入单元120、用户输入单元130、输出单元140、存储器150、接口单元160、控制器170和电源单元180等等。图1示出了具有各种组件的移动终端,但是应理解的是,并不要求实施所有示出的组件。可以替代地实施更多或更少的组件。将在下面详细描述移动终端的元件。
无线通信单元110通常包括一个或多个组件,其允许移动终端100与无线通信系统或网络之间的无线电通信。例如,无线通信单元可以包括移动通信模块111、无线互联网模块112、短程通信模块113中的至少一个。
移动通信模块111将无线电信号发送到基站(例如,接入点、节点B等等)、外部终端以及服务器中的至少一个和/或从其接收无线电信号。这样的无线电信号可以包括语音通话信号、视频通话信号、或者根据文本和/或多媒体消息发送和/或接收的各种类型的数据。
无线互联网模块112支持移动终端的无线互联网接入。该模块可以内部或外部地耦接到终端。该模块所涉及的无线互联网接入技术可以包括WLAN(无线LAN)(Wi-Fi)、Wibro(无线宽带)、Wimax(全球微波互联接入)、HSDPA(高速下行链路分组接入)等等。
短程通信模块113是用于支持短程通信的模块。短程通信技术的一些示例包括蓝牙TM、射频识别(RFID)、红外数据协会(IrDA)、超宽带(UWB)、紫蜂TM等等。
A/V输入单元120用于接收音频或视频信号。A/V输入单元120可以包括相机121和麦克风122,相机121对在视频捕获模式或图像捕获模式中由图像捕获装置获得的静态图片或视频的图像数据进行处理。处理后的图像帧可以显示在显示单元141上。经相机121处理后的图像帧可以存储在存储器150(或其它存储介质)中或者经由无线通信单元110进行发送,可以根据移动终端的构造提供两个或更多相机121。麦克风122可以在电话通话模式、记录模式、语音识别模式等等运行模式中经由麦克风接收声音(音频数据),并且能够将这样的声音处理为音频数据。处理后的音频(语音)数据可以在电话通话模式的情况下转换为可经由移动通信模块111发送到移动通信基站的格式输出。麦克风122可以实施各种类型的噪声消除(或抑制)算法以消除(或抑制)在接收和发送音频信号的过程中产生的噪声或者干扰。
用户输入单元130可以根据用户输入的命令生成键输入数据以控制移动终端的各种操作。用户输入单元130允许用户输入各种类型的信息,并且可以包括键盘、锅仔片、触摸板(例如,检测由于被接触而导致的电阻、压力、电容等等的变化的触敏组件)、滚轮、摇杆等等。特别地,当触摸板以层的形式叠加在显示单元141上时,可以形成触摸屏。
接口单元160用作至少一个外部装置与移动终端100连接可以通过的接口。例如,外部装置可以包括有线或无线头戴式耳机端口、外部电源(或电池充电器)端口、有线或无线数据端口、存储卡端口、用于连接具有识别模块的装置的端口、音频输入/输出(I/O)端口、视频I/O端口、耳机端口等等。识别模块可以是存储用于验证用户使用移动终端100的各种信息并且可以包括用户识别模块(UIM)、客户识别模块(SIM)、通用客户识别模块(USIM)等等。另外,具有识别模块的装置(下面称为"识别装置")可以采取智能卡的形式,因此,识别装置可以经由端口或其它连接装置与移动终端100连接。接口单元170可以用于接收来自外部装置的输入(例如,数据信息、电力等等)并且将接收到的输入传输到移动终端100内的一个或多个元件或者可以用于在移动终端和外部装置之间传输数据。
另外,当移动终端100与外部底座连接时,接口单元160可以用作允许通过其将电力从底座提供到移动终端100的路径或者可以用作允许从底座输入的各种命令信号通过其传输到移动终端的路径。从底座输入的各种命令信号或电力可以用作用于识别移动终端是否准确地安装在底座上的信号。输出单元140被构造为以视觉、音频和/或触觉方式提供输出信号(例如,音频信号、视频信号、警报信号、振动信号等等)。输出单元140可以包括显示单元141、音频输出模块142等等。
显示单元141可以显示在移动终端100中处理的信息。例如,当移动终端100处于电话通话模式时,显示单元141可以显示与通话或其它通信(例如,文本消息收发、多媒体文件下载等等)相关的用户界面(UI)或图形用户界面(GUI)。当移动终端100处于视频通话模式或者图像捕获模式时,显示单元141可以显示捕获的图像和/或接收的图像、示出视频或图像以及相关功能的UI或GUI等等。
同时,当显示单元141和触摸板以层的形式彼此叠加以形成触摸屏时,显示单元141可以用作输入装置和输出装置。显示单元141可以包括液晶显示器(LCD)、薄膜晶体管LCD(TFT-LCD)、有机发光二极管(OLED)显示器、柔性显示器、三维(3D)显示器等等中的至少一种。这些显示器中的一些可以被构造为透明状以允许用户从外部观看,这可以称为透明显示器,典型的透明显示器可以例如为TOLED(透明有机发光二极管)显示器等等。根据特定想要的实施方式,移动终端100可以包括两个或更多显示单元(或其它显示装置),例如,移动终端可以包括外部显示单元(未示出)和内部显示单元(未示出)。触摸屏可用于检测触摸输入压力以及触摸输入位置和触摸输入面积。
音频输出模块142可以在移动终端处于呼叫信号接收模式、通话模式、记录模式、语音识别模式、广播接收模式等等模式下时,将无线通信单元110接收的或者在存储器150中存储的音频数据转换音频信号并且输出为声音。而且,音频输出模块142可以提供与移动终端100执行的特定功能相关的音频输出(例如,呼叫信号接收声音、消息接收声音等等)。音频输出模块142可以包括扬声器、蜂鸣器等等。
存储器150可以存储由控制器170执行的处理和控制操作的软件程序等等,或者可以暂时地存储己经输出或将要输出的数据(例如,电话簿、消息、静态图像、视频等等)。而且,存储器150可以存储关于当触摸施加到触摸屏时输出的各种方式的振动和音频信号的数据。
存储器150可以包括至少一种类型的存储介质,所述存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等等。而且,移动终端100可以与通过网络连接执行存储器160的存储功能的网络存储装置协作。
控制器170通常控制移动终端的总体操作。例如,控制器170执行与语音通话、数据通信、视频通话等等相关的控制和处理。另外,控制器170可以包括用于再现(或回放)多媒体数据的多媒体模块171,多媒体模块171可以构造在控制器170内,或者可以构造为与控制器170分离。控制器170可以执行模式识别处理,以将在触摸屏上执行的手写输入或者图片绘制输入识别为字符或图像。
电源单元180在控制器170的控制下接收外部电力或内部电力并且提供操作各元件和组件所需的适当的电力。
这里描述的各种实施方式可以以使用例如计算机软件、硬件或其任何组合的计算机可读介质来实施。对于硬件实施,这里描述的实施方式可以通过使用特定用途集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理装置(DSPD)、可编程逻辑装置(PLD)、现场可编程门阵列(FPGA)、处理器、控制器、微控制器、微处理器、被设计为执行这里描述的功能的电子单元中的至少一种来实施,在一些情况下,这样的实施方式可以在控制器180中实施。对于软件实施,诸如过程或功能的实施方式可以与允许执行至少一种功能或操作的单独的软件模块来实施。软件代码可以由以任何适当的编程语言编写的软件应用程序(或程序)来实施,软件代码可以存储在存储器150中并且由控制器170执行。
至此,己经按照其功能描述了移动终端。下面,为了简要起见,将描述诸如折叠型、直板型、摆动型、滑动型移动终端等等的各种类型的移动终端中的滑动型移动终端作为示例。因此,本发明能够应用于任何类型的移动终端,并且不限于滑动型移动终端。
如图1中所示的移动终端100可以被构造为利用经由帧或分组发送数据的诸如有线和无线通信系统以及基于卫星的通信系统来操作。
现在将参考图2描述其中根据本发明的移动终端能够操作的通信系统。
这样的通信系统可以使用不同的空中接口和/或物理层。例如,由通信系统使用的空中接口包括例如频分多址(FDMA)、时分多址(TDMA)、码分多址(CDMA)和通用移动通信系统(UMTS)(特别地,长期演进(LTE))、全球移动通信系统(GSM)等等。作为非限制性示例,下面的描述涉及CDMA通信系统,但是这样的教导同样适用于其它类型的系统。
参考图2,无线通信系统可以包括多个移动终端100、多个基站(BS)270、基站控制器(BSC)275和移动交换中心(MSC)280。MSC280被构造为与公共电话交换网络(PSTN)290形成接口。MSC280还被构造为与可以经由回程线路耦接到基站270的BSC275形成接口。回程线路可以根据若干己知的接口中的任一种来构造,所述接口包括例如E1/T1、ATM,IP、PPP、帧中继、HDSL、ADSL或xDSL。将理解的是,如图2中所示的系统可以包括多个BSC2750。
每个BS270可以服务一个或多个分区(或区域),由多向天线或指向特定方向的天线覆盖的每个分区放射状地远离BS270。或者,每个分区可以由用于分集接收的两个或更多天线覆盖。每个BS270可以被构造为支持多个频率分配,并且每个频率分配具有特定频谱(例如,1.25MHz,5MHz等等)。
分区与频率分配的交叉可以被称为CDMA信道。BS270也可以被称为基站收发器子系统(BTS)或者其它等效术语。在这样的情况下,术语"基站"可以用于笼统地表示单个BSC275和至少一个BS270。基站也可以被称为"蜂窝站"。或者,特定BS270的各分区可以被称为多个蜂窝站。
如图2中所示,广播发射器(BT)295将广播信号发送给在系统内操作的移动终端100。如图1中所示的广播接收模块111被设置在移动终端100处以接收由BT295发送的广播信号。在图2中,示出了几个全球定位系统(GPS)卫星300。卫星300帮助定位多个移动终端100中的至少一个。
在图2中,描绘了多个卫星300,但是理解的是,可以利用任何数目的卫星获得有用的定位信息。如图1中所示的GPS模块115通常被构造为与卫星300配合以获得想要的定位信息。替代GPS跟踪技术或者在GPS跟踪技术之外,可以使用可以跟踪移动终端的位置的其它技术。另外,至少一个GPS卫星300可以选择性地或者额外地处理卫星DMB传输。
作为无线通信系统的一个典型操作,BS270接收来自各种移动终端100的反向链路信号。移动终端100通常参与通话、消息收发和其它类型的通信。特定基站270接收的每个反向链路信号被在特定BS270内进行处理。获得的数据被转发给相关的BSC275。BSC提供通话资源分配和包括BS270之间的软切换过程的协调的移动管理功能。BSC275还将接收到的数据路由到MSC280,其提供用于与PSTN290形成接口的额外的路由服务。类似地,PSTN290与MSC280形成接口,MSC与BSC275形成接口,并且BSC275相应地控制BS270以将正向链路信号发送到移动终端100。
基于上述移动终端硬件结构以及通信系统,提出本发明方法各个实施例。
实施例一
参考图3,一种移动终端网络通信的方法,包括:
S101、对具有远程通信功能的移动应用程序的通信能力进行封装,把各种通信能力封装到通信框架中。
该通信框架位于移动终端操作系统和移动应用程序之间,该通信框架向下屏蔽操作系统之间的差异,为移动应用程序提供统一的通信操作接口。通信框架把各种移动应用程序需要使用的远程通信操作进行抽象,然后提供公共的接口函数给移动应用程序调用。
通信框架采用SDK方式提供给应用程序,该通信框架支持Android、IOS、Linux及Windows等操作系统。
S102、移动终端通过通信框架检测具有远程通信功能的移动应用程序与远程服务器之间的通信状态。
通信框架检测移动应用程序与远程服务之间各种通信协议的通信状态,如HTTP、TCP、UDP、SMRP等协议的通信状态。移动应用程序通过通信框架使用某个通信协议(如HTTP协议)建立到远程服务器之间的连接后,移动应用程序发送HTTP Request消息给远程服务器后,远程服务器在HTTP协议规定的时间内没有返回对应的应答消息,则判断该移动应用程序和远程服务器之间通信中断。通信框架获取从发送HTTP Request请求消息给远程服务器到收到远程服务器返回的HTTP应答消息的时长来判断移动应用程序与远程服务器之间的通信是否正常。如果该时长在2秒以内,则表明通信正常;如果该时长超过2秒,则表明通信缓慢。
S103、移动通信框架识别处于通信缓慢或中断状态的移动应用程序。
将移动应用程序的远程通信功能进行封装,使其成为通用的通信框架组件。移动应用程序通过通信框架让远程通信服务像的实现与本地服务保持一致。同时在通信框架中增设若干远程通信健壮性保障的功能,提升网络通信的效率和易用性。这样,所有运行在移动终端上的具有网络通信的移动应用程序可以便捷地提升可用性。
通信框架具有以下远程通信健壮性保障的功能:
S104通信框架对移动应用程序的远程通信请求超时时长进行设置。如设置超时时长为1~5秒之间的一个数值,当移动应用程序发送远程通信请求消息给远程服务器后,如果在设定的超时时长内(如3秒内)没有收到远程服务器返回的应答消息,则认为该移动应用程序访问远程服务器超时。
S105通信框架在移动应用程序与远程服务器通信超时后启动通信熔断机制,后续移动应用程序与远程服务器通信时立刻返回请求失败消息给移动应用程序。通过该熔断机制,可以使应用程序在通信中断立刻返回通信失败消息,而不需要等通信超时后才返回通信失败消息,从而提升移动应用程序的易用性。同时,熔点机制可以减少服务器故障的风险,因为在移动应用程序和远程服务器通信中断时,有可能是远程服务器处理繁忙,导致无法及时处理移动应用程序发送的消息。如果此时移动应用程序继续给服务器发送大量消息,则会加重远程服务器的处理负荷,导致远程服务器发生故障。
S106通信框架在启动通信熔断机制后,定时允许部分移动应用程序的远程通信请求发给远程服务器,然后根据远程通信请求返回的结果决定是否停止所述通信熔断机制。当收到远程服务器返回的应答消息后,则表明移动终端与远程服务器的远程通信已恢复,可以停止通信熔断机制;当在通信超时时长内没有收到远程服务器返回的应答消息,则表明移动终端与远程服务器的远程通信未恢复,需要继续启动通信熔断机制。
用户可以在通信框架中指定某些重要的移动应用程序(如即时通信类应用程序)在启动通信熔断机制后,继续和远程服务器进行通信,这样可以快速检测到通信是否恢复,在通信恢复后即可给上层应用程序提供通信功能(即停止通信熔断机制)。
S107通信框架根据每个远程服务器的访问数量和每个远程服务器的资源占用率来决定远程通信请求消息发送到那个远程服务器。
远程服务器在给移动应用程序返回的应答消息中携带自己的访问数量及资源占用率,通信框架收到该应答消息后记录该远程服务器返回的访问数量及资源占用率。在后续发送消息时,判断该移动应用程序支持的远程服务器的访问数据或资源占用率。把该请求消息发送给访问数据最少或资源占用率最低的远程服务器。通过该机制使远程服务器达到负载均衡的效果从而提高远程服务器的可靠性。
通信框架也可以判断移动应用程序和远程服务器之前的通信速度(即移动应用程序发送消息到远程服务器需要的时长),优先把消息发送给通信速度最快的远程服务器。
如果远程服务器返回的访问数量、资源占用率及通信速度的相似,则通信框架采用随机选择方式把消息转发给远程服务器。
S108通信框架在移动终端与某个远程服务器网络断开或该远程服务器暂停服务后,将远程通信请求转发至其它远程服务器。
通信框架中记录移动应用程序的多个远程服务器信息,当通信框架给该移动应用程序中的一个远程服务器发送消息失败后,继续选择另外一个远程服务器进行消息发送,直到给所有的远程服务器都发送失败,才标识移动应用程序和远方服务器通信中断,需要启动通信熔断机制。如果其中一个远程服务器可以进行通信,则后续优先选择该远程服务器进行通信。
为了探测远程服务器是否恢复,通信框架可以定期选择一个通信中断的远程服务器进行通信,如果该远程服务器返回应答消息,则表明该远程服务器已恢复通信,标识该远程服务器通信正常;如果该远程服务器没有返回应答消息,则表明该远程服务器通信中断中。
本实施例通过通信框架,对移动应用程序的远程通信能力进行分装,使移动应用程度调用远程通信服务和本地服务一样。同时本方法将远程通信功能进行了健壮性封装,所有运行在移动终端上的具有网络通信的移动应用程序可以便捷的提升可用性,从而给用户带来良好的体验。
实施例二
参考图4,本实施例提供了另一种移动终端网络通信的方法。
在实施例一的基础上,通信框架增加加密功能。
S109通信框架对重要数据进行本地加密,然后发送给远程服务器进行处理;远程服务器收到加密数据后,进行加密数据的解密处理。通信框架可以手动设置哪些移动应用程序的数据需要进行加密;也可以由通信框架自动判断哪些移动应用程序的数据需要进行加密,如通信框架判断移动应用程序为移动支付类移动应用程序(如微信支付、支付宝等移动应用程序),则需要对该移动应用程序的数据进行加密。
通信框架采用DES、AES等加密算法对数据进行加密,远程服务器采用对应的算法进行解密。具体使用那种算法,可以在请求消息中非加密字段进行标示;也可以通过移动终端和远程服务器进行协商来决定使用那种加密算法。
通信框架与远程服务器之间的加解密所使用的密钥,可以通过移动应用程序登陆到远程服务器时,从远程服务器获取指定的密钥。后续移动应用程序和远程服务器之间的通信数据加解密,就使用该密钥进行加解密处理。
本实施例通过通信框架的加密功能,使重要的移动应用程序(如移动支付类应用程序)具有数据传输加密功能。从而提高了移动应用程序通信的安全性。
实施例三
参考图5,本实施例提供了另一种移动终端网络通信的方法。
在实施例一的基础上,远程服务器增加以下可靠性功能:
S110远程服务器将移动终端发送的不能及时处理的请求消息加入消息队列中然后依次执行。
远程服务器的消息队列可以是新进新出类型的消息队列,在该队列中,优先到达的消息先进行处理;也可以采用优先级队列,即为每个移动应用程序发送的消息分配一个优先级(如根据移动应用程序的用户名称分配优先级),优先级高的移动应用程序发送的消息优先处理。通过该功能可以保证在通信高峰期,服务器不会丢弃请求消息,确保每个请求消息都得到处理。
远程服务器在消息队列占用率达到一定值,如消息队列占用率达到80%,则给移动应用程序返回系统繁忙消息,后续通信框架需要少发消息(如心跳类消息就需要少发一些)给远程服务器或把消息转发给其他远程服务器。
S111远程服务器定时检测远程服务器的线程状态,发现死锁的线程后及时恢复死锁线程。如线程一直等待某个信号量,导致该线程挂死,远程服务器检测到该类线程后,需要重启该线程。通过该功能可以保证服务器所有资源都处于可用状态,从而提高服务器的处理性能。
本实施例提高了移动应用程序通信的可用性,同时提高了远程服务器的处理性能。
实施例四
参考图6,一种移动终端网络通信的系统,包括:P300移动应用程序、P100通信框架和P200远程服务器。P100通信框架对具有远程通信功能的P300移动应用程序的通信能力进行封装,把各种通信能力封装到P100通信框架中。
对P300移动应用程序的远程通信功能进行封装,使其成为通用的P100通信框架。P300移动应用程序通过P100通信框架让远程通信服务像的实现与本地服务保持一致。同时在P100通信框架中增设若干远程通信健壮性保障的功能,提升网络通信的效率和易用性。这样,所有运行在移动终端上的具有网络通信的P300移动应用程序可以便捷地提升可用性。
P100通信框架包括以下模块:
P101故障检测模块,用于检测具有远程通信功能的P300移动应用程序与P200远程服务器之间的通信状态,然后识别处于通信缓慢或中断状态的P300移动应用程序。
P101故障检测模块检测P300移动应用程序与P200远程服务之间各种通信协议的通信状态,如HTTP、TCP、UDP、SMRP等协议的通信状态。P300移动应用程序通过P100通信框架使用某个通信协议(如HTTP协议)建立到P200远程服务器直接的连接后,P300移动应用程序发送HTTP Request消息给P200远程服务器后,P200远程服务器在HTTP协议规定的时间内没有返回对应的响应消息,则判断该P300移动应用程序和P200远程服务器直接通信中断。
P100通信框架获取从发送HTTP Request请求消息给P200远程服务器,到收到P200远程服务器返回的HTTP应答消息的时长来判断P300移动应用程序与P200远程服务器之间的通信是否正常。如果该时长在2秒以内,则表明通信正常;如果该时长超过2秒,则表明通信缓慢。
P102超时模块,用于对P300移动应用程序的远程通信请求超时时长进行设置。如设置超时时长为1秒~5秒之间的一个数值,当P300移动应用程序发送远程通信请求消息给P200远程服务器后,如果在设定的超时时长内(如3秒内)没有收到P200远程服务器返回的应答消息,则认为该P300移动应用程序访问P200远程服务器超时。
P103熔断模块,用于P300移动应用程序与P200远程服务器通信超时后启动通信熔断机制,后续P300移动应用程序与P200远程服务器通信时立刻返回请求失败消息给P300移动应用程序。通过该熔断机制,可以使P300应用程序在通信中断立刻返回通信失败消息,而不需要等通信超时后才返回通信失败消息,从而提升P300移动应用程序的好用性。启动通信熔断机制后,定时允许部分P300移动应用程序的远程通信请求发给P200远程服务器,然后根据远程通信请求返回的结果决定是否停止所述通信熔断机制。当收到P200远程服务器返回的应答消息后,则表明移动终端与P200远程服务器的远程通信已恢复,可以停在通信熔断机制;当在通信超时时长内没有收到P200远程服务器返回的应答消息,则表明移动终端与P200远程服务器的远程通信未恢复,需要继续期待通信熔断机制。
P104负载均衡模块,用于根据每个P200远程服务器的访问数量和每个P200远程服务器的资源占用率来决定远程通信请求消息发送到那个P200远程服务器。
P200远程服务器在给P300移动应用程序返回的应答消息中携带自己的访问数量及资源占用率,P100通信框架收到该应答消息后记录该P200远程服务器返回的访问数量及资源占用率。在后续发送消息时,判断该P300移动应用程序支持的P200远程服务器的访问数据或资源占用率。把该请求消息发送给访问数据最少或资源占用率最低的P200远程服务器。通过该机制,使P200远程服务器达到负载均衡的效果,从而提高P200远程服务器的可靠性。
P100通信框架也可以判断P300移动应用程序和P200远程服务器之前的通信速度(即P300移动应用程序发送消息到P200远程服务器需要的时长),优先把消息发送给通信速度最快的P200远程服务器。如果P200远程服务器返回的访问数量、资源占用率及通信速度的相似,则P100通信框架采用随机选择方式把消息转发给P200远程服务器。
P105容错模块,用于移动终端与某个P200远程服务器网络断开或该远程服务器暂停服务后,将远程通信请求转发至其它P200远程服务器。
P100通信框架中记录P300移动应用程序的多个P200远程服务器信息,当P100通信框架给该P300移动应用程序中的一个P200远程服务器发送消息失败后,继续选择另外一个P200远程服务器进行消息发送,直到给所有的P200远程服务器都发送失败,才标识P300移动应用程序和P200远方服务器通信中断,需要启动通信熔断机制。如果其中一个P200远程服务器可以进行通信,则后续优先选择该P200远程服务器进行通信。
为了探测P200远程服务器是否恢复,P100通信框架可以定期选择一个通信中断的P200远程服务器进行通信,如果该P200远程服务器返回应答消息,则表明该P200远程服务器已恢复通信,标识该P200远程服务器通信正常;如果该P200远程服务器没有返回应答消息,则表明该P200远程服务器通信中断中。
通过该机制,可以提升P300移动应用程序的可用性。
本实施例通过通信框架,对移动应用程序的远程通信能力进行分装,使移动应用程度调用远程通信服务和本地服务一样。同时本系统将远程通信功能进行了健壮性封装,所有运行在移动终端上的具有网络通信的移动应用程序可以便捷的提升可用性,从而给用户带来良好的体验。
实施例五
参考图7,本实施例提供了另一种移动终端网络通信的系统。
在实施例四的基础上,P100通信框架增加P106数据加密模块。P106数据加密模块对重要数据进行本地加密,然后发送给P200远程服务器进行处理;P200远程服务器收到加密数据后,使用P201数据解密模块进行加密数据的解密处理。P100通信框架可以手动设置哪些P300移动应用程序的数据需要进行加密;也可以由P100通信框架自动判断哪些P300移动应用程序的数据需要进行加密,如P100通信框架判断P300移动应用程序为移动支付类移动应用程序,则需要对该P300移动应用程序的数据进行加密。
P100通信框架采用DES、AES等加密算法对数据进行加密,P200远程服务器采用对应的算法进行解密。具体使用那种算法,可以在请求消息中非加密字段进行标示;也可以通过移动终端和P200远程服务器进行协商来决定使用那种加密算法。
P100通信框架与P200远程服务器直接的加解密所使用的密钥,可以通过P300移动应用程序登陆到P200远程服务器时,从P200远程服务器获取指定的密钥。后续P300移动应用程序和P200远程服务器之间的通信数据加解密,就使用该密钥进行加解密处理。
本实施例通过P100通信框架的加密功能,使重要的P300移动应用程序(如移动支付类应用程序)具有数据传输加密功能。从而提高了P300移动应用程序通信的安全性。
实施例六
参考图8,本实施例提供了另一种移动终端网络通信的系统。
在实施例四的基础上,P200远程服务器增加以下可靠性模块:
P202队列管理模块,用于将移动终端发送的不能及时处理的请求消息加入消息队列中然后依次执行。
P200远程服务器的消息队列可以是新进新出类型的消息队列,在该队列中,优先到达的消息先进行处理;也可以采用优先级队列,即为每个P300移动应用程序发送的消息分配一个优先级(如根据P300移动应用程序的用户名称分配优先级),优先级高的P300移动应用程序发送的消息优先处理。通过该功能可以保证在通信高峰期,服务器不会丢弃请求消息,确保每个请求消息都得到处理。
P200远程服务器在消息队列占用率达到一定值,如消息队列占用率达到80%,则给P300移动应用程序返回系统繁忙消息,后续P100通信框架需要少发消息(如心跳类消息就需要少发一些)给P200远程服务器或把消息转发给其他P200远程服务器。
P203线程管理模块,用于定时检测P200远程服务器的线程状态,发现死锁的线程后及时解决线程死锁问题。通过该功能可以保证P200远程服务器所有资源都处于可用状态,从而提高P200远程服务器的处理性能。
本实施例提高了移动应用程序通信的可用性,同时提高了远程服务器的处理性能。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种移动终端网络通信的方法,其特征在于,包括以下步骤:
移动终端通过通信框架检测具有远程通信功能的移动应用程序与远程服务器之间的通信状态;
所述通信框架根据所述通信状态判断所述移动应用程序与远程服务器通信超时,然后启动通信熔断机制,后续所述移动应用程序与远程服务器通信时立刻返回请求失败消息给所述移动应用程序;
所述通信框架根据每个远程服务器的访问数量和每个远程服务器的资源占用率来决定远程通信请求消息发送到那个远程服务器;
所述通信框架根据所述通信状态判断移动终端与某个远程服务器网络断开或该远程服务器暂停服务后,将远程通信请求转发至其它远程服务器。
2.根据权利要求1所述的方法,其特征在于,所述通信框架在启动通信熔断机制后,定时允许部分所述移动应用程序的远程通信请求通过,然后根据所述远程通信请求返回的结果决定是否停止所述通信熔断机制。
3.根据权利要求1所述的方法,其特征在于,所述通信框架对重要数据进行本地加密,然后发送给远程服务器进行处理;所述远程服务器收到加密数据后,进行加密数据的解密处理。
4.根据权利要求1所述的方法,其特征在于,所述远程服务器将所述移动终端发送的不能及时处理的请求消息加入消息队列然后依次执行。
5.根据权利要求1所述的方法,其特征在于,所述远程服务器定时检测所述远程服务器的线程状态,发现死锁的线程后立刻恢复死锁线程。
6.一种移动终端网络通信的系统,其特征在于,包括:通信框架和远程服务器;所述通信框架包括故障检测模块、熔断模块、负载均衡模块、容错模块;所述故障检测模块,用于检测具有远程通信功能的移动应用程序与远程服务器之间的通信状态;
所述熔断模块,用于在所述移动应用程序与远程服务器通信超时后启动通信熔断机制,后续所述移动应用程序与远程服务器通信时立刻返回请求失败消息给所述移动应用程序;
所述负载均衡模块,用于根据每个远程服务器的访问数量和每个远程服务器的资源占用率来决定远程通信请求消息发送到那个远程服务器;
所述容错模块,用于移动终端与某个远程服务器网络断开或该远程服务器暂停服务后,将远程通信请求转发至其它远程服务器。
7.根据权利要求6所述的系统,其特征在于,所述熔断模块在启动通信熔断机制后,定时允许部分所述移动应用程序的远程通信请求通过,然后根据所述请求返回的结果决定是否停止所述通信熔断机制。
8.根据权利要求6所述的系统,其特征在于,所述通信框架包括数据加密模块,用于对重要数据进行本地加密,然后再发送给远端服务器进行处理;所述远端服务器包括数据解密模块,用于对收到的加密数据进行解密然处理。
9.根据权利要求6所述的系统,其特征在于,所述远程服务器包括队列管理模块,用于将所述移动终端发送的不能及时处理的请求消息加入消息队列然后依次执行。
10.根据权利要求6所述的系统,其特征在于,所述远程服务器包括线程管理模块,用于定时检测所述远程服务器的线程状态,发现死锁的线程后立刻恢复死锁线程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611094411.7A CN106604269A (zh) | 2016-11-30 | 2016-11-30 | 一种移动终端网络通信的方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611094411.7A CN106604269A (zh) | 2016-11-30 | 2016-11-30 | 一种移动终端网络通信的方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106604269A true CN106604269A (zh) | 2017-04-26 |
Family
ID=58595438
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611094411.7A Pending CN106604269A (zh) | 2016-11-30 | 2016-11-30 | 一种移动终端网络通信的方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106604269A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109728952A (zh) * | 2018-12-29 | 2019-05-07 | 努比亚技术有限公司 | 一种通信方法、移动终端以及计算机可读存储介质 |
CN112416439A (zh) * | 2019-08-20 | 2021-02-26 | 广州弘度信息科技有限公司 | 服务器的远程重启系统及其控制方法 |
CN113419892A (zh) * | 2021-07-05 | 2021-09-21 | 山东云缦智能科技有限公司 | 一种自动熔断和恢复服务的实现方法 |
CN114787786A (zh) * | 2019-12-13 | 2022-07-22 | 株式会社日立产机系统 | 通信模块、通信系统和通信方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102123179A (zh) * | 2011-03-28 | 2011-07-13 | 中国人民解放军国防科学技术大学 | 应用于分布式应用系统的负载均衡方法和系统 |
CN102694850A (zh) * | 2012-05-16 | 2012-09-26 | 浪潮齐鲁软件产业有限公司 | 一种基于HttpClient技术的系统集成方法 |
CN103731287A (zh) * | 2012-10-16 | 2014-04-16 | 无锡云捷科技有限公司 | 一种故障接管服务器选择方法 |
WO2016110325A1 (en) * | 2015-01-08 | 2016-07-14 | Huawei Technologies Co.,Ltd | Fault tolerant, content download system |
-
2016
- 2016-11-30 CN CN201611094411.7A patent/CN106604269A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102123179A (zh) * | 2011-03-28 | 2011-07-13 | 中国人民解放军国防科学技术大学 | 应用于分布式应用系统的负载均衡方法和系统 |
CN102694850A (zh) * | 2012-05-16 | 2012-09-26 | 浪潮齐鲁软件产业有限公司 | 一种基于HttpClient技术的系统集成方法 |
CN103731287A (zh) * | 2012-10-16 | 2014-04-16 | 无锡云捷科技有限公司 | 一种故障接管服务器选择方法 |
WO2016110325A1 (en) * | 2015-01-08 | 2016-07-14 | Huawei Technologies Co.,Ltd | Fault tolerant, content download system |
Non-Patent Citations (1)
Title |
---|
KDDI: "New WID for Feasibility Study on Control of Applications when Third party Servers encounter difficulties", 《3GPP TSG-SA WG1 MEETING #66;S1-141182》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109728952A (zh) * | 2018-12-29 | 2019-05-07 | 努比亚技术有限公司 | 一种通信方法、移动终端以及计算机可读存储介质 |
CN112416439A (zh) * | 2019-08-20 | 2021-02-26 | 广州弘度信息科技有限公司 | 服务器的远程重启系统及其控制方法 |
CN112416439B (zh) * | 2019-08-20 | 2024-03-05 | 广州弘度信息科技有限公司 | 服务器的远程重启系统及其控制方法 |
CN114787786A (zh) * | 2019-12-13 | 2022-07-22 | 株式会社日立产机系统 | 通信模块、通信系统和通信方法 |
CN113419892A (zh) * | 2021-07-05 | 2021-09-21 | 山东云缦智能科技有限公司 | 一种自动熔断和恢复服务的实现方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105677231B (zh) | 关联应用分屏显示装置、方法及终端 | |
CN105848268B (zh) | 一种降低功耗的方法及终端 | |
CN104731514B (zh) | 触摸操作区域单握触摸操作的识别方法及装置 | |
CN106027795B (zh) | 一种双面屏的切换方法及终端 | |
CN105100090B (zh) | 一种基于内外网分离的通信方法、服务器及系统 | |
CN106604269A (zh) | 一种移动终端网络通信的方法和系统 | |
CN104850343B (zh) | 启动单手操作模式的方法和装置 | |
CN105100673B (zh) | 基于VoLTE的桌面共享方法和装置 | |
CN106413128A (zh) | 一种投影方法及移动终端 | |
CN107104970A (zh) | 一种规则同步处理方法、系统、规则服务器及灰度服务器 | |
CN106792612A (zh) | 一种无卡紧急呼叫处理方法及终端 | |
CN106407088A (zh) | 一种对多核cpu进行检测的方法和装置 | |
CN105578620B (zh) | 网络接入装置及方法 | |
CN107360214A (zh) | 一种消息推送处理方法、消息接收处理方法及装置 | |
CN105050076B (zh) | 一种虚拟卡用户界面管理方法及系统 | |
CN106912085A (zh) | 一种客户端及wi‑fi连接方法 | |
CN107885558A (zh) | 一种投影数据处理装置、方法及投影数据分享设备 | |
CN106888317B (zh) | 一种交互处理方法、装置及终端 | |
CN105827531B (zh) | 一种路由访问方法及终端 | |
CN105549986B (zh) | 系统服务快捷设置装置和方法 | |
CN106506364A (zh) | 一种接入方法、客户端和路由服务器 | |
CN106412878A (zh) | 一种用户识别卡的激活装置和方法 | |
CN105095705B (zh) | 一种信息处理方法及装置 | |
CN106484534A (zh) | 用于展示的移动终端的控制方法及控制装置 | |
CN105992201A (zh) | 一种数据传输终端、方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170426 |