CN116709557B - 业务处理方法、设备及存储介质 - Google Patents
业务处理方法、设备及存储介质 Download PDFInfo
- Publication number
- CN116709557B CN116709557B CN202211444057.1A CN202211444057A CN116709557B CN 116709557 B CN116709557 B CN 116709557B CN 202211444057 A CN202211444057 A CN 202211444057A CN 116709557 B CN116709557 B CN 116709557B
- Authority
- CN
- China
- Prior art keywords
- service
- service flow
- priority
- network
- flow
- 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.)
- Active
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 38
- 238000003860 storage Methods 0.000 title claims abstract description 13
- 238000000034 method Methods 0.000 claims description 120
- 238000005457 optimization Methods 0.000 claims description 115
- 230000006870 function Effects 0.000 claims description 79
- 230000008569 process Effects 0.000 claims description 78
- 230000006399 behavior Effects 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 7
- 238000012545 processing Methods 0.000 abstract description 66
- 238000004891 communication Methods 0.000 abstract description 27
- 230000003068 static effect Effects 0.000 abstract description 7
- 238000013468 resource allocation Methods 0.000 abstract description 5
- 230000001413 cellular effect Effects 0.000 description 45
- 101150053844 APP1 gene Proteins 0.000 description 28
- 101100189105 Homo sapiens PABPC4 gene Proteins 0.000 description 28
- 102100039424 Polyadenylate-binding protein 4 Human genes 0.000 description 28
- 101100055496 Arabidopsis thaliana APP2 gene Proteins 0.000 description 22
- 101100016250 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) GYL1 gene Proteins 0.000 description 22
- 238000007726 management method Methods 0.000 description 22
- 230000008859 change Effects 0.000 description 19
- 230000000694 effects Effects 0.000 description 18
- 238000009826 distribution Methods 0.000 description 12
- 238000010295 mobile communication Methods 0.000 description 11
- 102100038359 Xaa-Pro aminopeptidase 3 Human genes 0.000 description 10
- 101710081949 Xaa-Pro aminopeptidase 3 Proteins 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 230000004044 response Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 5
- 230000003993 interaction Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 4
- 229920001621 AMOLED Polymers 0.000 description 3
- 101100264195 Caenorhabditis elegans app-1 gene Proteins 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000008447 perception Effects 0.000 description 2
- 239000002096 quantum dot Substances 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000005111 flow chemistry technique Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Landscapes
- Mobile Radio Communication Systems (AREA)
Abstract
本申请提供了一种业务处理方法、设备及存储介质。相较于现有所有APP的业务流对应的网络资源静态分配,固定不变,并且所有APP的业务流按照时间顺序依次收发的处理方式,本申请实施例提供的业务处理方法,使终端设备在多个业务,例如多个APP对于的业务和/或同一个APP中不同业务场景对应的业务同时进行的场景下,能够根据当前的网络资源、业务场景,以及业务场景对应的功能需求等信息,动态的确定每一个业务的优先级,并为每一个业务合理分配网络资源,从而能够在保证通信需求的同时,更好的优化终端设备整体的资源配置和业务的处理优先级。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种业务处理方法、设备及存储介质。
背景技术
互联网技术的发展和普及,给人们的日常生活、工作娱乐带来了便利。例如用户可以通过接入无线局域网,如WIFI网络,或者蜂窝网络(移动网络)的终端设备进行音视频会议、直播、游戏等业务。
目前,针对不同业务通常采用静态的方式进行网络资源的分配,即每一个业务对应的网络资源是预先划分,且固定不变的。但是,受网络资源、终端设备自身性能的影响,当同一时刻下,终端设备执行多个业务时,常常会因为网络带宽资源不足,导致某些业务受到影响,如音视频会议出现卡顿现象,影响用户体验。
发明内容
为了解决上述技术问题,本申请提供一种业务处理方法、设备及存储介质,旨在使终端设备在多个业务同时进行的场景下,能够根据当前的网络资源、业务场景等信息,动态的为每一个业务合理分配网络资源。
第一方面,本申请提供一种业务处理方法。该方法包括:当存在需要处理的第一业务流和第二业务流时,确定第一业务流和第二业务流的优先级;根据第一业务流对应的第一功能需求和当前的网络资源状态,为第一业务流分配与第一功能需求匹配的第一网络资源;根据第二业务流对应的第二功能需求和网络资源状态,为第二业务流分配与第二功能需求匹配的第二网络资源;在第一业务流的优先级高于第二业务流的优先级时,通过第一网络资源对第一业务流进行调度,并在通过第一网络资源对第一业务流进行调度后,通过第二网络资源对第二业务流进行调度;在第二业务流的优先级高于第一业务流的优先级时,通过第二网络资源对第二业务流进行调度,并在通过第二网络资源对第二业务流进行调度后,通过第一网络资源对第一业务流进行调度。
相较于现有所有APP的业务流对应的网络资源静态分配,固定不变,并且所有APP的业务流按照时间顺序依次收发的处理方式,本申请实施例提供的业务处理方法,使终端设备在多个业务,例如多个APP对于的业务和/或同一个APP中不同业务场景对应的业务同时进行的场景下,能够根据当前的网络资源、业务场景,以及业务场景对应的功能需求等信息,动态的确定每一个业务的优先级,并为每一个业务合理分配网络资源,从而能够在保证通信需求的同时,更好的优化终端设备整体的资源配置和业务的处理优先级。
根据第一方面,第一业务流和第二业务流来自不同的应用程序,应用程序包括第一应用程序和第二应用程序;确定第一业务流和第二业务流的优先级,包括:根据第一应用程序的运行位置,确定第一应用程序的第一优先级,第一应用程序的运行位置指示第一应用程序当前处于前台运行,或者处于后台运行;根据第二应用程序的运行位置,确定第二应用程序的第二优先级,第二应用程序的运行位置指示第一应用程序当前处于前台运行,或者处于后台运行;在第一业务流来自第一应用程序,第二业务流来自第二应用程序时,确定第一业务流的优先级为第一优先级,第二业务流的优先级为第二优先级;在第一业务流来自第二应用程序,第二业务流来自第一应用程序时,确定第一业务流的优先级为第二优先级,第二业务流的优先级为第一优先级。
由此,实现了应用级并发分流,即针对不同应用程序提供的业务流,能够根据实际情况确定不同应用程序的优先级,根据业务流的对应的业务场景的功能需求确定当前适合需要处理的业务流的网络资源,进而实现网络资源的动态配置,使得应用间的并发分流更加合理。
根据第一方面,或者以上第一方面的任意一种实现方式,在第一应用程序位于前台运行,第二应用程序位于后台运行时,第一优先级高于第二优先级;在第一应用程序位于后台运行,第二应用程序位于前台运行时,第二优先级高于第一优先级。
根据第一方面,或者以上第一方面的任意一种实现方式,第一业务流和第二业务流来自同一个应用程序;确定第一业务流和第二业务流的优先级,包括:确定第一业务流对应的第一业务场景和第二业务流对应的第二业务场景;根据第一应用程序的运行位置和第一业务场景,确定第一应用程序的第一优先级,第一应用程序的运行位置指示第一应用程序当前处于前台运行,或者处于后台运行;根据第二应用程序的运行位置和第二业务场景,确定第二应用程序的第二优先级,第二应用程序的运行位置指示第二应用程序当前处于前台运行,或者处于后台运行;在第一业务流来自第一业务场景,第二业务流来自第二业务场景时,确定第一业务流的优先级为第一优先级,第二业务流的优先级为第二优先级;在第一业务流来自第二业务场景,第二业务流来自第一业务场景时,确定第一业务流的优先级为第二优先级,第二业务流的优先级为第一优先级。
由此,实现了同一应用中不同业务流的并发分流,即针对同一应用程序提供的不同业务流,能够根据实际情况确定不同业务场景下产生的业务流的优先级,使得优先级的确定粒度更加精准,根据业务流的对应的业务场景的功能需求确定当前适合需要处理的业务流的网络资源,进而实现网络资源的动态配置,使得应用间的并发分流更加合理。
根据第一方面,或者以上第一方面的任意一种实现方式,确定第一业务流对应的第一业务场景和第二业务流对应的第二业务场景,包括:根据提供第一业务流时调用的网络优化接口,确定第一业务流对应的第一业务场景;根据提供第二业务流时调用的网络优化接口,确定第二业务流对应的第二业务场景。
根据第一方面,或者以上第一方面的任意一种实现方式,方法还包括:在第一应用程序位于前台运行,第二应用程序位于后台运行,第一业务场景的优先级高于第二业务场景时,第一优先级高于第二优先级;在第一应用程序位于前台运行,第二应用程序位于前台运行,第一业务场景的优先级高于第二业务场景时,第一优先级高于第二优先级;在第一应用程序位于后台运行,第二应用程序位于后台运行,第一业务场景的优先级高于第二业务场景时,第一优先级高于第二优先级;在第一应用程序位于后台运行,第二应用程序位于前台运行,第一业务场景的优先级高于第二业务场景时,第一优先级高于第二优先级;否则,第二优先级高于第一优先级。
根据第一方面,或者以上第一方面的任意一种实现方式,在确定第一业务流和第二业务流的优先级之前,方法还包括:响应于用户的操作行为,开启网络优化功能。
根据第一方面,或者以上第一方面的任意一种实现方式,在开启网络优化功能之后,方法还包括:在终端设备的显示界面中显示网络优化模式选择入口,网络优化模式选择入口包括第一网络优化选择入口、第二网络优化选择入口、第三网络优化选择入口;在第一网络优化选择入口被选中时,在第一业务流和第二业务流来自不同的应用程序时,执行确定第一业务流和第二业务流的优先级的步骤;在第二网络优化选择入口被选中时,在第一业务流和第二业务流来自同一个应用程序时,执行确定第一业务流和第二业务流的优先级的步骤;在第一网络优化选择入口和第二网络优化选择入口均被选中,或者第三网络优化选择入被选中时,当存在需要处理的第一业务流和第二业务流时,执行确定第一业务流和第二业务流的优先级的步骤。
示例性的,网络优化模式选择入口例如下文所说的控件10b-3,第一网络优化选择入例如下文所说的应用级并发分流模式对应的控件10b-31,第二网络优化选择入例如下文所说的同一应用不同业务流并发分流模式对应的控件10b-32,第三网络优化选择入例如下文所说的自动模式对应的控件10b-33。
根据第一方面,或者以上第一方面的任意一种实现方式,在开启网络优化功能之后,方法还包括:响应于用户的操作行为,开启多网协同功能。
关于开启堵我协同功能的方式,可以参见下文针对图7至图9的描述部分,此处不再赘述。
根据第一方面,或者以上第一方面的任意一种实现方式,在开启多网协同功能之后,方法还包括:确定当前的网络资源包括第一网络和第二网络,第一网络的网络质量优于第二网络的网络质量;在第一业务流的优先级高于第二业务流的优先级时,从第一网络中为第一业务流分配的与第一功能需求匹配的第一网络资源,从第二网络中为第二业务流分配的与第二功能需求匹配的第二网络资源;并发执行通过第一网络资源对第一业务流进行调度,通过第二网络资源对第二业务流进行调度的步骤。
示例性的,第一网络和第二网络可以是WIFI网络,也可以蜂窝网络。
示例性的,对于WIFI网络,例如可以是2.4GHz的WIFI网络,也可以时5GHz的WIFI网络。
示例性的,对于蜂窝网络,例如可以是3G、4G、5G,或者其他类型的。
根据第一方面,或者以上第一方面的任意一种实现方式,方法还包括:在第二业务流的优先级高于第一业务流的优先级时,从第二网络中为第一业务流分配的与第一功能需求匹配的第一网络资源,从第一网络中为第二业务流分配的与第二功能需求匹配的第二网络资源;并发执行通过第一网络资源对第一业务流进行调度,通过第二网络资源对第二业务流进行调度的步骤。
第二方面,本申请提供了一种终端设备。该终端设备包括:存储器和处理器,存储器和处理器耦合;存储器存储有程序指令,程序指令由处理器执行时,使得所述终端设备执行第一方面或第一方面的任意可能的实现方式中的方法的指令。
第二方面以及第二方面的任意一种实现方式分别与第一方面以及第一方面的任意一种实现方式相对应。第二方面以及第二方面的任意一种实现方式所对应的技术效果可参见上述第一方面以及第一方面的任意一种实现方式所对应的技术效果,此处不再赘述。
第三方面,本申请提供了一种计算机可读介质,用于存储计算机程序,该计算机程序包括用于执行第一方面或第一方面的任意可能的实现方式中的方法的指令。
第三方面以及第三方面的任意一种实现方式分别与第一方面以及第一方面的任意一种实现方式相对应。第三方面以及第三方面的任意一种实现方式所对应的技术效果可参见上述第一方面以及第一方面的任意一种实现方式所对应的技术效果,此处不再赘述。
第四方面,本申请提供了一种计算机程序,该计算机程序包括用于执行第一方面或第一方面的任意可能的实现方式中的方法的指令。
第四方面以及第四方面的任意一种实现方式分别与第一方面以及第一方面的任意一种实现方式相对应。第四方面以及第四方面的任意一种实现方式所对应的技术效果可参见上述第一方面以及第一方面的任意一种实现方式所对应的技术效果,此处不再赘述。
第五方面,本申请提供了一种芯片,该芯片包括处理电路、收发管脚。其中,该收发管脚、和该处理电路通过内部连接通路互相通信,该处理电路执行第一方面或第一方面的任一种可能的实现方式中的方法,以控制接收管脚接收信号,以控制发送管脚发送信号。
第五方面以及第五方面的任意一种实现方式分别与第一方面以及第一方面的任意一种实现方式相对应。第五方面以及第五方面的任意一种实现方式所对应的技术效果可参见上述第一方面以及第一方面的任意一种实现方式所对应的技术效果,此处不再赘述。
附图说明
图1为示例性示出的场景示意图之一;
图2为示例性示出的场景示意图之二;
图3为示例性示出的终端设备的硬件结构示意图;
图4为示例性示出的终端设备的软件结构示意图;
图5为示例性示出的本申请实施例提供的业务处理方法涉及的功能模块的交互示意图;
图6为示例性示出的场景示意图之三;
图7为示例性示出的提供用户入口开启网络优化功能的示意图之一;
图8为示例性示出的提供用户入口开启网络优化功能的示意图之二;
图9为示例性示出的提供用户入口开启多网协同功能的示意图;
图10为示例性示出的本申请实施例提供的业务处理方法适用于的一种场景示的意图;
图11为示例性示出的本申请实施例提供的业务处理方法适用于的又一种场景示的意图;
图12为示例性示出的本申请实施例提供的业务处理方法适用于的又一种场景示的意图;
图13为示例性示出的本申请实施例提供的业务处理方法的流程示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
本申请实施例的说明书和权利要求书中的术语“第一”和“第二”等是用于区别不同的对象,而不是用于描述对象的特定顺序。例如,第一目标对象和第二目标对象等是用于区别不同的目标对象,而不是用于描述目标对象的特定顺序。
在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
在本申请实施例的描述中,除非另有说明,“多个”的含义是指两个或两个以上。例如,多个处理单元是指两个或两个以上的处理单元;多个系统是指两个或两个以上的系统。
为了更好的理解本申请实施例提供的技术方案,在对本申请实施例的技术方案说明之前,首先结合附图对本申请实施例的适用于的场景进行说明。
参见图1中(1),示例性的,终端设备,如手机中安装了多个应用程序(Application,APP),如时钟、日历、图库、备忘录、文件夹管理、电子邮件、音乐、计算器、APP1(用于进行音视频通话/会议)、APP2(用于进行即时通讯聊天)、天气、浏览器、设置等,此处不再一一列举,本实施例对此不作限制。
继续参见图1中(1),示例性的,在某一时刻,用户A对手机桌面中APP1的图标作出了操作,如点击操作,手机响应于用户A的操作行为,将启动APP1。
示例性的,在启动APP1后,如果用户A在APP1的联系人名单中选中了用户B,并向用户B发起了视频呼叫,在用户B接听该视频呼叫后,手机的显示界面可切换为图1中(2)所示的视频通话界面。
参见图1中(2),示例性的,视频通话界面中可以包括一个或多个控件。例如用于将视频通话界面最小化的控件10a,用于显示用户A的控件、用于显示用户B的控件、用于挂断当前视频通话的控件、用于切换摄像头的控件等,此处不再一一列举,本实施例对此不作限制。
继续参见图1中(2),示例性的,当用户A点击了控件10a,手机响应于用户A的操作行为,会退出视频通话界面(视频通话还在继续),在一些实现方式中,可能是退回到发起视频呼叫时的界面。
示例性的,如果用户A继续操作,将APP1从前台界面切换到后台运行,如退回到手机桌面,在一些实现方式中,桌面中例如可以显示图1中(3)所示的控件10b。
示例性的,当用户点击控件10b后,手机响应于用户的操作行为,会将在后台运行的APP1切回前台运行,并自动跳转到图1中(2)所示的视频通话界面。
应当理解的是,上述说明仅是为了更好的理解本实施例的技术方案而列举的示例,不作为对本实施例的唯一限制。在实际应用中,供用户A一键操作,自动跳转到图1中(2)所示的视频通话界面的控件10b也可以时悬浮球形式,这样用户A可以对齐拖动,放置在桌面的任意位置。
继续参见图1中(3),示例性的,当用户A与用户B保持视频通话的过程中,如果用户A点击了APP2的图标,手机响应于用户A的操作行为,,将启动APP2。
示例性的,在启动APP2后,如果用户A在APP2的聊天列表,或者联系人名单中选中用户C,并打开与用户C的聊天界面,如图1中(4)所示,与用户C进文字/图片/文件等内容交互的聊天时,由于APP1处于后台运行,基于Android系统中前台进程的优先级高于后台进程的优先级的工作原理,网络资源(如带宽资源)将优先分配给前台运行的APP2,从而导致后台运行的APP1的网络资源(如带宽资源)不足,进而造成基于APP1进行的视频通话出现卡顿,影响用户体验。
应当理解的是,上述说明仅是为了更好的理解本实施例的技术方案而列举的示例,不作为对本实施例的唯一限制。
有鉴于此,本申请提供了一种业务处理方法,旨在使终端设备在多个业务同时进行的场景下,能够根据当前的网络资源、业务场景等信息,动态的为每一个业务合理分配网络资源,从而能够在保证通信需求的同时,更好的优化终端设备整体的资源配置和业务的处理优先级。
为了更好的理解本申请提供的技术方案,在对本申请的技术方案说明之前,首先结合附图对本申请的技术方案适用于的终端设备(例如手机、平板电脑、可触控PC机等)的硬件结构进行说明。
参见图3,示例性的,终端设备100可以包括:处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identificationmodule,SIM)卡接口195等。
示例性的,在一些实现方式中,传感器模块180可以包括压力传感器,陀螺仪传感器,气压传感器,磁传感器,加速度传感器,距离传感器,接近光传感器,指纹传感器,温度传感器,触摸传感器,环境光传感器,骨传导传感器等,此处不再一一例举,本申请对此不作限制。
此外,需要说明的是,处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processing unit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
可理解的,控制器可以是终端设备100的神经中枢和指挥中心。在实际应用中,控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
此外,还需要说明的是,处理器110中还可以设置存储器,用于存储指令和数据。在一些实现方式中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
示例性的,在一些实现方式中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuit sound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purpose input/output,GPIO)接口,用户标识模块(subscriber identitymodule,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
继续参见图3,示例性的,充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实现方式中,充电管理模块140可以通过USB接口130接收有线充电器的充电输入。在一些无线充电的实现方式中,充电管理模块140可以通过终端设备100的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为终端设备100供电。
继续参见图3,示例性的,电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,外部存储器,显示屏194,摄像头193,和无线通信模块160等供电。电源管理模块141还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实现方式中,电源管理模块141也可以设置于处理器110中。在另一些实现方式中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
继续参见图3,示例性的,终端设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
需要说明的是,天线1和天线2用于发射和接收电磁波信号。终端设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实现方式中,天线可以和调谐开关结合使用。
继续参见图3,示例性的,移动通信模块150可以提供应用在终端设备100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实现方式中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实现方式中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
此外,需要说明的是,调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170A,受话器170B等)输出声音信号,或通过显示屏194显示图像或视频。在一些实现方式中,调制解调处理器可以是独立的器件。在另一些实现方式中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。
继续参见图3,示例性的,无线通信模块160可以提供应用在终端设备100上的包括无线局域网(wireless local area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellitesystem,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near fieldcommunication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
具体到本申请实施例提供的技术方案中,终端设备100可通过移动通信模块150,使用蜂窝网络接入基站,进而在有需要依赖网络处理的业务时,将当前运行的APP产生的业务流调度到基于本申请实施例提供的技术方案为其分配的蜂窝网络资源上,进而通过该蜂窝网络资源与该业务流对应的服务器进行交互。
示例性的,终端设备100还可以通过无线通信模块160接入路由器,进而使用WIFI网络接入基站。相应地,在有需要依赖网络处理的业务时,将当前运行的APP产生的业务流调度到基于本申请实施例提供的技术方案为其分配的WIFI网络资源上,进而通过该WIFI网络资源与该业务流对应的服务器进行交互。
示例性的,在终端设备100开启了本申请实施例所说的网络优化功能,以及多网协同作业功能的情况,可以根据用户选择的协同作业网络,使用移动通信模块150和无线通信模块160各自对应的网络资源与对应的服务器进行交互。
此外,还需要说明的是,终端设备100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
继续参见图3,示例性的,显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emitting diode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrix organic light emitting diode的,AMOLED),柔性发光二极管(flex light-emitting diode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot light emitting diodes,QLED)等。在一些实现方式中,终端设备100可以包括1个或N个显示屏194,N为大于1的正整数。
此外,还需要说明的是,终端设备100可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
此外,还需要说明的是,ISP用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度,肤色进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实现方式中,ISP可以设置在摄像头193中。
此外,还需要说明的是,摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实现方式中,终端设备100可以包括1个或N个摄像头193,N为大于1的正整数。
此外,还需要说明的是,数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当终端设备100在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
此外,还需要说明的是,视频编解码器用于对数字视频压缩或解压缩。终端设备100可以支持一种或多种视频编解码器。这样,终端设备100可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。
继续参见图3,示例性的,外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展终端设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
继续参见图3,示例性的,内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行终端设备100的各种功能应用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储终端设备100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flashstorage,UFS)等。
此外,还需要说明的是,终端设备100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
此外,还需要说明的是,音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实现方式中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。
继续参见图3,示例性的,按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。终端设备100可以接收按键输入,产生与终端设备100的用户设置以及功能控制有关的键信号输入。
继续参见图3,示例性的,马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。例如,作用于不同应用(例如拍照,音频播放等)的触摸操作,可以对应不同的振动反馈效果。作用于显示屏194不同区域的触摸操作,马达191也可对应不同的振动反馈效果。不同的应用场景(例如:时间提醒,接收信息,闹钟,游戏等)也可以对应不同的振动反馈效果。触摸振动反馈效果还可以支持自定义。
继续参见图3,示例性的,指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
关于终端设备100的硬件结构就介绍到此,应当理解的是,图3所示终端设备100仅是一个范例,在具体实现中,终端设备100可以具有比图中所示的更多的或者更少的部件,可以组合两个或多个的部件,或者可以具有不同的部件配置。图3中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。
为了更好的理解图3所示终端设备100的软件结构,以下对终端设备100的软件结构进行说明。在对终端设备100的软件结构进行说明之前,首先对终端设备100的软件系统可以采用的架构进行说明。
具体的,在实际应用中,终端设备100的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。
此外,可理解的,目前主流的终端设备使用的软件系统包括但不限于Windows系统、Android系统和iOS系统。为了便于说明,本申请实施例以分层架构的Android系统为例,示例性说明终端设备100的软件结构。
此外,后续关于本申请实施例提供的业务处理方案,在具体实现中同样适用于其他系统。
参见图4,为本申请实施例的终端设备100的软件结构框图。
如图4所示,终端设备100的分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实现方式中,将Android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(Android runtime)和系统库,以及内核层。
其中,应用程序层可以包括一系列应用程序包。如图4所示,应用程序包可以包括游戏、设置、短信、邮箱(如图1中(1)所示的电子邮件)、浏览器、视频等应用程序,此处不再一一列举,本申请对此不作限制。
其中,应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。在一些实现方式中,这些编程接口和编程框架可以描述为函数。如图4所示,应用程序框架层可以包括活动管理器、内容提供器、视图系统、感知模块、决策模块等函数,此处不再一一列举,本申请对此不作限制。
示例性的,在本实施例中,感知模块用于接收应用程序层中的应用调用网络优化接口(后续称为Kit接口),传输来的当前调用该Kit接口的APP产生的业务流,或者触发的事件的事件信息时,形成提供该业务流或事件信息的APP的应用信息变化事件围栏,并将该应用信息变化事件围栏的通知信息发送给订阅了该应用信息变化事件围栏的决策模块。
示例性的,在本实施例中,决策模块用于在终端设备启动,加载应用程序的时候,向感知模块注册/订阅(后续用订阅描述)应用信息变化事件围栏,并在接收到感知模块下发的应用信息变化事件围栏的通知信息后,根据当前的网络资源,以及通知信息中指示的该业务流的业务场景、功能需求,确定指示了业务流优先级以及适合当前业务流的网络资源的决策,并在确定该决策后,将该决策和当前的业务流传输给内核层中对应的内核,如图4中所示的决策模块内核。
示例性的,在本实施例中,活动管理器用于负责Android的主线程创建,管理各个应用程序的生命周期(是否在运行),以及导航回退功能(回退到哪一界面)。即,决策模块在确定业务流的优先级时所考虑的当前运行的应用程序所处的位置(前台运行,还是后台运行),具体是根据活动管理器管理的信息确定的。
应当理解的是,上述说明仅是为了更好的理解本实施例的技术方案而列举的示例,不作为对本实施例的唯一限制。
此外,可以理解的,上述各功能模块的划分,仅是为了更好的理解本实施例的技术方案而列举的示例,不作为对本实施例的唯一限制。在实际应用中,上述功能也可以集成在一个功能模块中实现,本实施例对此不作限制。
此外,还需要说明的是,上述位于应用程序框架层中的内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等,此处不再一一列举,本申请对此不作限制。
此外,还需要说明的是,上述位于应用程序框架层中的视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
Android Runtime包括核心库和虚拟机。Android Runtime负责安卓系统的调度和管理。
核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(Media Libraries),三维(3D)图形处理库(例如:OpenGL ES),二维(2D)图形引擎(例如:SGL)等。
表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。
媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。
可理解的,上述所说的2D图形引擎是2D绘图的绘图引擎。
此外,可理解的,Android系统中的内核层是硬件和软件之间的层。内核层中可包括Linux内核,以及各种驱动。其中,包括的驱动例如可以是显示驱动,蓝牙驱动、WIFI驱动等,此处不再一一列举,本实施例对此不作限制。
此外,需要说明的是,具体到本实施例中,内核层中还包括了决策模块内核。其中,决策模块内核用于根据决策模块确定的指示了业务流优先级以及适合当前业务流的网络资源的决策,为当前业务流添加确定的优先级对应的优先级标签,并将添加了优先级标签的业务流传输给Linux内核,以及将决策模块确定的上述业务处理策略下发给对应的网络驱动,如WIFI驱动和/或蜂窝驱动。
相应地,Linux内核在接收到来自决策模块内核发送的添加了优先级标签的业务流后,会在内核协议栈中对添加了优先级标签的业务流的进行处理,并将处理后的业务流传输至对应的网络驱动,如WIFI驱动和/或蜂窝驱动。而网络驱动,则会根据上述业务处理策略和业务流的优先级标签,将该业务流调度到指定的网络资源上。
关于终端设备100的软件结构就介绍到此,可以理解的是,图4示出的软件结构中的层以及各层中包含的部件,并不构成对终端设备100的具体限定。在本申请另一些实施例中,终端设备100可以包括比图示更多或更少的层,以及每个层中可以包括更多或更少的部件,本申请不做限定。
为了更好的理解上述软件结构的终端设备,在实现本申请实施例提供的业务处理方法的流程时,涉及的功能模块的交互,以下结合图5进行具体说明。
参见图5,示例性的,在终端设备启动,加载安装的APP的过程中,对于应用程序层中任意一款接入了网络优化接口(Kit接口)的APP,即能够调用该接口的APP而言,应用程序框架层中的决策模块(可以看作助推器Booster,相应地决策模块内核可以看作Booster内核)会调用对应的围栏订阅函数,向感知模块订阅/注册应用信息变化事件围栏,即执行图5中步骤1对应的操作。
继续参见图5,示例性的,当接入了网络优化接口的APP触发事件,产生对应的业务流时,该APP会调用网络优化接口,并将当前产生的业务流发送给应用程序框架层的感知模块,即执行图5中步骤2对应的操作。
需要说明的,关于网络优化接口的接入方式,在一些实现方式中可以是由应用侧采用反射的方式调用实现的。
可理解的,所谓反射,就是把Java类中的各个成分映射成一个个的Java对象,例如一个类有成员变量、方法、构造方法、包等信息,利用反射技术可以对一个类进行解剖,把每一个组成部分映射成一个个的Java对象。
此外,在另一些实现方式中,也可以采用依赖的方式,这样应用只需要在编译时进行依赖,无需将网络优化的软件开发工具包(Software Development Kit,SDK)打包到该APP的SDK中,从而减小安装到终端设备的APP的SDK包的大小。
关于反射和依赖的具体实现方式,可以参见相关API文档,此处不再赘述。
继续参见图5,示例性的,由于感知模块在终端设备已经接收到了决策模块在终端设备启动阶段订阅的应用信息变化事件围栏的请求,因此在接收到应用程序层的APP调用网络优化接口发送的业务流后,便会形成该APP对于的应用信息变化事件围栏,并将形成的应用信息变化事件围栏的通知信息(业务流、业务流对应的业务场景、该业务流对应的业务流场景的功能需要)发送给决策模块进行处理,即执行图5中步骤3的操作。
需要说明的是,上述用于触发本申请提供的业务处理流程的网络优化接口,仅仅是一个统称,在实际应用中网络优化接口可以根据业务场景包括多种,这样通过确定业务流是由哪一业务场景对应的网络优化接口传输的,便可以快速确定该业务流对应的业务场景,进而获知该业务场景对应的功能需求,如最低带宽要求、最低时延要求、最高丢包率等。
示例性的,关于业务场景对应的网络优化接口,以及取值,可以如表1所示。
表1不同业务场景的网络优化接口表
Name | Value | 含义 |
SCENE_UNKNOWN | 0x000000000 | 未知 |
SCENE_LOGIN | 0x000000001 | 登录 |
SCENE_UPDATE | 0x000000002 | 应用内更新 |
SCENE_GAME_BATTLE | 0x000000004 | 游戏对战 |
SCENE_LONG_VIDEO | 0x000000008 | 长视频 |
SCENE_SHORT_VIDEO | 0x000000010 | 短视频 |
SCENE_LIVE_VIDEO_DOWNLOAD | 0x000000020 | 直播观看 |
SCENE_LIVE_VIDEO_UPLOAD | 0x000000040 | 主播直播 |
SCENE_DOWNLOAD | 0x000000080 | 文件下载 |
SCENE_UPLOAD | 0x000000100 | 文件上传 |
SCENE_PAGE_LOADING | 0x000000200 | 页面加载(浏览) |
SCENE_NAVIGATING | 0x000000400 | 导航 |
SCENE_CHAT | 0x000000800 | 聊天 |
SCENE_AUDIO_CALL | 0x000001000 | 音频通话 |
SCENE_VIDEO_CALL | 0x000002000 | 视频通话 |
SCENE_MUSIC | 0x000004000 | 音乐播放 |
SCENE_P2P_FLOW_EXISTED | 0x000008000 | P2P流存在场景 |
参见表1,示例性的,其中“name”所在列中对应的内容为网络优化接口的名称,“value”所在列对应的内容为APP调用对应网络优化接口时的值,“含义”所在列对应的内容即为调用该网络优化接口传输的业务流对应的业务场景。
需要说明的是,在实际应用中,当无法确定当前业务场景时,还可以进一步对业务流进行图像识别,进而根本图像识别结果确定当前输入上述哪一业务场景。
应当理解的是,上述说明仅是为了更好的理解本实施例的技术方案而列举的示例,不作为对本实施例的唯一限制。
继续参见图5,示例性的,决策模块在接收到感知模块发送的触发事件的APP的应用信息变化事件围栏的通知信息后,从通知信息中取出感知模块确定的该业务流的业务场景,以及该业务场景的功能需求,同时获取当前的网络资源,如接入的网络(WIFI网络和/或蜂窝网络)、当前接入的网络的网络状态(带宽、质量、传输速率、时延、丢包率等),以及根据活动管理器提供的信息,确定提供该业务流的APP是哪种进程类型(前台进程、可见进程、服务进程、后台进程和空进程),进而根据该APP的进程类型和该业务流的业务场景,确定该APP/业务流的优先级,根据当前的网络资源和该业务场景对应的功能需求,为该业务流分配合适的网络资源(如调度到哪一网络,分配的带宽大小等),得到业务处理所需要遵循的业务处理策略。
示例性的,在一种实现方式中,APP/业务流的优先级可以直接根据APP的进程类型确定,如前台进程的优先级高于后台进程的优先级。
示例性的,在另一种实现方式中,APP/业务流的优先级也可以考虑业务场景的优先级,进而根据APP进程类型的优先级和业务场景的优先级综合确定APP/业务流的优先级。
示例性的,关于业务场景的优先级,例如可以根据上述业务场景对实时性的要求、网络带宽的要求、时延要求、丢包率要求等,确定其优先级。例如可以规定上述业务场景的优先级满足:游戏对战≥主播直播≥直播观看≥视频通话≥音频通话≥导航≥长视频≥短视频≥应用内更新≥聊天≥音乐播放≥页面加载(浏览)≥文件下载≥文件上传≥登录≥未知。
应当理解的是,上述说明仅是为了更好的理解本实施例的技术方案而列举的示例,不作为对本实施例的唯一限制。
继续参见图5,示例性的,在得到业务处理策略后,决策模块会将得到的业务处理和感知模块通知应用信息变化事件围栏的通知信息传输来的业务流一起发送给内核层的Booster内核,即执行图5的步骤4对应的操作。
此外,需要说明的是,在实际应用中,业务流可以如上所说封装到应用信息变化事件围栏对应的通知信息中,也可以单独发送给决策模块,本实施例对此不作限制。
继续参见图5,示例性的,Booster内核根据决策模块生成的业务处理策略中指示的该业务流的优先级,为其添加优先级标签,例如可以将优先级分为高优先级(或第一优先级)、中优先级(第二优先级)、低优先级(第三优先级)等。相应地,高优先级的优先级标签可以表示为“H”,中优先级的优先级标签可以表示为“M”,低优先级的优先级标签可以表示为“L”。
应当理解的是,上述说明仅是为了更好的理解本实施例的技术方案而列举的示例,不作为对本实施例的唯一限制。
继续参见图5,示例性的,Booster内核在完成上述操作后,会将添加了优先级标签的业务流发送给Linux内核,将业务处理策略下发给当前可用的网络对应的网络驱动,如WIFI驱动、蜂窝驱动等,即分别执行图5中步骤5和步骤6对应的操作。
继续参见图5,示例性的,Linux内核在接收到Booster内核下发的添加了优先级标签的业务流后,便会进行处理,如将该业务流发送给协议栈,即执行图5中步骤7对应的操作,在协议栈中经分组数据汇聚协议层(Packet Data Convergence Protocol Layer,PDCP层)、媒体介入控制层(Media Access Control Layer、MAC层)、物理层(Physical Layer、PHY层)进行处理后,由协议栈将添加了优先级标签的业务流发送给网络驱动,如WIFI驱动、蜂窝驱动,即执行图5中步骤8对应的操作,进而由网络驱动根据Booster内核下发的业务处理策略指示的不同优先级对应的网络资源,以及来自协议栈的业务流携带的优先级标签,将该优先级标签指示的业务流调度到业务处理策略中该优先级对应的网络资源上。
由此,根据当前的网络资源、业务场景等信息,动态的为每一个业务的业务流合理分配网络资源,从而能够在保证通信需求的同时,更好的优化终端设备整体的资源配置和业务的处理优先级。
基于上述硬件结构和软件结构,在图1和图2所示场景下,采用本申请实施例提供的业务处理方法,当APP1的业务流(业务流1)和APP2的业务流(业务流2)分别通过Kit接口传输给感知模块后,感知模块分别生成APP1的应用信息变化事件围栏(应用信息变化事件围栏1)和APP2的应用信息变化事件围栏(应用信息变化事件围栏2),并将业务流1,应用信息变化事件围栏1的通知信息(通知信息1),以及业务流2,应用信息变化事件围栏2的通知信息(通知信息2)发送给决策模块,决策模块根据通知信息1中指示的业务流1的业务场景确定其优先级(APP1,或者当前业务场景的),并根据当前的网络资源(接入的网络、带宽、网络质量、丢包率、信噪比等)和通知信息1中指示的该业务场景的功能需求、业务流的数据量大小等,确定适合业务流1的网络资源1。
相应地,决策模块还会根据通知信息2中指示的业务流2的业务场景确定其优先级(APP2,或者当前业务场景的),并根据当前的网络资源(接入的网络、带宽、网络质量、丢包率、信噪比等)和通知信息2中指示的该业务场景的功能需求、业务流的数据量大小等,确定适合业务流2的网络资源2。
可理解的,以Android系统为例,应用程序的生命周期是在Android系统中进程从启动到终止的所有阶段,即应用程序启动到停止的全过程。而应用程序的生命周期在由Android系统进行调度和控制的过程中,具体是基于进程的优先级由高到低进行的。以前台进程、可见进程、服务进程、后台进程和空进程为例,其优先级满足:前台进程>可见进程≥服务进程>后台进程≥空进程。即,前台进程可以看作高优先级,可见进程和服务进程为中优先级,后台进程和空进程为低优先级。基于此,如果采用现有的业务处理方式,由于APP1被切换到后台运行,即为后台进程,而APP2当前处于前台运行,即为前台进程,因此APP2的优先级高于APP1的优先级,故而网络资源将优先分配给APP2,而APP1当前进行的视频通话业务场景对网络资源的要求要高于APP2当前运行的聊天业务场景对网络资源的要求,因此基于现有的业务处理方案,会出现上述所说的视频通话卡顿的现象。
而采用本申请提供的技术方案,决策模块根据通知信息1中指示的业务流1的业务场景确定当前为视频通话的业务场景,而视频通话对网络资源的要求要高于聊天场景,因此即便当前APP1为后台进程,其优先级也高于APP2的,即APP1的优先级>APP2的优先级。而视频通话的业务场景对网络资源的要求高于聊天的业务场景对网络资源的要求,故而为APP1分配的网络资源1的带宽要大于为APP2分片的网络资源2的带宽。参见图6,对于这种情况,APP1的业务流1将被调度到网络资源1上,由网络资源1将业务流1发送到APP1的服务器(或者是业务流1对应的服务器),将APP2的业务流2将被调度到网络资源2上,由网络资源2将业务流2发送到APP2的服务器(或者是业务流2对应的服务器)。由此,根据当前的网络资源、业务流1对应的业务场景、功能需求,以及业务流2对应的业务场景、功能需求等信息,动态的为APP1的业务流1和APP2的业务流2合理分配网络资源1和网络资源2,从而能够在保证通信需求的同时,更好的优化终端设备整体的资源配置和业务的处理优先级。
需要说明的是,图6中为APP1和APP2分配的网络资源可以是同一网络,如WIFI网络或蜂窝网络上的不同资源,也可以是不同网络资源,如APP1为通信质量更佳的蜂窝网络上的资源,APP2为WIFI网络上的资源,或者APP1为WIFI网络上的资源,APP2为蜂窝网络上的资源。
应当理解的是,上述说明仅是为了更好的理解本实施例的技术方案而列举的示例,不作为对本实施例的唯一限制。
此外,需要说明的是,在实际应用中,为了保证本申请实施例提供的业务处理方法能够顺利执行,需要确保终端设备开启了触发执行本申请实施例提供的业务处理方法的网络优化功能。
示例性的,在一种实现方式中,网络优化功能的开启,例如可以是在开发者开发APP时,向提供上述网络优化接口的开放平台申请该APP的唯一标识appid,并将该APP的签名真是指纹添加到开放平台上,申请打开上述网络优化接口对应的服务开关,即将网络优化功能开启,这样在将开放平台生成的针对该APP的鉴权配置文件添加到该APP根目录打包编译后,便会自动在该APP的描述文件(AndroidManifest.xml)中添加标识开启网络优化功能的标识,从而在该APP安装到终端设备中,自动开启网络优化功能。
示例性的,在另一种实现方式中,网络优化功能的开启可以是由用户通过终端设备中提供的用户入口开启或关闭的。可理解的,在实际应用中,提供给用户开启或关闭网络优化功能的用户入口,可以是集成于专门用于管理网络优化的APP中,也可以是集成到设置应用中,为了便于说明,本实施例以用户入口集成到设置应用中为例,以下结合图7至图9进行说明。
参见图7中(1),示例性的,终端设备,如手机中安装了多个应用程序(Application,APP),如时钟、日历、图库、备忘录、文件夹管理、电子邮件、音乐、计算器、APP1(用于进行音视频通话/会议)、APP2(用于进行即时通讯聊天)、天气、浏览器、设置等,此处不再一一列举,本实施例对此不作限制。
继续参见图7中(1),示例性的,为了保证接入了网络优化接口的APP能够基于本申请提供的业务处理方法对业务流进行处理,在一些实现方式中,用户可以事先通过设置应用中提供的用户入口开启网络优化功能。具体的,当用户对手机桌面中设置APP的图标作出了操作,如点击操作,手机响应于用户的操作行为,启动设置应用,手机的显示界面例如可以切换为图7中(2)所示的设置界面。
参见图7中(2),示例性的,设置界面中可以包括一个或多个设置功能选项,例如移动网络选项、超级终端选项、更多连接选项、桌面和壁纸选项、显示和亮度选项、声音和振动选项、通知选项、网络优化选项、电池选项、存储选项、安全选项等,此处不再一一列举,本实施例对此不作限制。
继续参见图7中(2),示例性的,当用户选中网络优化选项后,手机响应于用户的操作行为,从当前界面跳转到图8中(1)所示的网络优化界面。
参见图8总(1),示例性的,网络优化界面中可以一个或多个控件,例如用于退出当前界面,回退到图7中(2)所示的设置界面的控件10c-2,用于开启网络优化功能的控件10c-2。
需要说明的,本实施例以默认状态下,网络优化功能处于关闭状态为例,即控件10c-2处于图8中(1)示出样式时,指示终端设备没有开启网络优化功能,接入了网络优化接口的APP在有业务流需要调度处理时,不触发本申请提供的业务流处理方法。
此外,还需要说明的是,图7至图9给出的为通过一个全局入口,对所有接入网络优化接口的APP开启或关闭网络优化功能,然在实际应用中,可以为每一个接入网络优化设置接口的APP设置单独的开启或关闭网络优化功能的入口,对于这种场景,用户例如可以在设置界面中查找到对应的APP,然后对该APP进行操作,进入该APP对于的应用设置界面,在该界面或该界面的选项中找到类似控件10c-2。
应当理解的是,上述说明仅是为了更好的理解本实施例的技术方案而列举的示例,不作为对本实施例的唯一限制。
继续参见图8中(1),示例性的,当用户对控件10c-2作出操作时,手机响应于该用户操作,控件10c-2的样式从图8中(1)所示,切换为图8中(2)所示,开启网络优化功能。
此外,需要说明的是,基于本申请提供的业务处理方法,对业务流进行调度方法时,其网络优化模式可以分为应用级并发分流模式、同一应用不用业务流并发分流模式、自动模式。
示例性的,应用级并发分流模式具体指不同应用产生的业务流根据本实施例提供业务处理方法,确定各自的优先级以及匹配的网络资源,进而并发处理,调度到不同的网络资源,即优先级的粒度是应用级的。
示例性的,同一应用不用业务流并发分流模式具体指同一应用中不同业务场景产生的业务流据本实施例提供业务处理方法,确定各自的优先级以及匹配的网络资源,进而并发处理,调度到不同的网络资源,即优先级的粒度是套接字socket级的。相比应用级的粒度更小,从而能够更好的实现网络资源的配置和优先级的划分,更好的优化终端设备整体的资源配置和业务的处理优先级。
示例性的,自动模式具体指终端设备可以根据实际作业情况,自动在应用级并发分流模式和同一应用不同业务流并发分流模式间自主切换。即,在终端设备运行多个应用时,对于不同应用而言,可以先按照应用级并发分流模式作业,具体到每一个应用又可以进一步按照同一应用不用业务流并发分流模式作业。
应当理解的是,上述说明仅是为了更好的理解本实施例的技术方案而列举的示例,不作为对本实施例的唯一限制。
示例性的,为了便于用户自主设置开启网络优化功能后,对业务流进行处理时所遵循的网络优化模式,控件10c-2从图8中(1)所示的样式切换为图8中(2)所示的样式后,网络优化界面中还可以显示用于供用户选择网络优化模式的控件10c-3,如图8中(2)所示。
参见图8中(2),示例性的,用于选择网络优化模式的控件10c-3中可以提供选择“应用级并发分流模式”的控件10c-31,用于选择“同一应用不同业务流并发分流模式”的控件10c-32,用于选择“自主模式”的控件10c-33。
示例性的,在一些实现方式中,可以默认控件10c-31、控件10c-32、控件10c-33均处于未开启状态,即图8中(2)所示样式。这样,在开启网络优化功能,网络优化界面中显示控件10c-3后,就可以根据自己的实际使用需求,选择开启图8中(2)中示出的任意一种或几种网络优化模式。
示例性的,当用户仅开启控件10c-31对应的网络优化模式时,在网络优化功能开启的过程中,在手机接收到来自多个应用提供的业务流时,便会根据本申请提供的业务处理方法确定每一应用的优先级,以及适合的网络资源,进而根据确定的优先级和网络资源进行调度,即只针对不同应用的业务流,同一应用不同业务场景下的不再确定优先级和网络资源。
示例性的,当用户仅开始控件10c-32对应的网络优化模式时,在网络优化功能开启的过程中,在手机接收到同一应用不同业务场景下的业务流时,便会根据本申请提供的业务处理方法确定该应用提供的每一业务流对应的业务场景的优先级,以及适合的网络资源,进而根据确定的优先级和网络资源进行调度。
示例性的,当用户同时开启控件10c-31和控件10c-32对应的网络优化模式,或者开启了控件10c-33对应的网络优化模式时,则可以自动在应用级并发分流模式和同一应用不同业务流并发分流模式间自主切换。即,在终端设备运行多个应用时,对于不同应用而言,可以先按照应用级并发分流模式作业,具体到每一个应用又可以进一步按照同一应用不用业务流并发分流模式作业。
应当理解的是,上述说明仅是为了更好的理解本实施例的技术方案而列举的示例,不作为对本实施例的唯一限制。
此外,考虑到越来越多的终端设备支持多网协同功能,本申请提供的业务处理方法还可以配合多网协同功能,共同作业。即,终端设备开启网络优化功能和多网协同功能的情况下,为不同业务流分配的网络资源,可以根据当前可以协同作业的网络资源进行选择,如将不同APP的业务流调度到不同的网络,如WIFI网络、蜂窝网络,或者将同一应用的不同业务场景的业务流调度到不同网络。
参见图9中(1),示例性的,考虑到上述场景的实现,在一些实现方式中,可以在网络优化界面中提供用于开启或关闭多网协同功能的控件10c-4。
参见图9中(1),示例性的,当用户对控件10c-4作出操作,手机响应于该用户操作,控件10c-4的样式从图9中(1)所示,切换为图9中(2)所示,开启多网协同功能。
可理解的,所谓多网协同,在同一时刻,终端设备可以同时接入多种网络,并使用接入的网络处理业务。
例如,终端设备可以同时接入WIFI网络和蜂窝网络。
进一步地,WIFI网络又可以包括2.4GHz的WIFI网络和/或5GHz的WIFI网络,蜂窝网络又可以包括终端设备中插入的SIM卡1提供的如4G、5G的蜂窝网络和/或SIM卡2提供的如4G、5G的蜂窝网络。
应当理解的是,上述说明仅是为了更好的理解本实施例的技术方案而列举的示例,不作为对本实施例的唯一限制。
示例性的,为了便于用户自主设置开启多网协同功能后,对协同作业网络的选择,控件10c-4从图9中(1)所示的样式切换为图9中(2)所示的样式后,网络优化界面中还可以显示用于供用户选择协同作业网络的控件10c-5,如图9中(2)所示。
参见图9中(2),示例性的,用于选择协同作业网络的控件10c-5中可以提供选择WIFI1(如2.4GHz的WIFI网络)的控件10c-51,用于选择WIFI2(如5GHz的WIFI网络)的控件10c-52,用于选择蜂窝网络1(如SIM卡1提供的5G网络)的控件10c-53,用于选择蜂窝网络2(如SIM卡2提供的5G网络)的控件10c-54。这样,用户通过对控件10c-51、控件10c-52、控件10c-53、控件10c-54进行操作,便可以实现对该网络的选中,可理解的图9中(2)所示样式为未选中。
此外,需要说明的是,在一些实现方式中,为了便于用户操作,也可以提供一个能够同时选中多个网络的控件,这样用户只需对该控件进行一键操作,便可以实现对上述四种网络的选中或取消。
此外,还需要说明的是,在另一些实现方式中,也可以提供一个能够根据实际网络环境,自动选择协同作业网络的选项,这样用户只需对该选项进行一键操作,便可以在选中该选项的情况下,由手机自动根据当前能够搜索并接入的网络中选中满足要求的网络进行协同作业。
应当理解的是,上述说明仅是为了更好的理解本实施例的技术方案而列举的示例,不作为对本实施例的唯一限制。
为了更好的理解本申请实施例提供的业务处理方法,以下结合实例进行具体说明。
参见图10,示例性示出在终端设备当前支持使用的网络仅有一个蜂窝网络时,对于终端设备同时运行上述所说的APP1和APP2时,终端设备按照应用级并发分流模式的方式对APP1的业务流和APP2的业务流进行网络优化后进行调度的实现方式进行说明。
参见图10,示例性的,图10所示场景与图6所示场景类似,只是在图10所示场景中,终端设备是使用蜂窝网络,例如上述所说的由SIM卡1提供的蜂窝网络1(如图10所示,终端设备的显示界面中仅显示了蜂窝网络1的图标)与基站建立网络链路的。终端设备基于蜂窝网络1与基站建立的网络链路,会根据图5中确的APP1和APP2的优先级,按照确定的优先级从高到底的顺序,优先将APP1在视频通话过程中产生的业务流1调度到为业务流1动态分配的网络资源1上,进而发送到APP1的服务器。
相应地,在将业务流1添加到队列后,会将APP2在与用户C聊天过程中产生的业务流2调度到为业务流2动态分配的网络资源2上,进而发送到APP2的服务器。
此外,需要说明的是,在实际应用中,对业务流的处理过程中,内核协议栈可以根据上述划分的高优先级、中优先级和低优先级构建三个队列,进而将这三种优先级的业务流分别添加到对应的队列,这样就可以并发处理三个队列中的业务流。
进一步地,在同一队列中存在多个等待调度的业务流时,在一种实现方式中,可以按照时间先后顺序处理。在另一种实现方式中,又可以进一步对同一队列中的业务流进行优先级的划分,进而优先调度优先级高的业务流。
应当理解的是,上述说明仅是为了更好的理解本实施例的技术方案而列举的示例,不作为对本实施例的唯一限制。关于图10所示场景中,应用级并发分流模式下,进行网络优化的业务处理后,业务流的调度细节,未在此处说明的可以参见针对图6的描述部分,此处不再赘述。
此外,需要说明的是,针对蜂窝网络2,或者WIFI1,或者WIFI2的处理逻辑与上述使用蜂窝网络1的类似,此处不再赘述。
由此,在单一网络要,在网络优化模式为应用级并发分流模式时,基于本申请实施例提供的业务处理方法,可以动态确定不同应用的优先级,并为其分配适合当前业务流的网络资源,从而能够在保证通信需求的同时,更好的优化终端设备整体的资源配置和业务的处理优先级。
参见图11,示例性示出在终端设备当前支持使用的网络仅有一个蜂窝网络时,对于终端设备运行视频应用(APP3)时,分别在业务场景1(长视频)和业务场景2(下载文件)作业,终端设备按照同一应用不同业务流并发分流模式的方式对APP3在业务场景1下提供的业务流3和APP3在业务场景2下提供的业务流4进行网络优化后进行调度的实现方式进行说明。
参见图11,示例性的,当用户对手机中安装的用于播放音视频的应用(APP3)播放选中的视频的第一集时,若用户为了方便在没有网络的情况下观看该视频的其他集,选中了第2至5集进行下载。这种情况下,在手机当前支持使用的网络仅有一个蜂窝网络,如上述所说的蜂窝网络1时,手机的显示界面会显示蜂窝网络1的图标,同时在下载第2至5集视频内容的过程中,显示界面还会显示下载图标,并且显示当前播放的第一集视频画面。
示例性的,在手机的显示界面显示上述内容的过程在,播放第一集视频画面的业务例如可以调用的是上述列举的业务场景中“长视频”对应的网络优化接口“SCENE_LONG_VIDEO”传输给感知模块的,而下载第2至5集视频内容的业务例如可以调用的是上述列举的业务场景中“下载文件”对应的网络优化接口“SCENE_DOWNLOAD”。
示例性的,通过活动管理器获取的信息,可知前台进程为“长视频”业务场景对应的进程,后台进程为“下载文件”业务场景对应的进程。此外,由于在线观看视频需要更低的时延,以保证观影过程中视频画面不出现卡顿等问题。因此,手机的显示界面中当前显示的视频画面对应的业务流3的优先级要高于下载文件对应的业务流4的优先级。故而,在当前只有一个蜂窝网络1可用的情况下,手机会优先调度业务流3,然后再调度业务流4,即业务流3会被决策模块内核根据业务处理决策,添加高优先级标签,而业务流4则会添加低优先级标签。
可理解的,在实际应用中,可以仅针对优先级高的业务流添加优先级标签,这样网络驱动在进行调度分发时,有优先级标签的优先调度,无优先级标签的后调度。
应当理解的是,上述说明仅是为了更好的理解本实施例的技术方案而列举的示例,不作为对本实施例的唯一限制。
继续参见图11,示例性的,在经图5所示流程确定业务流3和业务流4的优先级,并根据当前的网络资源(当前带宽、当前质量、当前传输速率、当前时延、当前丢包率等)和业务流3、业务流4对应场景所需的功能要求(最低带宽要求、最低时延要求、最高丢包要求等),为业务流3和业务流4分别分配适合当前需要处理的业务流的网络资源,如为业务流3分配网络资源3,业务流4分配网络资源4后,根据优先级标签,便可以将业务流3调度到网络资源3传输至APP3的服务器进行处理,将业务流4分别调度到网络资源4传输至APP3的服务器进行处理。
此外,需要说明的是,针对蜂窝网络2,或者WIFI1,或者WIFI2的处理逻辑与上述使用蜂窝网络1的类似,此处不再赘述。
由此,在单一网络要,在网络优化模式为同一应用不同业务流并发分流模式时,基于本申请实施例提供的业务处理方法,可以动态确定不同业务场景的优先级,并为其分配适合当前业务流的网络资源,从而能够在保证通信需求的同时,更好的优化终端设备整体的资源配置和业务的处理优先级。
参见图12,示例性示出在终端设备在开启多网协同功能后,选择了蜂窝网络1和WIFI2,对于终端设备运行上述所说的APP3时,分别在业务场景1和业务场景2、业务场景3(浏览评论—>页面加载(浏览))作业,终端设备按照同一应用不同业务流并发分流模式的方式对APP3在业务场景1下提供的业务流3、APP3在业务场景2下提供的业务流4和APP3在业务场景3下提供的业务流5进行网络优化后进行调度的实现方式进行说明。
参见图12,示例性的,当用户对手机中安装的用于播放音视频的应用(APP3)播放选中的视频的第一集时,若用户为了方便在没有网络的情况下观看该视频的其他集,选中了第2至5集进行下载,同时在关于该视频的讨论区域,浏览其他用户的留言。这种情况下,在手机当前支持使用的网络有WIFI2和蜂窝网络1的情况下,手机的显示界面会显示蜂窝网络1的图标和WIFI2的图标,同时在下载第2至5集视频内容的过程中,显示界面还会显示下载图标,并且显示当前播放的第一集视频画面。
示例性的,在手机的显示界面显示上述内容的过程在,播放第一集视频画面的业务例如可以调用的是上述列举的业务场景中“长视频”对应的网络优化接口“SCENE_LONG_VIDEO”传输给感知模块的,而下载第2至5集视频内容的业务例如可以调用的是上述列举的业务场景中“下载文件”对应的网络优化接口“SCENE_DOWNLOAD”,浏览其他用户在讨论区域下针对当前视频的留言的业务例如可以调用的是上述列举的业务场景中“页面加载”对应的网络优化接口“SCENE_PAGE_LOADING”。
示例性的,通过活动管理器获取的信息,可知前台进程为“长视频”业务场景对应的进程和“页面加载”业务场景对应的进程,后台进程为“下载文件”业务场景对应的进程。
示例性的,如果WIFI2的网络状态足以支持上述3种业务场景对应的业务流进行并发处理,则确定业务流3、业务流4和业务流5的优先级,并分别添加合适的优先级标签后,可以为业务流3、业务流4和业务流5分配合适的WIFI2的网络资源,即业务流3、业务流4和业务流5均由WIFI2调度至APP3进行处理。
示例性的,如果WIFI2的网络状态不能同时支持上述3种业务场景对应的业务流进行并发处理,在一种实现方式中,可以根据业务流3业务流4和业务流5各自的业务场景的功能需求,确定需要由WIFI2进行调度的业务流,以及需要由蜂窝网络1调度的业务流。考虑到下载文件对应的业务场景所需流量较大,可以将业务流4交由WIFI2进行调度,而页面加载对应的业务场景的业务流则交由蜂窝网络1进行调度,长视频对应的业务场景则根据当前WIFI2的网络状态和该业务场景的功能需要确定是交由WIFI2进行调度,还交由蜂窝网络进行调度。
示例性的,图12以业务流3和业务流4交由WIFI2进行调度,业务流5交由蜂窝网络1进行调度围栏。
示例性的,如果WIFI2的网络状态上述3中业务场景均无法支持,则确定业务流3、业务流4和业务流5的优先级,并分别添加合适的优先级标签后,可以为业务流3、业务流4和业务流5分配合适的蜂窝网络1的网络资源,即业务流3、业务流4和业务流5均由蜂窝网络1调度至APP3进行处理。
应当理解的是,上述说明仅是为了更好的理解本实施例的技术方案而列举的示例,不作为对本实施例的唯一限制。针对协同作业的网络还包括蜂窝网络2、WIFI1的处理逻辑与上述类似,此处不再赘述。
由此,在多网协同作业的情况,在网络优化模式为同一应用不同业务流并发分流模式和/或应用级并发分流模式时,基于本申请实施例提供的业务处理方法,可以动态确定不同应用的优先级,以及每一应用下不同业务场景的优先级,并为其分配适合当前业务流的网络资源,从而能够在保证通信需求的同时,更好的优化终端设备整体的资源配置和业务的处理优先级。
针对上述各实现场景,本申请提供的业务处理方法的具体实现流程,例如图13所示,具体包括:
S101,当存在需要处理的第一业务流和第二业务流时,确定第一业务流和第二业务流的优先级。
示例性的,关于确定第一业务流和第二业务流的优先级的方式,根据业务流的来源可以有所不同。
例如,在第一业务流和所述第二业务流来自不同的应用程序,例如第一应用程序和第二应用程序时,在确定第一业务流和第二业务流的优先级时,可以是:分别根据第一应用程序的运行位置确定第一应用程序的第一优先级,第二应用程序的运行位置确定第二应用程序的第二优先级。
可理解的,第一应用程序的运行位置指示第一应用程序当前处于前台运行,或者处于后台运行,第二应用程序的运行位置指示第一应用程序当前处于前台运行,或者处于后台运行。
相应地,在第一业务流来自第一应用程序,第二业务流来自第二应用程序时,确定第一业务流的优先级为第一优先级,第二业务流的优先级为第二优先级;反之,在第一业务流来自第二应用程序,第二业务流来自第一应用程序时,确定第一业务流的优先级为第二优先级,第二业务流的优先级为第一优先级。
示例性的,在一些实现方式中,可以规定在第一应用程序位于前台运行,第二应用程序位于后台运行时,第一优先级高于第二优先级;在第一应用程序位于后台运行,第二应用程序位于前台运行时,第二优先级高于第一优先级。
应当理解的是,上述说明仅是为了更好的理解本实施例的技术方案而列举的示例,不作为对本实施例的唯一限制。
还例如,在第一业务流和第二业务流来自同一个应用程序,如均来自上述所说的第一应用程序,或者第二应用程序时,在确定第一业务流和第二业务流的优先级时,可以是:先确定第一业务流对应的第一业务场景和第二业务流对应的第二业务场景;然后根据第一应用程序的运行位置和第一业务场景,确定第一应用程序的第一优先级,以及根据第二应用程序的运行位置和第二业务场景,确定第二应用程序的第二优先级。
可理解的,第一应用程序的运行位置指示第一应用程序当前处于前台运行,或者处于后台运行,第二应用程序的运行位置指示第一应用程序当前处于前台运行,或者处于后台运行。
相应地,在第一业务流来自第一业务场景,第二业务流来自第二业务场景时,确定第一业务流的优先级为第一优先级,第二业务流的优先级为第二优先级;反之,在第一业务流来自第二业务场景,第二业务流来自第一业务场景时,确定第一业务流的优先级为第二优先级,第二业务流的优先级为第一优先级。
可理解的,通过上述实施例的描述可知,网络优化接口可以有多种,且分别对应的了不同的业务场景,因此在确定第一业务流对应的第一业务场景和第二业务流对应的第二业务场景时,根据提供第一业务流时调用的网络优化接口,确定第一业务流对应的第一业务场景,根据提供第二业务流时调用的网络优化接口,确定第二业务流对应的第二业务场景,例如上文所说在调用的网络优化接口为“SCENE_LONG_VIDEO”时,指示该业务流对应的业务场景为“长视频”,在调用的网络优化接口为“SCENE_DOWNLOAD”时,指示该业务流对应的业务场景为“下载文件”,在调用的网络优化接口为“SCENE_PAGE_LOADING”时,指示该业务流对应的业务场景为“页面加载”。
此外,需要说明的是,对于优先级是基于应用程序的进程类型和业务场景确定时,在一些实现方式中,第一优先级和第二优先级的关系,例如为:
在第一应用程序位于前台运行,第二应用程序位于后台运行,第一业务场景的优先级高于第二业务场景时,第一优先级高于第二优先级;
在第一应用程序位于前台运行,第二应用程序位于前台运行,第一业务场景的优先级高于第二业务场景时,第一优先级高于第二优先级;
在第一应用程序位于后台运行,第二应用程序位于后台运行,第一业务场景的优先级高于第二业务场景时,第一优先级高于第二优先级;
在第一应用程序位于后台运行,第二应用程序位于前台运行,第一业务场景的优先级高于第二业务场景时,第一优先级高于第二优先级;
否则,第二优先级高于第一优先级。
通过上述实施例的描述可知,在进程类型为前台进程时,表示该应用程序在前台运行,为后台进程时,表示该应用程序在后台运行。
关于业务场景的优先级,例如可以根据上述业务场景对实时性的要求、网络带宽的要求、时延要求、丢包率要求等,确定其优先级。例如可以规定表1罗列的业务场景的优先级满足:游戏对战≥主播直播≥直播观看≥视频通话≥音频通话≥导航≥长视频≥短视频≥应用内更新≥聊天≥音乐播放≥页面加载(浏览)≥文件下载≥文件上传≥登录≥未知。
应当理解的是,上述说明仅是为了更好的理解本实施例的技术方案而列举的示例,不作为对本实施例的唯一限制。
S102,根据第一业务流对应的第一功能需求和当前的网络资源状态,为第一业务流分配与第一功能需求匹配的第一网络资源;根据第二业务流对应的第二功能需求和网络资源状态,为第二业务流分配与第二功能需求匹配的第二网络资源。
关于为不同功能需求的业务流分配网络资源的细节,可以参见上文针对决策模块确定业务处理策略的部分,此处不再赘述。
S103,在第一业务流的优先级高于第二业务流的优先级时,通过第一网络资源对第一业务流进行调度,并在通过第一网络资源对第一业务流进行调度后,通过第二网络资源对第二业务流进行调度。
S104,在第二业务流的优先级高于第一业务流的优先级时,通过第二网络资源对第二业务流进行调度,并在通过第二网络资源对第二业务流进行调度后,通过第一网络资源对第一业务流进行调度。
相较于现有所有APP的业务流对应的网络资源静态分配,固定不变,并且所有APP的业务流按照时间顺序依次收发的处理方式,本申请实施例提供的业务处理方法,使终端设备在多个业务,例如多个APP对于的业务和/或同一个APP中不同业务场景对应的业务同时进行的场景下,能够根据当前的网络资源、业务场景,以及业务场景对应的功能需求等信息,动态的确定每一个业务的优先级,并为每一个业务合理分配网络资源,从而能够在保证通信需求的同时,更好的优化终端设备整体的资源配置和业务的处理优先级。
此外,可以理解的是,终端设备为了实现上述功能,其包含了执行各个功能相应的硬件和/或软件模块。结合本文中所公开的实施例描述的各示例的算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以结合实施例对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
此外,需要说明的是,在实际的应用场景中由终端设备实现的上述各实施例提供的业务处理方法,也可以由终端设备中包括的一种芯片系统来执行,其中,该芯片系统可以包括处理器。该芯片系统可以与存储器耦合,使得该芯片系统运行时调用该存储器中存储的计算机程序,实现上述终端设备执行的步骤。其中,该芯片系统中的处理器可以是应用处理器也可以是非应用处理器的处理器。
另外,本申请实施例还提供一种计算机可读存储介质,该计算机存储介质中存储有计算机指令,当该计算机指令在终端设备上运行时,使得终端设备执行上述相关方法步骤实现上述实施例中的业务处理方法。
另外,本申请实施例还提供了一种计算机程序产品,当该计算机程序产品在终端设备上运行时,使得终端设备执行上述相关步骤,以实现上述实施例中的业务处理方法。
另外,本申请的实施例还提供一种芯片(也可以是组件或模块),该芯片可包括一个或多个处理电路和一个或多个收发管脚;其中,所述收发管脚和所述处理电路通过内部连接通路互相通信,所述处理电路执行上述相关方法步骤实现上述实施例中的业务处理方法,以控制接收管脚接收信号,以控制发送管脚发送信号。
此外,通过上述描述可知,本申请实施例提供的终端设备、计算机可读存储介质、计算机程序产品或芯片均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (12)
1.一种业务处理方法,其特征在于,应用于终端设备,所述方法包括:
当存在需要处理的第一业务流和第二业务流时,确定所述第一业务流和第二业务流的优先级;
根据所述第一业务流对应的第一功能需求和当前的网络资源状态,为所述第一业务流分配与所述第一功能需求匹配的第一网络资源;
根据所述第二业务流对应的第二功能需求和所述网络资源状态,为所述第二业务流分配与所述第二功能需求匹配的第二网络资源;
在所述第一业务流的优先级高于所述第二业务流的优先级时,通过所述第一网络资源对所述第一业务流进行调度,并在通过所述第一网络资源对所述第一业务流进行调度后,通过所述第二网络资源对所述第二业务流进行调度;
在所述第二业务流的优先级高于所述第一业务流的优先级时,通过所述第二网络资源对所述第二业务流进行调度,并在通过所述第二网络资源对所述第二业务流进行调度后,通过所述第一网络资源对所述第一业务流进行调度;
其中,所述第一业务流和所述第二业务流来自同一个应用程序,所述应用程序接入了网络优化接口,不同的网络优化接口对应了不同的业务场景;
所述确定所述第一业务流和第二业务流的优先级,包括:
确定所述第一业务流对应的第一业务场景和所述第二业务流对应的第二业务场景;
根据所述第一业务场景对应的进程的运行位置和所述第一业务场景的优先级,确定所述第一业务流的优先级,所述第一业务场景对应的进程的运行位置指示所述第一业务场景当前处于前台运行,或者处于后台运行;
根据所述第二业务场景对应的进程的运行位置和所述第二业务场景的优先级,确定所述第二业务流的优先级,所述第二业务场景对应的进程的运行位置指示所述第二业务场景当前处于前台运行,或者处于后台运行。
2.根据权利要求1所述的方法,其特征在于,所述确定所述第一业务流对应的第一业务场景和所述第二业务流对应的第二业务场景,包括:
根据提供所述第一业务流时调用的网络优化接口,确定所述第一业务流对应的第一业务场景;
根据提供所述第二业务流时调用的网络优化接口,确定所述第二业务流对应的第二业务场景。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述第一业务场景位于前台运行,所述第二业务场景位于后台运行,所述第一业务场景的优先级高于所述第二业务场景时,所述第一业务流的优先级高于所述第二业务流的优先级;
在所述第一业务场景位于前台运行,所述第二业务场景位于前台运行,所述第一业务场景的优先级高于所述第二业务场景时,所述第一业务流的优先级高于所述第二业务流的优先级;
在所述第一业务场景位于后台运行,所述第二业务场景位于后台运行,所述第一业务场景的优先级高于所述第二业务场景时,所述第一业务流的优先级高于所述第二业务流的优先级;
在所述第一业务场景位于后台运行,所述第二业务场景位于前台运行,所述第一业务场景的优先级高于所述第二业务场景时,所述第一业务流的优先级高于所述第二业务流的优先级;
否则,所述第二业务流的优先级高于所述第一业务流的优先级。
4.根据权利要求1至3任一项所述的方法,其特征在于,在所述确定所述第一业务流和第二业务流的优先级之前,所述方法还包括:
响应于用户的操作行为,开启网络优化功能。
5.根据权利要求4所述的方法,其特征在于,在所述开启网络优化功能之后,所述方法还包括:
在所述终端设备的显示界面中显示网络优化模式选择入口,所述网络优化模式选择入口包括第一网络优化选择入口、第二网络优化选择入口、第三网络优化选择入口;
在所述第一网络优化选择入口被选中时,在所述第一业务流和所述第二业务流来自不同的应用程序时,执行所述确定所述第一业务流和第二业务流的优先级的步骤;
在所述第二网络优化选择入口被选中时,在所述第一业务流和所述第二业务流来自同一个应用程序时,执行所述确定所述第一业务流和第二业务流的优先级的步骤;
在所述第一网络优化选择入口和所述第二网络优化选择入口均被选中,或者所述第三网络优化选择入被选中时,当存在需要处理的第一业务流和第二业务流时,执行所述确定所述第一业务流和第二业务流的优先级的步骤。
6.根据权利要求5所述的方法,其特征在于,所述第一业务流和所述第二业务流来自不同的应用程序,所述应用程序包括第一应用程序和第二应用程序;
所述在所述第一网络优化选择入口被选中时,在所述第一业务流和所述第二业务流来自不同的应用程序时,执行所述确定所述第一业务流和第二业务流的优先级的步骤,包括:
根据所述第一应用程序的运行位置,确定所述第一应用程序的第一优先级,所述第一应用程序的运行位置指示所述第一应用程序当前处于前台运行,或者处于后台运行;
根据所述第二应用程序的运行位置,确定所述第二应用程序的第二优先级,所述第二应用程序的运行位置指示所述第一应用程序当前处于前台运行,或者处于后台运行;
在所述第一业务流来自所述第一应用程序,所述第二业务流来自所述第二应用程序时,确定所述第一业务流的优先级为所述第一优先级,所述第二业务流的优先级为所述第二优先级;
在所述第一业务流来自所述第二应用程序,所述第二业务流来自所述第一应用程序时,确定所述第一业务流的优先级为所述第二优先级,所述第二业务流的优先级为所述第一优先级。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
在所述第一应用程序位于前台运行,所述第二应用程序位于后台运行时,所述第一优先级高于所述第二优先级;
在所述第一应用程序位于后台运行,所述第二应用程序位于前台运行时,所述第二优先级高于所述第一优先级。
8.根据权利要求4所述的方法,其特征在于,在所述开启网络优化功能之后,所述方法还包括:
响应于用户的操作行为,开启多网协同功能。
9.根据权利要求8所述的方法,其特征在于,在所述开启多网协同功能之后,所述方法还包括:
确定当前的网络资源包括第一网络和第二网络,所述第一网络的网络质量优于所述第二网络的网络质量;
在所述第一业务流的优先级高于所述第二业务流的优先级时,从所述第一网络中为所述第一业务流分配的与所述第一功能需求匹配的第一网络资源,从所述第二网络中为所述第二业务流分配的与所述第二功能需求匹配的第二网络资源;
并发执行所述通过所述第一网络资源对所述第一业务流进行调度,通过所述第二网络资源对所述第二业务流进行调度的步骤。
10.根据权利要求9所述的方法,其特征在于,所述方法还包括:
在所述第二业务流的优先级高于所述第一业务流的优先级时,从所述第二网络中为所述第一业务流分配的与所述第一功能需求匹配的第一网络资源,从所述第一网络中为所述第二业务流分配的与所述第二功能需求匹配的第二网络资源;
并发执行所述通过所述第一网络资源对所述第一业务流进行调度,通过所述第二网络资源对所述第二业务流进行调度的步骤。
11.一种终端设备,其特征在于,所述终端设备包括:存储器和处理器,所述存储器和所述处理器耦合;所述存储器存储有程序指令,所述程序指令由所述处理器执行时,使得所述终端设备执行如权利要求1至10任意一项所述的业务处理方法。
12.一种计算机可读存储介质,其特征在于,包括计算机程序,当所述计算机程序在终端设备上运行时,使得所述终端设备执行如权利要求1至10任意一项所述的业务处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211444057.1A CN116709557B (zh) | 2022-11-18 | 2022-11-18 | 业务处理方法、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211444057.1A CN116709557B (zh) | 2022-11-18 | 2022-11-18 | 业务处理方法、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116709557A CN116709557A (zh) | 2023-09-05 |
CN116709557B true CN116709557B (zh) | 2024-03-15 |
Family
ID=87836260
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211444057.1A Active CN116709557B (zh) | 2022-11-18 | 2022-11-18 | 业务处理方法、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116709557B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102791032A (zh) * | 2012-08-14 | 2012-11-21 | 华为终端有限公司 | 网络带宽分配方法及终端 |
CN103004134A (zh) * | 2011-06-28 | 2013-03-27 | 华为技术有限公司 | 控制上行应用层业务的方法、用户设备及基站 |
CN103841052A (zh) * | 2012-11-27 | 2014-06-04 | 中国科学院声学研究所 | 一种带宽资源分配系统与方法 |
CN109828839A (zh) * | 2018-12-19 | 2019-05-31 | 努比亚技术有限公司 | 终端及其资源分配控制方法、及计算机可读存储介质 |
CN110677456A (zh) * | 2019-08-26 | 2020-01-10 | 华为技术有限公司 | 一种资源配置的方法及设备 |
CN114661440A (zh) * | 2022-03-25 | 2022-06-24 | Oppo广东移动通信有限公司 | 应用程序调度方法及装置、用户设备、存储介质 |
CN115119324A (zh) * | 2021-03-19 | 2022-09-27 | 华为技术有限公司 | 一种资源调度方法和装置 |
CN115150690A (zh) * | 2022-09-06 | 2022-10-04 | 武汉长光科技有限公司 | 分层服务质量分配方法、光线路终端和存储介质 |
-
2022
- 2022-11-18 CN CN202211444057.1A patent/CN116709557B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103004134A (zh) * | 2011-06-28 | 2013-03-27 | 华为技术有限公司 | 控制上行应用层业务的方法、用户设备及基站 |
CN102791032A (zh) * | 2012-08-14 | 2012-11-21 | 华为终端有限公司 | 网络带宽分配方法及终端 |
CN103841052A (zh) * | 2012-11-27 | 2014-06-04 | 中国科学院声学研究所 | 一种带宽资源分配系统与方法 |
CN109828839A (zh) * | 2018-12-19 | 2019-05-31 | 努比亚技术有限公司 | 终端及其资源分配控制方法、及计算机可读存储介质 |
CN110677456A (zh) * | 2019-08-26 | 2020-01-10 | 华为技术有限公司 | 一种资源配置的方法及设备 |
CN115119324A (zh) * | 2021-03-19 | 2022-09-27 | 华为技术有限公司 | 一种资源调度方法和装置 |
CN114661440A (zh) * | 2022-03-25 | 2022-06-24 | Oppo广东移动通信有限公司 | 应用程序调度方法及装置、用户设备、存储介质 |
CN115150690A (zh) * | 2022-09-06 | 2022-10-04 | 武汉长光科技有限公司 | 分层服务质量分配方法、光线路终端和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116709557A (zh) | 2023-09-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP4044609A1 (en) | Cross-device content projection method and electronic device | |
CN112291764B (zh) | 一种内容接续系统 | |
US12019942B2 (en) | Multi-screen collaboration method and system, and electronic device | |
CN112527476B (zh) | 资源调度方法及电子设备 | |
US12032799B2 (en) | Card sharing method, electronic device, and communications system | |
CN116360725B (zh) | 显示交互系统、显示方法及设备 | |
US20240086231A1 (en) | Task migration system and method | |
CN112527174B (zh) | 一种信息处理方法及电子设备 | |
US20230403458A1 (en) | Camera Invocation Method and System, and Electronic Device | |
CN114625525A (zh) | 一种资源管控方法及设备 | |
WO2023005711A1 (zh) | 一种服务的推荐方法及电子设备 | |
WO2022268009A1 (zh) | 一种屏幕共享的方法及相关设备 | |
CN113835802A (zh) | 设备交互方法、系统、设备及计算机可读存储介质 | |
CN116301541A (zh) | 共享文件的方法、电子设备及计算机可读存储介质 | |
CN116709557B (zh) | 业务处理方法、设备及存储介质 | |
WO2022222715A1 (zh) | 一种车载电子设备的控制方法及车载电子设备 | |
WO2023273460A1 (zh) | 一种投屏显示方法及电子设备 | |
WO2022052706A1 (zh) | 一种服务的分享方法、系统及电子设备 | |
CN116263683A (zh) | 应用界面跨设备显示方法、设备系统 | |
WO2024046173A1 (zh) | 天线复用方法及相关装置 | |
WO2024022307A1 (zh) | 一种投屏方法及电子设备 | |
CN117729561B (zh) | 系统升级方法、终端及存储介质 | |
WO2024179161A1 (zh) | 分屏方法、装置、电子设备和计算机可读存储介质 | |
WO2023134525A1 (zh) | 一种外观设置方法和电子设备 | |
WO2024159925A1 (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |