CN118057800A - 端云服务调度方法、装置、存储介质以及终端 - Google Patents
端云服务调度方法、装置、存储介质以及终端 Download PDFInfo
- Publication number
- CN118057800A CN118057800A CN202211455508.1A CN202211455508A CN118057800A CN 118057800 A CN118057800 A CN 118057800A CN 202211455508 A CN202211455508 A CN 202211455508A CN 118057800 A CN118057800 A CN 118057800A
- Authority
- CN
- China
- Prior art keywords
- cloud
- service
- equipment
- target
- service instance
- 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
- 238000000034 method Methods 0.000 title claims abstract description 59
- 238000004590 computer program Methods 0.000 claims description 6
- 230000004044 response Effects 0.000 abstract description 2
- 238000004891 communication Methods 0.000 description 20
- 230000006870 function Effects 0.000 description 20
- 238000007726 management method Methods 0.000 description 18
- 238000010586 diagram Methods 0.000 description 16
- 230000008569 process Effects 0.000 description 16
- 238000011161 development Methods 0.000 description 14
- 238000012545 processing Methods 0.000 description 14
- 230000003993 interaction Effects 0.000 description 13
- 238000004364 calculation method Methods 0.000 description 12
- 238000005516 engineering process Methods 0.000 description 7
- 238000009877 rendering Methods 0.000 description 4
- 238000012549 training Methods 0.000 description 4
- 230000002776 aggregation Effects 0.000 description 3
- 238000004220 aggregation Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000000705 flame atomic absorption spectrometry Methods 0.000 description 3
- 230000004927 fusion Effects 0.000 description 3
- 230000005856 abnormality Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- RWSOTUBLDIXVET-UHFFFAOYSA-N Dihydrogen sulfide Chemical compound S RWSOTUBLDIXVET-UHFFFAOYSA-N 0.000 description 1
- 244000035744 Hura crepitans Species 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000009960 carding Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000003999 initiator Substances 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000003032 molecular docking Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Landscapes
- Computer And Data Communications (AREA)
Abstract
本申请公开了一种端云服务调度方法、装置、存储介质以及终端,响应于服务实例的运行请求,基于服务实例的实例信息确定运行请求对应的设备条件;确定满足设备条件的目标设备,目标设备为端侧设备或云侧设备;在目标设备中运行服务实例。由于端侧设备和云侧设备都存在不同的性能特点,而根据服务实例的实例信息确定对应的设备条件代表了设备运行服务实例时需要具备的性能条件,那么基于设备条件确定出的目标设备,可以基于自身环境、性能等特点满足服务实例的运行需求,也就说明基于服务实例需求可以灵活调度端侧和云侧的计算能力、空间等资源,充分利用各类设备的性能优势,保证了用户的服务使用体验。
Description
技术领域
本申请涉及计算机端云计算技术领域,尤其涉及一种端云服务调度方法、装置、存储介质以及终端。
背景技术
随着云计算技术的发展与成熟,端侧和云侧之间也由简单的信息交互逐步走向了计算资源的融合。端侧具备交互便利、低延迟、隐私安全等特性,但是计算资源有限,云侧具备海量计算资源,但是依赖网络环境、延迟大、且交互性差,因此基于端侧和云侧各自的优势,灵活实现端云之间的动态融合,有利于进一步提升端云的服务效率。
发明内容
本申请提供一种端云服务调度方法、装置、存储介质以及终端,可以解决相关技术中端云算力无法协调、端云协同开发困难的技术问题。
第一方面,本申请实施例提供一种端云服务调度方法,该方法包括:
响应于服务实例的运行请求,基于所述服务实例的实例信息确定所述运行请求对应的设备条件;
确定满足所述设备条件的目标设备,所述目标设备为端侧设备或云侧设备;
在所述目标设备中运行所述服务实例。
第二方面,本申请实施例提供一种端云服务调度装置,该装置包括:
服务确定模块,用于响应于服务实例的运行请求,基于所述服务实例的实例信息确定所述运行请求对应的设备条件;
设备决策模块,用于确定满足设备条件的目标设备,目标设备为端侧设备或云侧设备;
实例运行模块,用于在目标设备中运行服务实例。
第三方面,本申请实施例提供一种计算机存储介质,计算机存储介质存储有多条指令,指令适于由处理器加载并执行上述的方法的步骤。
第四方面,本申请实施例提供一种终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,计算机程序适于由处理器加载并执行上述的方法的步骤。
本申请一些实施例提供的技术方案带来的有益效果至少包括:
本申请提供一种端云服务调度方法,响应于服务实例的运行请求,基于服务实例的实例信息确定运行请求对应的设备条件;确定满足设备条件的目标设备,目标设备为端侧设备或云侧设备;在目标设备中运行服务实例。由于端侧设备和云侧设备都存在不同的性能特点,而根据服务实例的实例信息确定对应的设备条件代表了设备运行服务实例时需要具备的性能条件,那么基于设备条件确定出的目标设备,可以基于自身环境、性能等特点满足服务实例的运行需求,也就说明基于服务实例需求可以灵活调度端侧和云侧的计算能力、空间等资源,充分利用各类设备的性能优势,保证了用户的服务使用体验。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种端云服务调度方法的示例性系统架构图;
图2为本申请实施例提供的一种端云服务调度方法的流程示意图;
图3为本申请实施例提供的一种环境感知引擎的框架示意图;
图4为本申请实施例提供的一种端云服务调度方法的流程示意图;
图5为本申请实施例提供的一种选择服务实例的运行设备的逻辑示意图;
图6为本申请实施例提供的一种端云设备的服务实例归集示意图;
图7为本申请实施例提供的一种目标云侧设备的调度流程示意图;
图8为本申请实施例提供的一种端云服务调度的整体架构示意图;
图9为本申请实施例提供的一种端云服务调度装置的结构框图;
图10为本申请实施例提供的一种终端的结构示意图。
具体实施方式
为使得本申请的特征和优点能够更加的明显和易懂,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而非全部实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
随着互联网科技的发展,云计算技术经过多年的发展和沉淀已经相对成熟。端和云之间也逐渐在交互的基础上进行计算资源的深度融合。端侧具备交互快捷,低延迟,隐私安全等特性,但通常计算资源有限,而云侧具备海量计算资源,但是依赖网络环境,延迟大,且交互性差。因此通过端云之间的计算融合,使得端侧和云侧之间形成互补,进而可以同时依靠端侧和云侧的性能优势,协同完成任务。
面对人工智能的发展普及,基于人工智能的深度学习网络模型也逐渐应用于人们生活的方方面面,复杂的模型训练时需要大量样本数据以及大量计算资源,而一方面端侧设备算力不足,无法完成高精度的模型训练,影响模型的识别结果,另一方面涉及到用户隐私数据安全,相关用户数据无法直接上云,无法直接利用云侧的算力模型训练。基于此,目前主要是在端侧负责本地数据的模型训练,并加密梯度上传到云端,云端聚合各端侧的梯度更新模型参数,并将更新后的模型再返回给端侧,最终实现端云协同建模。另一种端云协同方式,则是云端直接预先训练相关模型,并通过功能服务化(Function as a Service,FAAS)将模型开放给使用方,使用方直接实时将待处理数据传入模型并接收模型的处理结果。除此之外,随着云计算技术的发展,在云上虚拟一台手机实例,通过远程控制,实现手机终端的云端运行,也是一种端云协同的方式,旨在通过云端的无限资源,弥补物理手机的资源不足,云手机的应用中云侧与端侧主要的交互内容为简单的交互指令,而端云之间不涉及大量服务内容的协同处理。
由于在已有的端云协同方案中,主要都是使用端侧的交互性能以及云侧的计算性能,其中端侧设备和云侧设备的功能分工明显,例如端侧负责与云侧交互,获取数据和信息;云侧负责处理端侧数据或者对服务进行执行计算等。这进一步导致,在端云协同的过程中端云间对于算力的要求,都已经按照功能明确下来,无法动态调度,比如对于FAAS平台,即使端侧有充分的资源,满足计算要求,也需要调用云侧服务能力;对于云手机,所有的算力都依赖云侧,端侧仅作为用户的交互端。也就说明,端侧和云侧之间无法根据实际情况进行适应性的计算分工,导致处理任务的流程比较死板,容易受到很多固定限制的,并且算力调度不灵活,不能按照实际情况适应性分配计算资源,可能造成一侧计算压力过重,一侧计算资源溢出。
因此本申请实施例提供一种端云服务调度方法,响应于服务实例的运行请求,基于服务实例的实例信息确定运行请求对应的设备条件;确定满足设备条件的目标设备,目标设备为端侧设备或云侧设备;在目标设备中运行服务实例,以解决上述端云算力无法协调、端云协同开发困难的技术问题。
请参阅图1,图1为本申请实施例提供的一种端云服务调度方法的示例性系统架构图。
如图1所示,系统架构可以包括端侧设备101、网络102和云侧设备103。网络102用于在端侧设备101和云侧设备103之间提供通信链路的介质。网络102可以包括各种类型的有线通信链路或无线通信链路,例如:有线通信链路包括光纤、双绞线或同轴电缆的,无线通信链路包括蓝牙通信链路、无线保真(Wireless-Fidelity,Wi-Fi)通信链路或微波通信链路等。
端侧设备101可以通过网络102与云侧设备103交互,以接收来自云侧设备103的消息或向云侧设备103发送消息,或者端侧设备101可以通过网络102与云侧设备103交互,进而接收其他用户向云侧设备103发送的消息或者数据。端侧设备101可以是硬件,也可以是软件。当端侧设备101为硬件时,可以是各种电子设备,包括但不限于智能手表、智能手机、平板电脑、膝上型便携式计算机和台式计算机等。当端侧设备101为软件时,可以是安装在上述所列举的电子设备中,其可以实现呈多个软件或软件模块(例如:用来提供分布式服务),也可以实现成单个软件或软件模块,在此不作具体限定。
云侧设备103可以是提供各种服务的业务服务器。需要说明的是,云侧设备103可以是硬件,也可以是软件。当云侧设备103为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当云侧设备103为软件时,可以实现成多个软件或软件模块(例如用来提供分布式服务),也可以实现成单个软件或软件模块,在此不做具体限定。
在本申请实施例中,端侧设备101响应于服务实例的运行请求,基于服务实例的实例信息确定运行请求对应的设备条件;确定满足设备条件的目标设备,目标设备为端侧设备或云侧设备;当目标设备为端侧设备101时,在端侧设备101中运行服务实例;当目标设备为云侧设备103时,在云侧设备103中运行服务实例。
应理解,图1中的端侧设备、网络以及云侧设备的数目仅是示意性的,根据实现需要,可以是任意数量的端侧设备、网络以及云侧设备。
请参阅图2,图2为本申请实施例提供的一种端云服务调度方法的流程示意图。本申请实施例的执行主体可以是执行端云服务调度的终端,也可以是执行端云服务调度方法的终端中的处理器,还可以是执行端云服务调度方法的终端中的端云服务调度服务。为方便描述,下面以执行主体是终端中的处理器为例,介绍端云服务调度方法的具体执行过程。
如图2所示,端云服务调度方法至少可以包括:
S202、响应于服务实例的运行请求,基于服务实例的实例信息确定运行请求对应的设备条件。
可选地,随着大量业务的互联网化,用户可以直接通过手机、电脑等端侧设备中的各类应用程序进行娱乐活动、办理业务等,各应用程序提供的服务以及服务实例根据场景、目标、需求等不同的因素会需要不同资源,例如硬件资源、数据资源、计算资源等,简单将端侧和云侧划分为交互功能或计算功能时,会导致部分能够在端侧运行的服务实例无法充分利用端侧设备的算力,云侧由于负责所有的服务实例运行而负担较大,这样处理服务实例,可能会使得处理时间的延迟长、效率低,也会影响用户的使用体验。
可选地,通常端侧设备中有更方便的交互方式、数据调用路径等,云侧设备具备更强的计算能力,也就说明对各类服务来说,一部分服务适合在端侧设备中运行服务实例,一部分服务适合在云侧设备中运行服务实例,那么此时根据各服务实例的具体情况,判断运行服务实例需要满足的设备条件,根据设备条件来筛选最适合运行服务实例的设备,可以根据用户的场景和设备的状态,决策出合适的设备,包括端侧设备和云侧设备,充分利用端云的计算资源,又保证了用户的最佳体验。
进一步地,当用户通过端侧设备发出服务实例的运行请求时,首先在端侧设备中响应服务实例的运行请求,并根据服务实例的实例信息,确定运行请求对应的设备条件,便于后续根据设备条件侧决策合适的运行设备。
S204、确定满足设备条件的目标设备,目标设备为端侧设备或云侧设备。
可选地,确定运行服务实例需要的设备条件之后,在端侧设备与云侧设备联网的情况下,综合端侧设备和云侧设备的设备状态,从所有可用设备中选择满足设备条件的目标设备,其中,目标设备可以为端侧设备或云侧设备,为了方便设备管理,可以为用户创建用户账号,将用户的可用设备与用户账号进行绑定对应,端侧设备可以是用户账号下包括的手机终端、电脑终端、电子手表终端等,云侧设备可以是用户账号对应的可用云侧设备配额。例如,某个服务实例需要使用摄像头,那么运行该服务实例的设备必须具备摄像头条件,此时云侧设备不具备摄像头,而端侧设备装置有摄像头,此时就将按照设备条件选择端侧设备来运行服务实例。
S206、在目标设备中运行服务实例。
可选地,确定出目标设备之后,在目标设备中运行服务实例,以响应运行请求对应的用户需求。在目前常见的端云协同方案中,端云之间的功能分工几乎都是固定式的,其原因在于通常端侧设备和云侧设备的底层架构不同,同样的服务,在端侧设备和云侧设备中运行时使用的服务实例不相同,那么开发者在开发过程中,如果希望某一服务在端云都能运行服务实例,需要考虑端云的系统差异,部署不同的组件并独立维护,实现难度大,增加了开发成本,因此通常在开发时只选择一个运行设备来开发相应内容。
在本申请实施例中,根据服务实例的运行需求来确定适合的运行设备,也即服务实例可能在端侧设备中运行也可能在云侧设备中运行,为了减少开发成本,需要使得端侧设备和云侧设备能够运行相同服务的服务实例,而不需要独立开发两套服务实例。基于此,可以在端侧设备和云侧设备中部署能过感知并自动屏蔽不同底层环境差异的引擎框架,其中,端侧设备和云侧设备的底层环境中部署有相同的环境感知引擎,环境感知引擎为支持相同服务实例在不同设备底层环境中运行的引擎框架。
在一种优选的实施例中,请参阅图3,图3为本申请实施例提供的一种环境感知引擎的框架示意图,如图3所示,环境感知引擎可以基于泛在系统进行虚化,以泛在服务为载体的引擎框架,泛在服务基于WebAssembly架构的沙箱隔离环境实现,提供一系列插件,面向上层服务提供统一的编程接口,面向底层实现与异构操作系统的对接,使得当端侧设备和云侧设备同时部署相同的泛在服务运行时,能够使得云侧服务实例的开发与端侧同构,屏蔽了端云系统间的底层架构差异,开发者可以仅关注业务逻辑,实现一套代码,提升了开发效率,节约了开发成本,也使得端侧与云侧能够基于自身环境、性能等特点满足服务实例的运行需求,实现灵活的算力调度。
在本申请实施例中,提供一种端云服务调度方法,响应于服务实例的运行请求,基于服务实例的实例信息确定运行请求对应的设备条件;确定满足设备条件的目标设备,目标设备为端侧设备或云侧设备;在目标设备中运行服务实例。由于端侧设备和云侧设备都存在不同的性能特点,而根据服务实例的实例信息确定对应的设备条件代表了设备运行服务实例时需要具备的性能条件,那么基于设备条件确定出的目标设备,可以基于自身环境、性能等特点满足服务实例的运行需求,也就说明基于服务实例需求可以灵活调度端侧和云侧的计算能力、空间等资源,充分利用各类设备的性能优势,保证了用户的服务使用体验。
请参阅图4,图4为本申请实施例提供的一种端云服务调度方法的流程示意图。
如图4所示,端云服务调度方法至少可以包括:
S402、响应于服务实例的运行请求,基于服务实例的实例信息确定运行请求对应的设备条件。
关于步骤S402,请参阅步骤S202中的详细记载,此处不再赘述。
S404、确定满足预选设备条件的预选设备,预选设备条件为满足服务实例的运行条件的必要设备条件。
可选地,从上述实施例的介绍可以知道,根据各服务实例的具体情况,判断运行服务实例需要满足的设备条件,根据设备条件来筛选最适合运行服务实例的设备,可以根据用户的场景和设备的状态,决策出合适的设备,包括端侧设备和云侧设备,充分利用端云的计算资源。而当运行确定运行服务实例的设备时,根据设备中泛在服务运行引擎所申请的权限资源,一些资源是服务实例运行的必要条件,如摄像头,麦克等硬件资源,处理器(cpu)、内存(memory)、磁盘占比(Storage)、网络计算环境(NetWork)等计算资源,以及常驻进程等,首先需要考虑到运行服务实例的必要条件,筛选出满足必要设备条件的设备,包括云侧设备。
进一步地,为方便描述,请参阅图5,图5为本申请实施例提供的一种选择服务实例的运行设备的逻辑示意图。如图5所示,在选择开始确定设备时,可以先将满足服务实例的运行条件的必要设备条件作为预选设备条件,并首先在预选阶段中,确定满足预选设备条件的预选设备。例如某个服务实例的运行需要启动摄像头,那么就需要匹配有摄像头的设备,此时端侧设备符合条件而云侧设备不符合条件;再如某个服务需要申请常驻进程,但是端侧设备从功耗,安全等方面,无法满足,此时云侧设备是合适的。
S406、当预选设备的数量为一个时,确定预选设备为目标设备。
可选地,预选阶段结束之后,可以进一步从预选设备中确定目标设备。具体地,请参阅图5,通过预选阶段后,可以首先判断是否存在预选设备,若不存在预选设备,进而设备选择失败;若存在预选设备,则确定预选设备的数量,根据预选设备的数量进行下一轮决策,也即当发现了一个或者一组符合条件的预选设备的设备列表,如果是一个设备,则直接决策成功,确定该预选设备为目标设备。
S408、当预选设备的数量为多个时,确定满足优选设备条件的预选设备为目标设备,优选设备条件包括亲和条件、反亲和条件、计算资源条件中的至少一种。
可选地,请继续参阅图5,当预选设备的数量为多个时,则可以进入优选阶段,具体地,根据根据用户的使用场景,设备运行状态等因子,确定出优选设备条件,确定满足优选设备条件的预选设备为目标设备,若不存在目标设备则决策失败。其中,优选设备条件可以包括亲和条件、反亲和条件、计算资源条件中的至少一种。
可选地,亲和条件为评估设备对当前服务实例的亲和性的条件因子,也即评估设备对服务实例的适用性,若设备满足亲和性条件则说明适合运行服务实例,例如主设备优先的因子,代表优先在主设备(服务调用发起方设备)上执行,一般对于服务的延迟要求高的场景;已运行过该服务设备优先的因子,代表一段时间运行过该服务的设备优先,一般对于运行稳定性要求高的场景;已安装过服务包设备优先的因子,代表已安装过该服务包的设备优先,无需下载,一般对于服务包较大,下载时间过长的场景;相对应的,反亲和条件为评估设备对当前服务实例的反亲和性的条件因子,也即评估设备对服务实例的不适用性,若设备满足反亲和性条件则说明不适合运行服务实例,例如独占资源冲突的因子,代表所需要的资源已经被其他服务在占用,比如摄像头,避免在此设备上使用;服务实例冲突的因子,代表某个设备上有待调度服务的实例正在运行,由于服务实例都要上下文,为了避免冲突和覆盖,避免选择该设备。
可选地,筛选过程中,将满足服务实例的亲和性条件和非亲和性条件的设备作为可选设备,当可选设备只有一个,则直接确定为目标设备;当存在多个可选设备,则可以进一步计算各可选设备的计算资源打分,按照0-10分进行评估,分数越高表示优先级别越高,对设备的CPU、内存、网速等资源进行量化,根据计算资源分数对设备进行排名,确定得分最高的设备为目标设备。需要注意的是,考虑到优选的效率,可以将亲和性/反亲和性和资源打分串性执行,也即计算资源打分是非必须的选项,减少不必要的决策过程。设置优选设备条件时,可以根据服务实例的具体情况,制定出对服务实例的运行最有益的优选设备条件,再根据优选设备条件,从预选设备中确定目标设备。
S4010、当目标设备为云侧设备时,根据服务实例对应的服务类型,在云侧设备中确定服务类型对应的目标云侧设备,在目标云侧设备中运行服务实例。
可选地,当决策出目标设备为端侧设备时,直接在端侧设备运行服务实例,在端侧设备中运行实例时,数据获取、资源划分等流程都可以按照端侧设备中常规的处理步骤运行,此处不再赘述。当决策出目标设备为云侧设备时,云侧设备包括部署在云端的多个设备实例,每个云侧设备实例对应一个pod节点,基于云侧操作系统,加载泛在服务运行时镜像并启动进程,正如前述实施例介绍,泛在服务运行时的引擎框架能够屏蔽操作系统间的差异,提供与端侧设备一致的服务运行环境。
进一步地,请参阅6,图6为本申请实施例提供的一种端云设备的服务实例归集示意图。如图6所示,每个端侧设备归属于一个用户,其运行的服务实例也归属于一个用户账号,而云侧设备的计算资源是多用户共享,其服务实例可以归属不同的用户账号,因此考虑到云测设备的利用效率,可以在云侧设备中按照服务的类型归集,这样可以提高资源利用率,有服务运行的实例时,才会分配实例资源,不需要按照用户的配额进行预留,在一个设备实例中运行的是同类型的服务,使得云侧设备实例的资源规格规整,可以利用实例节点来进行资源的划分;并且,实例的数量少,由于服务类型数量较少,远远低于用户数量,相对于按用户归集,梳理的数量大大减少;同时服务实例的启动速度快,一个设备实例中运行的是同类型服务,其服务包可以共用,同样的服务实例多次运行时无需重复下载。
基于此,当目标设备为云侧设备时,根据服务实例对应的服务类型,在云侧设备中确定服务类型对应的目标云侧设备,在目标云侧设备中运行服务实例。由于目标云侧设备是按照服务实例的类型进行归集管理,那么为了提高进一步云侧设备中服务实例的可用性,故增加了服务实例管理模块,负责服务实例的管理,包括服务实例信息持久化,以及服务实例高可用。其中,关于服务实例信息持久化,当一个服务调度到云设备实例,并启动成功成为服务实例,服务实例管理模块则记录相关信息,包括服务实例与用户之间的关系,服务实例元信息,以及服务运行过程中的状态信息等,当服务实例注销时,清除相关的信息;关于服务实例高可用,端侧的服务实例是不可靠的,当资源不足时,会按照相关的规则进行删除,而在云侧设备中,当服务实例由于异常原因中断运行,服务管理模块根据持有的服务实例信息,进行恢复,并对于调用方不感知,提升了用户使用体验。
可选地,当服务调度到云侧,云侧服务运行管理负责检索一个合适的云设备实例,提供给服务运行。其包括云设备管理,用户配额管理,以及云设备实例调度三个子模块。其中云设备是用户维度的概念,可以理解为用户字云上有一组资源,可以执行泛在服务的虚拟设备,同时,为了与端侧物理设备模型的统一性,也需要表现为与物理设备一致的行为,例如,常见的用户操作与云侧设备的对应关系为:用户操作“开通云侧设备服务”,对应云侧设备的功能“云侧设备注册(首次)、上线、用户设备绑定”;用户操作“关闭云侧设备服务”,对应云侧设备的功能“云侧设备下线”;用户操作“用户注销”,对应云侧设备的功能“云侧设备注销”;用户操作“用户资源查询”,对应云侧设备的功能“查询云侧设备的资源属性信息”;用户操作“用户购买配额”,对应云侧设备的功能“云侧设备属性变更”。用户选择开通云侧设备后,默认云侧设备为7*24在线,除非用户手动关闭云设备服务,为了云侧设备的正常使用,云测设备必须与端侧设备之间联网,因此云侧设备在线是服务能调度到云侧的必要条件。
可选地,云上资源是海量的,但是每个用户的云侧设备资源是有限的,每个用户初始化时,会默认分配定额资源,当用户需要更多的资源时,则可以对用户提供购买功能,使得用户通过购买途径升级云侧设备,体验更多功能以及资源。同时,在服务实例启动和注销时,需要实时统计该用户的云侧设备资源使用情况,在服务调度时进行实时判断,避免资源配额出错,影响云侧设备中的整体资源。
进一步地,当目标设备为云侧设备时,服务调度到云侧设备后需要具体的云测设备实例,也即目标云测设备来启动服务实例,此时就可以根据用户的云侧设备信息作具体判断,来对用户提供云侧设备。为方便描述,请参阅图7,图7为本申请实施例提供的一种目标云侧设备的调度流程示意图。如图7所示,在云侧进行服务调度时,首先可以基于运行请求对应的用户账号,判断用户账号对应的云侧设备中是否存在运行过服务实例的历史云侧设备,如果有,则直接返回该目标云侧设备,在目标云侧设备中运行该服务实例;如果没有则说明需要新的云侧设备资源来启动服务实例,此时就可以基于用户账号对应的用户资源配额,在云侧设备中确定服务类型对应的目标云侧设备;进一步确定用户账号对应的用户资源配额是否满足服务实例的运行需求,若满足则用户可以获得运行服务实例的云侧资源,若不满足则返回用户资源配额不足,调度失败;确定用户资源配额足够之后,判断服务类型对应的运行中云侧设备的剩余运行资源是否满足服务实例的运行需求,若满足则将运行中云侧设备确定为目标云侧设备,若不满足则初始化新的云侧设备,并确定为目标云侧设备,以及进行预安装相关镜像和状态检查。为了提升效率,具体可以采用热备池技术进行预热部分实例。
可选地,当服务调度到云侧设备并正常启动后,端云间的服务实例之间通过通讯,进行信息交互和任务协同。例如端侧运行视频渲染服务,云侧运行视频解码服务,其中渲染服务实例发送相关交互操作到解码服务,解码服务实例将视频的流数据发送到渲染服务显示。端侧设备与服务设备之间存在服务网关,并基于服务网关进行通讯,服务网关的注册过程包含服务实例认证鉴权以及路由。服务实例认证鉴权,端侧服务实例与云侧服务实例之间进行通信,需要经过认证鉴权,包括数据签名、设备鉴权和用户鉴权,确定设备、用户、服务的合法和对应关系,确保通讯的合法性;服务实例路由,当云侧的服务实例启动后,通过服务实例管理,注册到服务网关。当端云间服务实例通讯时,由服务网关根据目标服务实例,路由到对应的目标云侧设备,完成信息交互。
那么基于端云之间的网关通讯,云侧设备可以执行托管类任务,例如端侧按照一个具备定时提醒的应用或者服务,启动并设置设置提醒时间,此时通过网关同步到云侧,而端侧由于异常等原因强制杀死该进程,或者卸载应用或者服务,提醒时间到期后云侧设备依然可以协同处理本次提醒,通过预设方式提醒用户。同时,云侧可以运行大算力服务,当端侧设备安装一个依赖大算力的应用或者服务(没有调用FAAS接口),然后断网并启动,端侧设备运行效率慢,耗时长,而若是与云侧设备联网后,端侧设备关闭并再次启动运行原服务实例的效率能够显著提升,缩短耗时。
在本申请实施例中,提供一种端云服务调度方法,根据用户的场景和设备的状态,通过预选和优选两个阶段,决策出合适的设备,包括端侧设备和云侧设备;端云的泛在服务运行时,向上保持开发接口统一,向下屏蔽系统差异,实现了一次开发,端云运行;云侧服务运行管理,用户通过开通和关闭云设备服务,实现对云侧设备的自定义管理;服务实例管理,实现对服务实例的生命周期管理,通过对服务实例的监控和恢复,提升了服务的可靠性;在端云的服务调度过程中,充分考虑各类设备的性能优势,决策优选的设备运行服务实例,对用户的云资源进行规范管理,保证了用户的服务使用体验。
请参阅图8,图8为本申请实施例提供的一种端云服务调度的整体架构示意图。如图8所示,当用户需要运行服务时,首先通过端云服务决策模块,决策出适合的端侧设备和/或云侧设备;当决策出目标设备为端侧设备时,基于端侧设备中的泛在服务运行时引擎框架,运行服务实例;当决策出目标设备为云侧设备时,首先基于云侧设备的管理模块,基于云侧设备管理、用户配额管理等规范,确定出目标云侧设备资源,基于目标云侧设备中的泛在服务运行时引擎框架,运行服务实例;同时,目标云侧设备与端侧设备的服务实例保持网关通信,便于信息交互。
请参阅图9,图9为本申请实施例提供的一种端云服务调度装置的结构框图。如图9所示,端云服务调度装置900包括:
服务确定模块910,用于响应于服务实例的运行请求,基于服务实例的实例信息确定运行请求对应的设备条件;
设备决策模块920,用于确定满足设备条件的目标设备,目标设备为端侧设备或云侧设备;
实例运行模块930,用于在目标设备中运行服务实例。
可选地,设备决策模块920,还用于确定满足预选设备条件的预选设备,预选设备条件为满足服务实例的运行条件的必要设备条件;从预选设备中确定目标设备。
可选地,设备决策模块920,还用于当预选设备的数量为一个时,确定预选设备为目标设备;当预选设备的数量为多个时,确定满足优选设备条件的预选设备为目标设备,优选设备条件包括亲和条件、反亲和条件、计算资源条件中的至少一种。
可选地,实例运行模块930,还用于根据服务实例对应的服务类型,在云侧设备中确定服务类型对应的目标云侧设备,在目标云侧设备中运行服务实例。
可选地,实例运行模块930,还用于基于运行请求对应的用户账号,判断用户账号对应的云侧设备中是否存在运行过服务实例的历史云侧设备;若存在,则确定历史云侧设备为目标云侧设备;若不存在,则基于用户账号对应的用户资源配额,在云侧设备中确定服务类型对应的目标云侧设备。
可选地,实例运行模块930,还用于确定用户账号对应的用户资源配额满足服务实例的运行需求,以及判断服务类型对应的运行中云侧设备的剩余运行资源是否满足服务实例的运行需求;若满足,则将运行中云侧设备确定为目标云侧设备;若不满足,则初始化新的云侧设备并确定为目标云侧设备。
可选地,端侧设备和云侧设备的底层环境中部署有相同的环境感知引擎,其中,环境感知引擎为支持相同服务实例在不同设备底层环境中运行的引擎框架。
在本申请实施例中,提供一种端云服务调度装置,其中,服务确定模块,用于响应于服务实例的运行请求,基于服务实例的实例信息确定运行请求对应的设备条件;设备决策模块,用于确定满足设备条件的目标设备,目标设备为端侧设备或云侧设备;实例运行模块,用于在目标设备中运行服务实例。由于端侧设备和云侧设备都存在不同的性能特点,而根据服务实例的实例信息确定对应的设备条件代表了设备运行服务实例时需要具备的性能条件,那么基于设备条件确定出的目标设备,可以基于自身环境、性能等特点满足服务实例的运行需求,也就说明基于服务实例需求可以灵活调度端侧和云侧的计算能力、空间等资源,充分利用各类设备的性能优势,保证了用户的服务使用体验。
本申请实施例还提供了一种计算机存储介质,计算机存储介质可以存储有多条指令,指令适于由处理器加载并执行如上述实施例中的任一项的方法的步骤。
请参见图10,图10为本申请实施例提供的一种终端的结构示意图。如图10所示,终端1000可以包括:至少一个终端处理器1001,至少一个网络接口1004,用户接口1003,存储器1005,至少一个通信总线1002。
其中,通信总线1002用于实现这些组件之间的连接通信。
其中,用户接口1003可以包括显示屏(Display)、摄像头(Camera),可选用户接口1003还可以包括标准的有线接口、无线接口。
其中,网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。
其中,终端处理器1001可以包括一个或者多个处理核心。终端处理器1001利用各种接口和线路连接整个终端1000内的各个部分,通过运行或执行存储在存储器1005内的指令、程序、代码集或指令集,以及调用存储在存储器1005内的数据,执行终端1000的各种功能和处理数据。可选的,终端处理器1001可以采用数字信号处理(Digital SignalProcessing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable Logic Array,PLA)中的至少一种硬件形式来实现。终端处理器1001可集成中央处理器(Central Processing Unit,CPU)、图像处理器(Graphics ProcessingUnit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示屏所需要显示的内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到终端处理器1001中,单独通过一块芯片进行实现。
其中,存储器1005可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory,ROM)。可选的,该存储器1005包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。存储器1005可用于存储指令、程序、代码、代码集或指令集。存储器1005可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现上述各个方法实施例的指令等;存储数据区可存储上面各个方法实施例中涉及到的数据等。存储器1005可选的还可以是至少一个位于远离前述终端处理器1001的存储装置。如图10所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及端云服务调度程序。
在图10所示的终端1000中,用户接口1003主要用于为用户提供输入的接口,获取用户输入的数据;而终端处理器1001可以用于调用存储器1005中存储的端云服务调度程序,并具体执行以下操作:
响应于服务实例的运行请求,基于服务实例的实例信息确定运行请求对应的设备条件;
确定满足设备条件的目标设备,目标设备为端侧设备或云侧设备;
在目标设备中运行服务实例。
在一些实施例中,终端处理器901在执行确定满足设备条件的目标设备时,具体执行以下步骤:确定满足预选设备条件的预选设备,预选设备条件为满足服务实例的运行条件的必要设备条件;从预选设备中确定目标设备。
在一些实施例中,终端处理器901在执行从预选设备中确定目标设备时,具体执行以下步骤:当预选设备的数量为一个时,确定预选设备为目标设备;当预选设备的数量为多个时,确定满足优选设备条件的预选设备为目标设备,优选设备条件包括亲和条件、反亲和条件、计算资源条件中的至少一种。
在一些实施例中,当目标设备为云侧设备时,终端处理器901在执行在目标设备中运行服务实例时,具体执行以下步骤:根据服务实例对应的服务类型,在云侧设备中确定服务类型对应的目标云侧设备,在目标云侧设备中运行服务实例。
在一些实施例中,终端处理器901在执行在云侧设备中确定服务类型对应的目标云侧设备时,具体执行以下步骤:基于运行请求对应的用户账号,判断用户账号对应的云侧设备中是否存在运行过服务实例的历史云侧设备;若存在,则确定历史云侧设备为目标云侧设备;若不存在,则基于用户账号对应的用户资源配额,在云侧设备中确定服务类型对应的目标云侧设备。
在一些实施例中,终端处理器901在执行基于用户账号对应的用户资源配额,在云侧设备中确定服务类型对应的目标云侧设备时,具体执行以下步骤:确定用户账号对应的用户资源配额满足服务实例的运行需求,以及判断服务类型对应的运行中云侧设备的剩余运行资源是否满足服务实例的运行需求;若满足,则将运行中云侧设备确定为目标云侧设备;若不满足,则初始化新的云侧设备并确定为目标云侧设备。
在一些实施例中,端侧设备和云侧设备的底层环境中部署有相同的环境感知引擎,其中,环境感知引擎为支持相同服务实例在不同设备底层环境中运行的引擎框架。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。上述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行上述计算机程序指令时,全部或部分地产生按照本说明书实施例上述的流程或功能。上述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。上述计算机指令可以存储在计算机可读存储介质中,或者通过上述计算机可读存储介质进行传输。上述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DigitalSubscriber Line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。上述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。上述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,数字多功能光盘(DigitalVersatile Disc,DVD))、或者半导体介质(例如,固态硬盘(Solid State Disk,SSD))等。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本申请所必须的。
同时,需要说明的是,本申请实施例所涉及的信息(包括但不限于用户设备信息、用户个人信息等)、数据(包括但不限于用于分析的数据、存储的数据、展示的数据等)以及信号,均为经用户授权或者经过各方充分授权的,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。例如,本说明书中涉及的用户信息、资源配额信息等都是在充分授权的情况下获取的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上为对本申请所提供的一种端云服务调度方法、装置、存储介质以及终端的描述,对于本领域的技术人员,依据本申请实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种端云服务调度方法,其特征在于,所述方法包括:
响应于服务实例的运行请求,基于所述服务实例的实例信息确定所述运行请求对应的设备条件;
确定满足所述设备条件的目标设备,所述目标设备为端侧设备或云侧设备;
在所述目标设备中运行所述服务实例。
2.根据权利要求1所述的方法,其特征在于,所述确定满足所述设备条件的目标设备,包括:
确定满足预选设备条件的预选设备,所述预选设备条件为满足所述服务实例的运行条件的必要设备条件;
从所述预选设备中确定目标设备。
3.根据权利要求2所述的方法,其特征在于,所述从所述预选设备中确定目标设备,包括:
当所述预选设备的数量为一个时,确定所述预选设备为目标设备;
当所述预选设备的数量为多个时,确定满足优选设备条件的预选设备为目标设备,所述优选设备条件包括亲和条件、反亲和条件、计算资源条件中的至少一种。
4.根据权利要求1所述的方法,其特征在于,当所述目标设备为云侧设备时,所述在所述目标设备中运行所述服务实例,包括:
根据所述服务实例对应的服务类型,在所述云侧设备中确定所述服务类型对应的目标云侧设备,在所述目标云侧设备中运行所述服务实例。
5.根据权利要求4所述的方法,其特征在于,所述在所述云侧设备中确定所述服务类型对应的目标云侧设备,包括:
基于所述运行请求对应的用户账号,判断所述用户账号对应的云侧设备中是否存在运行过所述服务实例的历史云侧设备;
若存在,则确定所述历史云侧设备为目标云侧设备;
若不存在,则基于所述用户账号对应的用户资源配额,在所述云侧设备中确定所述服务类型对应的目标云侧设备。
6.根据权利要求5所述的方法,其特征在于,所述基于所述用户账号对应的用户资源配额,在所述云侧设备中确定所述服务类型对应的目标云侧设备,包括:
确定所述用户账号对应的用户资源配额满足所述服务实例的运行需求,以及判断所述服务类型对应的运行中云侧设备的剩余运行资源是否满足所述服务实例的运行需求;
若满足,则将所述运行中云侧设备确定为目标云侧设备;
若不满足,则初始化新的云侧设备并确定为目标云侧设备。
7.根据权利要求1所述的方法,其特征在于,所述端侧设备和所述云侧设备的底层环境中部署有相同的环境感知引擎,其中,所述环境感知引擎为支持相同服务实例在不同设备底层环境中运行的引擎框架。
8.一种端云服务调度装置,其特征在于,所述装置包括:
服务确定模块,用于响应于服务实例的运行请求,基于所述服务实例的实例信息确定所述运行请求对应的设备条件;
设备决策模块,用于确定满足所述设备条件的目标设备,所述目标设备为端侧设备或云侧设备;
实例运行模块,用于在所述目标设备中运行所述服务实例。
9.一种计算机存储介质,其特征在于,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行如权利要求1~7任意一项的所述方法的步骤。
10.一种终端,其特征在于,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如权利要求1~7任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211455508.1A CN118057800A (zh) | 2022-11-21 | 2022-11-21 | 端云服务调度方法、装置、存储介质以及终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211455508.1A CN118057800A (zh) | 2022-11-21 | 2022-11-21 | 端云服务调度方法、装置、存储介质以及终端 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118057800A true CN118057800A (zh) | 2024-05-21 |
Family
ID=91069177
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211455508.1A Pending CN118057800A (zh) | 2022-11-21 | 2022-11-21 | 端云服务调度方法、装置、存储介质以及终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118057800A (zh) |
-
2022
- 2022-11-21 CN CN202211455508.1A patent/CN118057800A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6996005B2 (ja) | リソース構成方法、装置、端末、および記憶媒体 | |
Dustdar et al. | Smart cities | |
CN107516090B (zh) | 一体化人脸识别方法和系统 | |
US10462018B2 (en) | Managing a number of secondary clouds by a master cloud service manager | |
JP2023520420A (ja) | チャットボットのために不均衡なトレーニングデータを取り扱うためのバッチング技術 | |
CN109684054A (zh) | 信息处理方法及装置、电子设备及存储器 | |
CN113599803A (zh) | 一种基于边缘计算的数据处理方法、设备及可读存储介质 | |
CN116166280A (zh) | 区块链开放平台及区块链应用的发布方法 | |
CN112051993B (zh) | 状态机模板的生成及任务处理方法、装置、介质及设备 | |
US8954978B1 (en) | Reputation-based mediation of virtual control planes | |
CN112988400B (zh) | 显存优化方法、装置、电子设备以及可读存储介质 | |
CN112994958B (zh) | 一种网络管理系统、方法、装置及电子设备 | |
CN111427677B (zh) | 人工智能产品的生成方法、装置和服务器 | |
US9882773B2 (en) | Virtual resource provider with virtual control planes | |
CN112015536A (zh) | Kubernetes集群容器组调度方法、装置及介质 | |
US9553774B2 (en) | Cost tracking for virtual control planes | |
US11260305B2 (en) | User matching based on active game time | |
US10305294B2 (en) | Communication between devices to determine priority of charging | |
CN112799782A (zh) | 模型生成系统、方法、电子设备及存储介质 | |
JP2022525880A (ja) | サーバーの負荷予測及び高度なパフォーマンス測定 | |
CN116456496B (zh) | 资源调度的方法、存储介质及电子设备 | |
US20160041851A1 (en) | Executing a command on an optimal smart device | |
CN112788112A (zh) | 设备健康管理微服务自动发布方法、装置和平台 | |
CN114780232B (zh) | 云应用调度方法、装置、电子设备及存储介质 | |
CN118057800A (zh) | 端云服务调度方法、装置、存储介质以及终端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination |