多应用的处理方法、装置及系统的制作方法

文档序号:7779361阅读:116来源:国知局
多应用的处理方法、装置及系统的制作方法
【专利摘要】本发明公开了一种多应用的处理方法和装置,所述方法包括:在接收一运行指令;根据所述指令选择运行其中一个服务模块,并关闭其他服务模块;利用运行的服务模块实现各个应用与服务器之间的通信。本发明的多应用处理方法在应用启动时,只选择其中一个服务模块作为运行模块,并关闭掉其他服务模块,使得各个应用通过一个运行的服务模块与服务器进行通信,从而降低设备电量消耗,降低服务器压力,而且不会改变用户的基本使用习惯。
【专利说明】多应用的处理方法、装置及系统
【技术领域】
[0001]本发明属于计算机领域,特别是涉及一种多应用的处理方法和装置。
【背景技术】
[0002]随着信息系统功能逐渐复杂,移动设备上的业务越来越复杂。现阶段,出现了在单个最终用户的设备中,会安装来自同一供应商的多个应用的情况。且经常性的,这些应用会有一些定时的,多次的,与后台服务与云之间进行的少量数据交换,需要用到终端的Service (服务)组件的功能或其他需要用到Service的功能。而且这些应用的Service组件的功能是一样的。
[0003]一般情况下,每个应用程序都包含独立的Service组件,并在运行态独立运行与后台通信。也会有使用数据共享的情况,比较常见的方案有如下几种:
[0004]使用一个独立的,需要额外安装的Service应用程序与后台通信,其他应用共享它的数据。
[0005]仅将与后台的Service置入到最重要的应用中,并与其他应用共享。
[0006]这些方案都有比较明显的缺点:
[0007]使用多个应用使用独立的通讯服务,一方面会导致移动设备的电量消耗过大,另一方面,对服务器也会产生过高的压力。
[0008]独立的Service会造成部署上的困难,并且客户也不容易理解为什么使用一个应用的功能需要安装两个应用程序。而仅包含在最重要的应用中这个方案,会导致当这个重要程序未使用时,其他应用会缺失功能的问题。

【发明内容】

[0009]为了解决现有的终端中多应用运行时存在浪费资源、效率较低的问题,本发明提供了一种多应用的处理方法和装置。
[0010]本发明的实施例提供一种多应用的处理方法,每个应用对应一个与服务器进行通信的服务模块,包括:
[0011]接收一指令;
[0012]根据所述指令选择运行其中一个服务模块,并关闭其他服务模块;
[0013]利用运行的服务模块实现各个应用与服务器之间的通信。
[0014]本发明的实施例还提供了第二种多应用的处理方法,每个应用对应一个与服务器进行通信的服务模块,包括:
[0015]接收到启动指令时,向服务模块发送一运行指令,使得运行其中一个服务模块,并关闭其他服务模块;
[0016]各个应用通过运行的服务模块与服务器之间进行通信。
[0017]本发明的实施例提供一种多应用的处理装置,包括:
[0018]接收模块,用于接收一指令;[0019]处理模块,用于根据所述指令选择运行其中一个服务模块,并关闭其他服务模块;
[0020]执行模块,用于利用运行的服务模块实现各个应用与服务器之间的通信。
[0021]本发明的实施例提供第二种多应用的处理装置,包括:
[0022]发送模块,用于在接收到启动指令时,向服务模块发送一运行指令,使得运行其中一个服务模块,并关闭其他服务模块;
[0023]运行模块,用于利用运行的服务模块实现各个应用与服务器之间的通信。
[0024]本发明的上述技术方案的有益效果如下:本发明的多应用处理方法在应用启动时,只选择其中一个服务模块作为运行模块,并关闭掉其他服务模块,使得各个应用通过一个运行的服务模块与服务器进行通信,从而降低设备电量消耗,降低服务器压力,而且不会改变用户的基本使用习惯。本发明通过服务模块之间的协议自行选择可同时为所有应用提供数据同步服务,具有如下优点:
[0025]1.降低了设备在CPU、网络等方面上的开销,降低了设备电量消耗;
[0026]2.避免了单一设备多个线程访问同一服务的的情况,降低了服务器压力;
[0027]3.且所有动作都自动进行,不会改变用户的基本使用习惯。
【专利附图】

【附图说明】
[0028]图1为本发明第一种实施例的多应用的处理方法的流程图;
[0029]图2为本发明第二种实施例的多应用的处理方法的流程图;
[0030]图3为本发明第一种实施例的多应用的处理装置的结构框图;
[0031]图4为本发明的处理装置中的处理模块的结构框图;
[0032]图5为本发明第二种实施例的多应用的处理装置的结构框图;
[0033]图6为本发明一种实施例的多应用的示意图;
[0034]图7为本发明一种实施例的服务模块的状态迁移的示意图;
[0035]图8为本发明一种实施例的服务模块在启动态收到展示消息的流程图;
[0036]图9为本发明一种实施例的服务模块在工作态收到展示消息的流程图;
[0037]图10为本发明一种实施例的当前服务模块与高等级服务模块通信的时序图;
[0038]图11为本发明一种实施例的当前服务模块与低等级服务模块通信的时序图。
【具体实施方式】
[0039]为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
[0040]需要说明的是,本发明的实施例优选适用于移动设备,例如,IOS操作系统(10S是由苹果公司开发的手持设备操作系统)的移动设备、安卓操作系统(Android系统是一种基于Linux的自由及开放源代码的操作系统)的移动设备,Windows Phone操作系统(WindowsPhone是由微软开发的手持设备操作系统)的移动设备,当然也适用于个人计算机以及其他智能移动设备,本发明对此不作限定。
[0041]如图1所示,为本发明第一种实施例的多应用的处理方法的流程图,该方法基于多个应用和与应用一一对应的服务模块,服务模块用于与服务器之间进行通信,该方法包括如下步骤:
[0042]步骤SlOl:接收一指令;
[0043]步骤S102:根据所述指令选择运行其中一个服务模块,并关闭其他服务模块;
[0044]步骤S103:利用运行的服务模块实现各个应用与服务器之间的通信。
[0045]本发明的多应用处理方法在应用启动时,只选择其中一个服务模块作为运行模块,并关闭掉其他服务模块,使得各个应用通过一个运行的服务模块与服务器进行通信,从而降低设备电量消耗,降低服务器压力,而且不会改变用户的基本使用习惯。
[0046]本实施例的多应用可以是终端上各种应用,例如QQ、游戏、天气、飞信等,服务模块用于实现应用与服务器之间的通信,需要满足选择进行运行的服务模块能够实现各个应用与服务器之间的数据交换。优选地,各个服务模块能够实现每一个应用与服务器之间的数据交换,此时,就可以选择任何一个服务模块作为共享的服务模块。例如,多应用为同一供应商提供的应用,各个应用的服务模块一般具有与服务器之间可替换的数据交换功能。
[0047]步骤SlOl中,接收的指令可以是一个消息或者发送一个报文,该指令可以是在应用启动时发送,也可以是在应用所在的终端启动时进行发送。
[0048]步骤S102中,在接收到一指令时,确定关闭和运行的服务模块,具体是根据服务模块的等级确定需要运行的服务模块和关闭的服务模块。由于各个服务模块的等级不同,与服务器之间的通信速度不同,为此,选择其中一个服务模块作为共享服务模块,既满足应用的运行,又可以大大降低服务器压力。
[0049]所述根据服务模块的等级确定需要运行的服务模块和关闭的服务模块的步骤,进一步包括:
[0050]当前服务模块向其他服务模块广播当前服务模块的等级号,并接收由其他服务模块广播的等级号;
[0051]如果其他服务I旲块中有等级闻于当如服务I旲块,则关闭当如服务I旲块;
[0052]如果其他服务模块的等级低于当前服务模块,则关闭其他服务模块。
[0053]如图2所示,为本发明第二种实施例的多应用的处理方法的流程图,该方法包括:
[0054]步骤S201:接收到启动指令时,向服务模块发送一运行指令,使得运行其中一个服务模块,并关闭其他服务模块;
[0055]步骤S202:各个应用通过运行的服务模块与服务器之间进行通信。
[0056]应用在接收到启动指令时,向服务模块发送运行指令,使得服务模块确定其中一个作为运行服务模块,而关闭其他的服务模块。
[0057]如图3所示,为本发明第一种实施例的多应用的处理装置的结构框图,该装置包括:
[0058]接收模块101,用于接收一运行指令;
[0059]处理模块102,用于根据所述运行指令选择运行其中一个服务模块,并关闭其他服务丰吴块;
[0060]执行模块103,用于利用运行的服务模块实现各个应用与服务器之间的通信。
[0061]如图4所示,为本发明的处理装置中的处理模块的结构框图,该处理模块包括:
[0062]广播模块1021,用于向其他服务模块广播当前服务模块的等级号,并接收由其他服务模块广播的等级号;[0063]判断模块1022,用于在其他服务模块中有等级高于当前服务模块时,则关闭前服务模块,以及用于在其他服务模块的等级低于当前服务模块时,则关闭其他服务模块。
[0064]本实施例的处理模块是根据服务模块的等级确定需要运行的服务模块和关闭的服务模块,通过在当前服务模块和其他服务模块之间进行等级号的广播,并判断相互之间的等级,从而确定运行的服务模块和关闭的服务模块。
[0065]如图5所示,为本发明第二种实施例的多应用的处理装置的结构框图,该装置包括:
[0066]发送模块201,用于在接收到启动指令时,向服务模块发送一运行指令,使得运行其中一个服务模块,并关闭其他服务模块;
[0067]运行模块202,用于利用运行的服务模块实现各个应用与服务器之间的通信。
[0068]本发明还提供了一种多应用的处理系统,包括:
[0069]应用;
[0070]服务器;
[0071]服务模块,与应用 对应,用于在应用启动时,运行其中一个服务模块,并关闭其他服务模块;
[0072]所述应用通过运行的服务模块实现与服务器之间的通信。
[0073]本实施例的处理系统可以是IOS操作系统、安卓操作系统,Windows Phone操作系统,在应用启动时,只选择其中一个服务模块作为运行模块,并关闭掉其他服务模块,使得各个应用通过一个运行的服务模块与服务器进行通信,从而降低设备电量消耗,降低服务器压力,而且不会改变用户的基本使用习惯。
[0074]以下结合具体实施例对本发明的技术方案进行详细说明:
[0075]本发明的多应用处理方法适用于多个应用程序,每个应用对应一与服务器进行通信的服务模块。本实施例的各个服务模块具有与服务器之间进行数据交换的功能相同,即满足数据交换协议一致,使得各个服务模块有可替换性。例如是同一开发商提供的应用,还可以类推到不属于同一供应商的应用。但需要这些应用在后台服务与服务器的数据交换功能具有可替换性。
[0076]如图6所示,为本发明一种实施例的多应用的示意图,本实施例包括三个应用,分别是应用A、应用B、应用C,三个应用分别对应一 Service (服务)模块,且Service模块与服务器之间进行数据交换的功能相同。本实施例的三个服务模块与服务器之间进行数据交换的功能具有替换性,进行数据交换的功能相互兼容。本实施例的应用A、应用B、应用C属于同一服务商提供的应用,对应的服务模块A、服务模块B、服务模块C具有相同的功能,其中,服务模块A和服务模块B的版本号为Servicel.0,服务模块C的版本号为Servicel.1,三者的版本号不同,但是可以相互兼容。
[0077]对Service模块的说明:
[0078]本发明中的Service模块实现相互之间的通信以及与服务器之间的通信,选择其中一个服务模块作为共享的运行服务模块,关闭掉其他的服务模块。
[0079]如图7所示,为本发明一种实施例的服务模块的状态迁移的示意图,Service模块有如下三种运行状态,并互相切换:
[0080]启动态:当监听到设备启动完成的消息之后,或应用程序运行时,会启动Service模块。从这个Service模块开始启动到最后开始正式工作的这段时间(本实施例以预设的15秒作为判定依据,当然也可以采用其他的预设时间),处于启动态。
[0081]消亡态:当一个Service模块从开始委托其他应用帮助完成自己的功能,到关闭自身,这段时间,处于消亡态。
[0082]工作态:当一个Service模块开始工作,到开始关闭自己,处于工作态。
[0083]各个服务模块会在这几种状态之间切换,切换的状态有:
[0084]1.启动态切换到消亡态;
[0085]2.启动态切换到工作态;
[0086]3.工作态切换到消亡态;
[0087]动态的功能流程:在启动态,所有Service模块之间将互相通讯,并选择出最适合为所有应用服务的那一个服务模块,实现各个应用与服务器之间的数据交换,并关闭其他的Service模块。
[0088]当一个应用对应的Service模块在启动态时,会使用广播的方式与其他正在运行的具有相同数据交换功能的Service模块进行通讯。并依据规则竞争,最终选择出唯一的一个最适合服务所有应用的服务留存运行,并为所有应用服务。而其他应用的Service模块将会切换到消亡态,最后将自己关闭。
[0089]这个通讯过程中将会使用如下几种消息。
[0090]展不消息:ShowIntent
[0091]服务模块启动时会广播此消息,告知本服务所在应用的APPID(或其他可区分应用的字符串),服务模块的版本号。
[0092]委托消息:EntrustIntent
[0093]服务模块认为自己可以关闭时,将任务交代给其他服务模块时广播此消息。
[0094]确认消息:ConfirmIntent
[0095]服务模块收到来自其他服务模块的委托,回复的确认消息。
[0096]关闭消息:CloseIntent
[0097]服务模块收到其他服务模块的展示,认为自身可以完成它的功能时,通知对方关闭的消息。
[0098]如图8所示,为本发明一种实施例的服务模块在启动态收到展示消息的流程图,具体如下:
[0099]进入启动态:向系统注册通讯消息接受类,发送展示消息。
[0100]收到展示消息:对比自身与发送展示消息的服务模块的版本号与APPID。
[0101]对方版本号较高:当前服务模块转入消亡态;
[0102]对方版本号较低:回复关闭消息,使得发送展示消息的服务模块关闭;
[0103]双方版本号相同:比较应用的APPID,并依照大小转入消亡态或回复关闭消息。
[0104]启动态下在预设的时间(例如15秒之内)未转入消亡态,便自动进入工作态。
[0105]收到委托消息:记录委托内容备用,同时发送确认消息;
[0106]收到确认消息:将自己关闭。
[0107]收到关闭消息:转入消亡态。
[0108]如图9所示,为本发明一种实施例的服务模块在工作态收到展示消息的流程图,当前服务模块收到展示消息:对比自身与发送展示消息的服务的版本号与APPID。
[0109]对方版本号较高:转入消亡态;
[0110]对方版本号较低:回复关闭消息;
[0111]双方版本号相同:比较APPID,并依照大小转入消亡态或回复关闭消息。
[0112]收到委托消息:记录委托内容并开始为其服务,同时发送确认消息;
[0113]收到确认消息:忽略;
[0114]收到关闭消息:停止工作,并转入消亡态。
[0115]进入消亡态:广播委托信息并等待回应。发送委托消息时需要发送所有其他应用委托过来备用的消息。Service转入消亡态时,所有未处理的消息都将被忽略。
[0116]收到展示消息:忽略;
[0117]收到委托消息:忽略;
[0118]收到确认消息:将自己关闭;
[0119]收到关闭消息:忽略;
[0120]长时间15秒未收到确认消息时,将会转回启动态并重新发送展示消息。
[0121]如图10所示,为本发明一种实施例的当前服务模块与高等级服务模块通信的时序图,ServiceA表示当前服务模块,具有较低等级,ServiceB表示另一服务模块,具有较高等级,两者进行通信的过程如下:
[0122]1.ServiceA在启动之后以广播的形式发送展示消息。
[0123]2.ServiceB处理之后发送关闭消息给ServiceA。
[0124]3.ServiceA收到关闭消息之后,发送委托消息给ServiceB,并在收到确认消息之后将自己关闭。
[0125]如图11所示,为本发明一种实施例的当前服务模块与低等级服务模块通信的时序图,ServiceC表示当前服务模块,具有较高等级,ServiceD表示另一服务模块,具有较低等级,两者进行通信的过程如下:
[0126]1.ServiceC在启动之后广播展示消息。
[0127]2.ServiceD在收到广播之后将自己转换到消亡态,并向ServiceC发送委托消息。
[0128]3.ServiceC处理委托消息,并回复确认。
[0129]4.ServiceD将自己收到确认之后将自己关闭。
[0130]在实际运行过程中,在工作态的服务会为人为的原因被关闭(如被强行关闭,被卸载等XService可以在被强行关闭时送广播,唤起所有其他同族应用的服务,并重新按照竞争规则产生一个处于工作态的服务。由于这个动作不一定符合最终用户的期望,所以这个可以根据具体的安全策略进行调整。
[0131]应用上述技术方案,通过应用启动时,只选择其中一个服务模块作为运行模块,并关闭掉其他服务模块,使得各个应用通过一个运行的服务模块与服务器进行通信,从而降低设备电量消耗,降低服务器压力,而且不会改变用户的基本使用习惯。
[0132]此说明书中所描述的许多功能部件都被称为模块,以便更加特别地强调其实现方式的独立性。
[0133]本发明实施例中,模块可以用软件实现,以便由各种类型的处理器执行。举例来说,一个标识的可执行代码模块可以包括计算机指令的一个或多个物理或者逻辑块,举例来说,其可以被构建为对象、过程或函数。尽管如此,所标识模块的可执行代码无需物理地位于一起,而是可以包括存储在不同物理上的不同的指令,当这些指令逻辑上结合在一起时,其构成模块并且实现该模块的规定目的。
[0134]实际上,可执行代码模块可以是单条指令或者是许多条指令,并且甚至可以分布在多个不同的代码段上,分布在不同程序当中,以及跨越多个存储器设备分布。同样地,操作数据可以在模块内被识别,并且可以依照任何适当的形式实现并且被组织在任何适当类型的数据结构内。所述操作数据可以作为单个数据集被收集,或者可以分布在不同位置上(包括在不同存储设备上),并且至少部分地可以仅作为电子信号存在于系统或网络上。
[0135]在模块可以利用软件实现时,考虑到现有硬件工艺的水平,所以可以以软件实现的模块,在不考虑成本的情况下,本领域技术人员都可以搭建对应的硬件电路来实现对应的功能,所述硬件电路包括常规的超大规模集成(VLSI)电路或者门阵列以及诸如逻辑芯片、晶体管之类的现有半导体或者是其它分立的元件。模块还可以用可编程硬件设备,诸如现场可编程门阵列、可编程阵列逻辑、可编程逻辑设备等实现。
[0136]在本发明各方法实施例中,所述各步骤的序号并不能用于限定各步骤的先后顺序,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,对各步骤的先后变化也在本发明的保护范围之内。
[0137]以上所述是本发明的优选实施方式,应当指出,对于本【技术领域】的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
【权利要求】
1.一种多应用的处理方法,每个应用对应一个与服务器进行通信的服务模块,其特征在于,包括: 接收一指令; 根据所述指令选择运行其中一个服务模块,并关闭其他服务模块; 利用运行的服务模块实现各个应用与服务器之间的通信。
2.根据权利要求1所述的多应用的处理方法,其特征在于,选择运行的服务模块能够实现各个应用与服务器之间进行数据交换。
3.根据权利要求2所述的多应用的处理方法,其特征在于,所述根据所述指令选择运行其中一个服务模块,并关闭其他服务模块的步骤,进一步包括:根据服务模块的等级确定需要运行的服务模块和关闭的服务模块。
4.根据权利要求3所述的多应用的处理方法,其特征在于,所述根据服务模块的等级确定需要运行的服务模块和关闭的服务模块的步骤,进一步包括: 当前服务模块向其他服务模块广播当前服务模块的等级号,并接收由其他服务模块广播的等级号; 如果其他服务模块中有等级高于当前服务模块的等级时,则关闭当前服务模块; 如果其他服务模块的等级低于当前服务模块的等级时,则关闭其他服务模块。
5.一种多应用的处理方法,每个应用对应一个与服务器进行通信的服务模块,其特征在于,包括: 接收到启动指令时,向服务模块发送一运行指令,使得运行其中一个服务模块,并关闭其他服务模块; 各个应用通过运行的服务模块与服务器之间进行通信。
6.根据权利要求5所述的多应用的处理方法,其特征在于,所述接收到启动指令时,向服务模块发送一运行指令,使得运行其中一个服务模块,并关闭其他服务模块的步骤,进一步包括:根据服务模块的等级确定需要运行的服务模块和关闭的服务模块。
7.一种多应用的处理装置,每个应用对应一个与服务器进行通信的服务模块,其特征在于,包括: 接收模块,用于接收一指令; 处理模块,用于根据所述指令选择运行其中一个服务模块,并关闭其他服务模块; 执行模块,用于利用运行的服务模块实现各个应用与服务器之间的通信。
8.根据权利要求7所述的多应用的处理装置,其特征在于,所述处理模块进一步包括:用于根据服务模块的等级确定需要运行的服务模块和关闭的服务模块。
9.根据权利要求8所述的多应用的处理装置,其特征在于,所述处理模块进一步包括: 广播模块,用于向其他服务模块广播当前服务模块的等级号,并接收由其他服务模块广播的等级号; 判断模块,用于在其他服务模块中有等级高于当前服务模块,则关闭前服务模块,以及用于在其他服务模块的等级低于当前服务模块,则关闭其他服务模块。
10. 一种多应用的处理装置,其特征在于,包括: 发送模块,用于在接收到启动指令时,向服务模块发送一运行指令,使得运行其中一个服务模块,并关闭其他服务模块;运行模块,用于利用 运行的服务模块实现各个应用与服务器之间的通信。
【文档编号】H04L29/08GK103634404SQ201310654661
【公开日】2014年3月12日 申请日期:2013年12月5日 优先权日:2013年12月5日
【发明者】徐波 申请人:用友软件股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1