CN117472606A - 调用系统服务的方法和装置 - Google Patents
调用系统服务的方法和装置 Download PDFInfo
- Publication number
- CN117472606A CN117472606A CN202210871045.0A CN202210871045A CN117472606A CN 117472606 A CN117472606 A CN 117472606A CN 202210871045 A CN202210871045 A CN 202210871045A CN 117472606 A CN117472606 A CN 117472606A
- Authority
- CN
- China
- Prior art keywords
- target service
- service
- target
- information
- equipment
- 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 123
- 230000004044 response Effects 0.000 claims abstract description 28
- 238000004891 communication Methods 0.000 claims description 48
- 238000012545 processing Methods 0.000 claims description 40
- 230000008569 process Effects 0.000 claims description 39
- 238000004590 computer program Methods 0.000 claims description 9
- 230000011664 signaling Effects 0.000 claims description 2
- 238000007726 management method Methods 0.000 description 58
- 239000010410 layer Substances 0.000 description 24
- 238000010586 diagram Methods 0.000 description 15
- 230000006870 function Effects 0.000 description 13
- 230000009471 action Effects 0.000 description 12
- 238000010295 mobile communication Methods 0.000 description 8
- 230000006855 networking Effects 0.000 description 8
- 230000003993 interaction Effects 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 238000013528 artificial neural network Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 229920001621 AMOLED Polymers 0.000 description 3
- 230000001133 acceleration Effects 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
- 238000005452 bending Methods 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 239000002096 quantum dot Substances 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000013529 biological neural network Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 210000004027 cell Anatomy 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 239000012792 core layer Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003238 somatosensory effect Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本申请实施例提供了一种调用系统服务的方法和装置,该方法包括:第一设备向第二设备发送第一通知信息,该第一通知信息包括目标服务的信息,也就是该第一设备需要调用的系统服务的信息,该第一通知信息用于指示该第二设备加载该目标服务;该第二设备对该目标服务加载完成后,向该第一设备发送第一响应信息,该第一响应信息包括该目标服务的服务句柄,该服务句柄用于该第一设备在该第二设备上调用该目标服务。通过本申请实施例提供的方法,被调用设备无需在开机时加载目标服务,而是按需加载目标服务,从而能够减少开机资源的占用,避免系统资源的耗费。
Description
技术领域
本申请实施例涉及计算机技术领域,具体地,涉及一种调用系统服务的方法和装置。
背景技术
分布式系统服务是由多个处理机通过通信线路互联构成的系统。通常情况下,分布式系统服务在跨设备场景下才开始真正工作,而在单机场景下,分布式系统服务没有实际应用,却占据了开机资源,一定程度上造成了系统资源的非必要耗费。因此,必要提供一种调用分布式系统服务的方法和装置,以减少系统资源的耗费。
发明内容
本申请实施例提供一种调用系统服务的方法和装置,能够按需加载或卸载分布式系统服务,减少系统资源的耗费。
第一方面,提供了一种调用系统服务的方法,该方法包括:第一设备向第二设备发送第一通知信息,该第一通知信息包括目标服务的信息,该目标服务的信息为该第一设备需要调用的系统服务的信息,该第一通知信息用于指示该第二设备加载该目标服务;该第一设备接收来自第二设备的第一响应信息,该第一响应信息包括该目标服务的服务句柄,该服务句柄用于该第一设备在该第二设备上调用该目标服务。
在一种可能的实现方式中,第一设备接收的第一响应信息中包括该目标服务的服务句柄。在该方案中,第二设备对该目标服务的加载结果为加载成功,第二设备可以将服务句柄发送给第一设备,便于第一设备在第二设备上调用该目标服务。
在另一种可能的实现方式中,该第一设备接收来自第二设备的第一响应信息,该第一响应信息用于指示该目标服务在该第二设备上加载失败。在该方案中,第二设备将加载失败的结果发送给第一设备,该第一设备根据实际需求确定是否仍需在该第二设备上调用该目标服务,若仍需调用,则继续向该第二设备发送通知信息,指示该第二设备重新加载该目标服务。
在本申请提供的实施例中,在组网场景下,或者需要跨设备加载目标服务时,第一设备可以向第二设备发送通知信息,在接收到第一设备的通知信息后,第二设备加载该第一设备需要调用的目标服务。该第一设备即调用设备,第二设备即被调用设备。基于该方案,被调用设备也就是第二设备无需在开机时加载该目标服务,而是根据使用需求加载该目标服务,从而能够避免非必要场景下的资源占用问题,减少系统资源的耗费。
结合第一方面,在第一方面的某些实现方式中,在该第一设备向第二设备发送第一通知信息之前,该方法还包括:该第一设备确定目标设备和该目标服务,该目标设备为需要加载该目标服务的设备,其中,该第二设备为该目标设备。
在本申请提供的实施例中,第一设备可以根据实际需求确定需要调用的系统服务,以及需要在哪个设备上调用该系统服务,进而向该确定的设备也就是目标设备,或者说第二设备发送通知信息,指示该第二设备加载该目标服务。基于该方案,被调用设备无需在开机时加载该目标服务,而是根据使用需求加载该目标服务,从而能够避免非必要场景下的资源占用问题,减少系统资源的耗费。
结合第一方面,在第一方面的某些实现方式中,该第一设备确定目标设备和该目标服务,包括:该第一设备根据任务流转需求确定该目标设备和该目标服务。
在一种可能的场景下,该目标服务为分布式调度系统服务,该第一设备可以根据任务流转需求确定需要调用的目标服务以及目标设备。该任务流转需求可以为该目标服务在当前设备或者说第一设备上的加载,需要流转至其他设备例如第二设备上进行加载;或者也可以为该目标服务对应的应用在当前设备或者说第一设备上的使用,需要流转至其他设备例如第二设备上进行使用。该流转或者也可以称为切换等。基于该方案,第一设备可以根据使用场景或实际使用需求,指示第二设备加载目标服务,第二设备无需在开机时加载该目标服务,而是根据使用需求加载该目标服务,从而能够避免非必要场景下的资源占用问题,减少系统资源的耗费。
在另一种可能的场景下,例如该目标服务为分布式硬件服务时,该第一设备可以根据硬件协同需求确定目标服务和目标设备。示例性地,该硬件协同需求可以为该目标服务对应的上层应用的分屏显示,也就是说,该第一设备调用第二设备,使得该目标服务对应的应用界面可以部分显示于第一设备,另一部分显示于该目标设备。
结合第一方面,在第一方面的某些实现方式中,该方法还包括:该第一设备向该第二设备发送第二通知信息,该第二通知信息用于指示该第一设备对该目标服务的调用结束。
在本申请提供的实施例中,第一设备确定本设备上没有应用或服务需要在该第二设备上继续调用该目标服务后,可以向第二设备发送通知信息,指示第一设备对该目标服务的调用已经结束,进而,第二设备可以根据实际调用情况确定是否需要卸载该目标服务,以减少系统资源的占用。
结合第一方面,在第一方面的某些实现方式中,在该第一设备向该第二设备发送第二通知信息之前,该方法还包括:该第一设备确定该目标服务的流转结束。
在一种可能的场景下,该目标服务为分布式调度系统服务,该第一设备判断目标服务的流转是否结束,在确定该目标服务的流转结束时,向该第二设备发送第二通知信息,指示对该目标服务的调用已经结束,以便第二设备卸载该目标服务,减少系统资源的非必要占用。
该目标服务的流转结束,也可以为该目标服务对应的上层应用的流转结束。
在另一种可能的场景下,该目标服务为分布式硬件服务,该第一设备确定该硬件协同任务结束,则向该第二设备发送该第二通知信息,指示对该目标服务的调用结束。
在本申请提供的实施例中,第一设备根据实际需求确定对目标服务的调用结束,并通知第二设备,以便第二设备确定是否需要卸载该目标服务,以减少系统资源的非必要占用。
第二方面,提供了一种调用系统服务的方法,该方法包括:第二设备接收来自第一设备的第一通知信息,该第一通知信息包括目标服务的信息,该目标服务的信息为该第一设备需要调用的系统服务的信息,该第一通知信息用于指示该第二设备加载该目标服务;该第二设备加载该目标服务;该第二设备向该第一设备发送第一响应信息,该第一响应信息包括该目标服务的服务句柄,该服务句柄用于该第一设备在该第二设备上调用该目标服务。
在本申请提供的实施例中,在组网场景下,或者需要跨设备加载目标服务时,第一设备可以向第二设备发送通知信息,在接收到第一设备的通知信息后,第二设备加载该第一设备需要调用的目标服务。该第一设备即调用设备,第二设备即被调用设备。基于该方案,第二设备无需在开机时加载该目标服务,而是根据使用需求加载该目标服务,从而能够避免非必要场景下的资源占用问题,减少系统资源的耗费。
结合第二方面,在第二方面的某些实现方式中,该第二设备加载该目标服务,包括:该第二设备拉起该目标服务对应的进程;该第二设备初始化该目标服务;该第二设备注册该目标服务。
在本申请提供的实施例中,该第二设备在接收到该第一设备的调用通知后,加载该目标服务,以便第一设备在该第二设备上调用该目标服务。基于该方案,第二设备无需在开机时加载该目标服务,而是在接收到其他设备的调用需求后加载该目标服务,从而能够减少开机资源的占用,避免非必要的资源浪费。
结合第二方面,在第二方面的某些实现方式中,该方法还包括:该第二设备接收该第一设备的第二通知信息,该第二通知信息用于指示该第一设备对该目标服务的调用结束。
在本申请提供的实施例中,第一设备确定本设备上没有应用或服务需要在该第二设备上继续调用该目标服务后,可以向第二设备发送通知信息,指示第一设备对该目标服务的调用已经结束,进而,第二设备可以根据实际调用情况确定是否需要卸载该目标服务,以减少系统资源的占用。
结合第二方面,在第二方面的某些实现方式中,该方法还包括:该第二设备检查该目标服务的引用计数,确定是否卸载该目标服务。
在本申请提供的实施例中,第二设备检查该目标服务的引用计数,也就是检查该目标服务是否仍被调用。在该目标服务的引用计数为0时,也就是该目标服务没有被调用时,第二设备可以卸载该目标服务,以减少系统资源的占用;在该目标服务的引用计数不为0时,也就是仍然有设备或其他服务调用该目标服务时,第二设备可以不卸载该目标服务,以便于其他设备或服务直接调用该目标服务。
第三方面,提供了一种调用系统服务的装置,应用于第一设备,该装置包括:发送模块,用于向第二设备发送第一通知信息,该第一通知信息包括目标服务的信息,该目标服务的信息为该第一设备需要调用的系统服务的信息,该第一通知信息用于指示该第二设备加载该目标服务;接收模块,用于接收来自该第二设备的第一响应信息,该第一响应信息包括该目标服务的服务句柄,该服务句柄用于该第一设备在该第二设备上调用该目标服务。
结合第三方面,在第三方面的某些实现方式中,该装置还包括:处理模块,用于确定目标设备和该目标服务,该目标设备为需要加载该目标服务的设备,其中,该第二设备为该目标设备。
结合第三方面,在第三方面的某些实现方式中,该处理模块具体用于,根据任务流转需求确定该目标设备和该目标服务。
结合第三方面,在第三方面的某些实现方式中,该发送模块还用于,向该第二设备发送第二通知信息,该第二通知信息用于指示该第一设备对该目标服务的调用结束。
结合第三方面,在第三方面的某些实现方式中,该处理模块还用于,确定该目标服务的流转结束。
第四方面,提供了一种调用系统服务的装置,应用于第二设备,该装置包括:接收模块,用于接收来自第一设备的第一通知信息,该第一通知信息包括目标服务的信息,该目标服务的信息为该第一设备需要调用的系统服务的信息,该第一通知信息用于指示该第二设备加载该目标服务;处理模块,用于加载该目标服务;发送模块,用于向该第一设备发送第一响应信息,该第一响应信息包括该目标服务的服务句柄,该服务句柄用于该第一设备在该第二设备上调用该目标服务。
结合第四方面,在第四方面的某些实现方式中,该处理模块具体用于,拉起该目标服务对应的进程,初始化该目标服务,注册该目标服务。
结合第四方面,在第四方面的某些实现方式中,该接收模块还用于,接收来自该第一设备的第二通知信息,该第二通知信息用于指示该第一设备对该目标服务的调用结束。
结合第四方面,在第四方面的某些实现方式中,该处理模块还用于,检查该目标服务的引用计数,确定是否卸载该目标服务。
第五方面,提供了一种电子设备,该电子设备包括:处理器,用于从存储器中调用并运行计算机程序,使得该电子设备执行如第一方面或该第一方面中任意一种可能的实现方式;或者执行如第一方面或该第一方面中任意一种可能的实现方式。
结合第五方面,在第五方面的某些实现方式中,该电子设备还包括:该存储器和/或通信接口,该存储器用于存储该计算机程序;该通信接口用于收发数据/信令。
第六方面,提供了一种电子设备,该电子设备包括如第三方面或第三方面中任意一种实现方式中的装置,或者如第四方面或第四方面中任意一种实现方式中的装置。
第七方面,提供了一种计算机程序存储介质,该计算机可读介质存储有程序代码,当该计算机程序代码在计算机上运行时,使得计算机执行如第一方面或第一方面中任意一种实现方式中的方法,或者,如第二方面或者第二方面中任意一种实现方式中的方法。
第八方面,提供了一种芯片系统,该芯片系统包括至少一个处理器,当程序指令在该至少一个处理器中执行时,使得如第一方面或第一方面中的任意一种实现方式中的方法,或者,如第二方面或第二方面中的任意一种实现方式中的方法得以实现。
附图说明
图1是本申请实施例提供的系统架构图。
图2是本申请实施例提供的一种电子设备的结构示意图。
图3是本申请实施例提供的一种电子设备的软件结构框图。
图4是本申请实施例提供的一种加载系统服务的方法的交互示意图。
图5是本申请实施例提供的一种调用系统服务的场景示意图。
图6是本申请实施例提供的一种调用系统服务的场景示意图。
图7是本申请实施例提供的一种卸载系统服务的方法的交互示意图。
图8是本申请实施例提供的一种调用系统服务的方法的交互示意图。
图9是本申请实施例提供的一种调用系统服务的装置的结构框图。
图10是本申请实施例提供的一种调用系统服务的设备的结构框图。
具体实施方式
以下实施例中所使用的术语只是为了描述特定实施例的目的,而并非旨在作为对本申请的限制。如在本申请的说明书和所附权利要求书中所使用的那样,单数表达形式“一个”、“一种”、“所述”、“上述”、“该”和“这一”旨在也包括例如“一个或多个”这种表达形式,除非其上下文中明确地有相反指示。还应当理解,在本申请以下各实施例中,“至少一个”、“一个或多个”是指一个、两个或两个以上。术语“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系;例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A、B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。
在本说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
图1是本申请实施例适用的一种系统架构示意图,两个或两个以上的电子设备形成组网场景,例如图示的设备A和设备B,设备A可以从设备B上调用系统服务,设备B也可以从设备A上调用系统服务。该设备A和设备B可以为支持分布式系统服务运行的电子设备,例如手机、电脑、平板、智能手表和大屏设备等,而不仅限于图1中所示的设备。
示例性的,图2示出了电子设备100的结构示意图。电子设备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 identification module,SIM)卡接口195等。
可以理解的是,本申请实施例示意的结构并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的部件,也可以集成在一个或多个处理器中。在一些实施例中,电子设备100也可以包括一个或多个处理器110。其中,控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。在其他一些实施例中,处理器110中还可以设置存储器,用于存储指令和数据。示例性地,处理器110中的存储器可以为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。这样就避免了重复存取,减少了处理器110的等待时间,因而提高了电子设备100处理数据或执行指令的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路间(inter-integrated circuit,I2C)接口,集成电路间音频(nter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,SIM卡接口,和/或USB接口等。其中,USB接口130是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口130可以用于连接充电器为电子设备100充电,也可以用于电子设备100与外围设备之间传输数据。该USB接口130也可以用于连接耳机,通过耳机播放音频。
可以理解的是,本申请实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备100的结构限定。在本申请另一些实施例中,电子设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过USB接口130接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过电子设备100的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为电子设备供电。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,外部存储器,显示屏194,摄像头193,和无线通信模块160等供电。电源管理模块141还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。电子设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在电子设备100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
无线通信模块160可以提供应用在电子设备100上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,WiFi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
电子设备100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像、视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD)、有机发光二极管(organic light-emittingdiode,OLED)、有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode,AMOLED)、柔性发光二极管(flex light-emittingdiode,FLED)、Miniled、MicroLed、Micro-oLed、量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,电子设备100可以包括1个或多个显示屏194。
在本申请的一些实施例中,当显示面板采用OLED、AMOLED、FLED等材料时,上述图2中的显示屏194可以被弯折。这里,上述显示屏194可以被弯折是指显示屏可以在任意部位被弯折到任意角度,并可以在该角度保持,例如,显示屏194可以从中部左右对折。也可以从中部上下对折。
电子设备100的显示屏194可以是一种柔性屏,目前,柔性屏以其独特的特性和巨大的潜力而备受关注。柔性屏相对于传统屏幕而言,具有柔韧性强和可弯曲的特点,可以给用户提供基于可弯折特性的新交互方式,可以满足用户对于电子设备的更多需求。对于配置有可折叠显示屏的电子设备而言,电子设备上的可折叠显示屏可以随时在折叠形态下的小屏和展开形态下大屏之间切换。因此,用户在配置有可折叠显示屏的电子设备上使用分屏功能,也越来越频繁。
电子设备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个或多个摄像头193。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当电子设备100在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
视频编解码器用于对数字视频压缩或解压缩。电子设备100可以支持一种或多种视频编解码器。这样,电子设备100可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1、MPEG2、MPEG3、MPEG4等。
NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现电子设备100的智能认知等应用,例如:图像识别、人脸识别、语音识别、文本理解等。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储一个或多个计算机程序,该一个或多个计算机程序包括指令。处理器110可以通过运行存储在内部存储器121的上述指令,从而使得电子设备100执行本申请一些实施例中所提供的方法,以及各种应用以及数据处理等。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统;该存储程序区还可以存储一个或多个应用(比如图库、联系人等)等。存储数据区可存储电子设备100使用过程中所创建的数据(比如照片,联系人等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如一个或多个磁盘存储部件,闪存部件,通用闪存存储器(universal flash storage,UFS)等。在一些实施例中,处理器110可以通过运行存储在内部存储器121的指令,和/或存储在设置于处理器110中的存储器的指令,来使得电子设备100执行本申请实施例中所提供的方法,以及其他应用及数据处理。电子设备100可以通过音频模块170、扬声器170A、受话器170B、麦克风170C、耳机接口170D、以及应用处理器等实现音频功能。例如音乐播放、录音等。
传感器模块180可以包括压力传感器180A、陀螺仪传感器180B、气压传感器180C、磁传感器180D、加速度传感器180E、距离传感器180F、接近光传感器180G、指纹传感器180H、温度传感器180J、触摸传感器180K、环境光传感器180L、骨传导传感器180M等。
其中,压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180A可以设置于显示屏194。压力传感器180A的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器180A,电极之间的电容改变。电子设备100根据电容的变化确定压力的强度。当有触摸操作作用于显示屏194,电子设备100根据压力传感器180A检测所述触摸操作强度。电子设备100也可以根据压力传感器180A的检测信号计算触摸的位置。在一些实施例中,作用于相同触摸位置,但不同触摸操作强度的触摸操作,可以对应不同的操作指令。例如:当有触摸操作强度小于第一压力阈值的触摸操作作用于短消息应用图标时,执行查看短消息的指令。当有触摸操作强度大于或等于第一压力阈值的触摸操作作用于短消息应用图标时,执行新建短消息的指令。
陀螺仪传感器180B可以用于确定电子设备100的运动姿态。在一些实施例中,可以通过陀螺仪传感器180B确定电子设备100围绕三个轴(即X、Y和Z轴)的角速度。陀螺仪传感器180B可以用于拍摄防抖。示例性的,当按下快门,陀螺仪传感器180B检测电子设备100抖动的角度,根据角度计算出镜头模组需要补偿的距离,让镜头通过反向运动抵消电子设备100的抖动,实现防抖。陀螺仪传感器180B还可以用于导航,体感游戏场景。
加速度传感器180E可检测电子设备100在各个方向上(一般为三轴)加速度的大小。当电子设备100静止时可检测出重力的大小及方向。还可以用于识别电子设备姿态,应用于横竖屏切换,计步器等应用。
环境光传感器180L用于感知环境光亮度。电子设备100可以根据感知的环境光亮度自适应调节显示屏194亮度。环境光传感器180L也可用于拍照时自动调节白平衡。环境光传感器180L还可以与接近光传感器180G配合,检测电子设备100是否在口袋里,以防误触。
指纹传感器180H用于采集指纹。电子设备100可以利用采集的指纹特性实现指纹解锁,访问应用锁,指纹拍照,指纹接听来电等。
温度传感器180J用于检测温度。在一些实施例中,电子设备100利用温度传感器180J检测的温度,执行温度处理策略。例如,当温度传感器180J上报的温度超过阈值,电子设备100执行降低位于温度传感器180J附近的处理器的性能,以便降低功耗实施热保护。在另一些实施例中,当温度低于另一阈值时,电子设备100对电池142加热,以避免低温导致电子设备100异常关机。在其他一些实施例中,当温度低于又一阈值时,电子设备100对电池142的输出电压执行升压,以避免低温导致的异常关机。
触摸传感器180K,也称“触控面板”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180K用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180K也可以设置于电子设备100的表面,与显示屏194所处的位置不同。
图3是本申请实施例的电子设备100的软件结构框图。分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(Android runtime)和系统库,以及内核层。应用程序层可以包括一系列应用程序包。
如图3所示,应用程序包可以包括相机、图库、日历、通话、地图、导航、WLAN、蓝牙、音乐、视频、短信息等。
其中,第一应用位于该应用程序层,也就是说,可以由应用程序层的任意一个应用程序触发对远端系统服务的调用。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架,应用程序框架层包括一些预先定义的函数。
如图3所示,应用程序框架层可以包括窗口管理器、内容提供器、视图系统、电话管理器、资源管理器、通知管理器等。
窗口管理器用于管理窗口程序,窗口管理器可以获取显示屏大小,判断是否有状态栏、锁定屏幕、截取屏幕等。
内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频、图像、音频、拨打和接听的电话、浏览历史和书签、电话簿等。
视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
电话管理器用于提供电子设备100的通信功能。例如通话状态的管理(包括接通,挂断等)。
资源管理器为应用程序提供各种资源,比如本地化字符串、图标、图片、布局文件、视频文件等等。
通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息、发出提示音、电子设备振动、指示灯闪烁等。
系统库可以包括多个功能模块。例如:表面管理器(surface manager)、媒体库(media libraries)、三维图形处理库(例如:OpenGL ES)、2D图形引擎(例如:SGL)等。
表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。
媒体库支持多种常用的音频、视频格式回放和录制以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4、H.264、MP3、AAC、AMR、JPG和PNG等。
三维图形处理库用于实现三维图形绘图、图像渲染、合成和图层处理等。
2D图形引擎是2D绘图的绘图引擎。
内核层是硬件和软件之间的层。内核层至少包含显示驱动、摄像头驱动、音频驱动、传感器驱动。
为便于理解本申请,首先对本申请涉及的专业术语进行解释。
(1)分布式系统:分布式系统是多个处理机通过通信线路互联而构成的松散耦合的系统,能够实现节点之间的远距离通信,通常具有分布性、自治性、并行性和全局性的特征。
(2)远程过程调用(remote procedure call,RPC):RPC是指计算机A上的进程,调用另外一台计算机B上的进程,其中A上的调用进程被挂起,而B上的被调用进程开始执行,当值返回给A时,A进程继续执行。调用方可以通过使用参数将信息传送给被调用方,而后可以通过传回的结果得到信息。
(3)句柄(handle):句柄是由系统所管理的引用标识,可以被系统重新定位到一个内存地址上,相当于一种特殊的指针,当一个应用程序要引用其他系统,如数据库、操作系统等所管理的内存块或对象时,就要使用句柄。
(4)引用计数:引用计数是计算机编程语言中一种内存管理技术,是指将资源(例如对象、内存或磁盘空间等)的被引用次数保存起来,当被引用次数变为0时就将其释放的过程,使用引用次数技术可以实现自动资源管理的目的。
(5)信号量(semaphore):也称信号灯,是在多线程环境下使用的一种设施,可以用来保证两个或多个关键代码段不被并发调用。在进入一个代码段之前,线程必需获取一个信号量,在该代码段完成后,该线程释放信号量,其他想进入该代码段的线程必需等到其他线程释放信号量才可进入。
通常情况下,在电子设备开机时就加载分布式系统服务,例如,在系统服务对应的进程的配置文件中配置了开机启动的情况下,在电子设备开机时,该系统服务对应的进程被拉起,并注册该系统服务。然而,分布式系统服务在跨设备场景下才开始真正工作,在单机场景下没有实际作用,却占用了开机资源,一定程度上造成了系统资源的非必要耗费。因此,本申请提出了一种按需加载和卸载系统服务的方法,在设备A/设备B需要从设备B/设备A上调用系统服务时,设备B/设备A加载该系统服务。以下结合图4至图8介绍本申请实施例提供的调用系统服务的方法。
图4是本申请实施例提供的一种调用系统服务的方法的交互示意图,被调用设备可以按需加载目标系统服务,该方法包括步骤S401~S406。
S401,第一设备确定目标设备和目标服务。
该目标服务可以为该第一设备需要第二设备按需加载的系统服务,或者说,该目标服务可以为第一设备需要调用的系统服务。该目标设备为需要加载该目标服务的设备,或者说,该目标设备为该第一设备需要调用目标服务的设备,本申请中,该目标设备可以为第二设备。
该目标服务可以为分布式系统服务,例如用于调度分布式流转组件的分布式调度系统服务,又例如用于处理硬件协同的分布式硬件服务等。
在一种可能的实现方式中,该第一设备可以根据任务流转需求确定该目标设备和该目标服务。该任务流转需求可以为该目标服务在当前设备或者说第一设备上的加载,需要流转至其他设备例如第二设备上进行加载;或者也可以为该目标服务对应的应用在当前设备或者说第一设备上的使用,需要流转至其他设备、或者说目标设备、或者第二设备上进行使用。该流转或者也可以称为切换等。
示例性地,如图5所示,用户可以在设备A上选择需要流转的应用,如应用#1,且可以选择与本设备组网的设备,例如设备B。设备A检测到用户的操作后,确定目标设备和目标服务。该设备B为第二设备,也就是目标设备,或者说被调用设备,该设备A为第一设备,也就是调用设备,该目标服务为该应用#1对应的系统服务。
在另一种可能的实现方式中,该第一设备可以根据硬件协同需求确定目标服务和目标设备。示例性地,该硬件协同需求可以为该目标服务对应的上层应用的分屏显示,也就是说,该第一设备调用第二设备,使得目标服务对应的应用界面可以部分显示于第一设备,另一部分显示于该目标设备。如图6所示,例如幻灯片的演示,设备A可以通过调用设备B使得设备B上演示幻灯片,设备A上演示幻灯片对应的批注等内容。
S402,第一设备向第二设备发送第一通知信息,相应地,该第二设备接收来自第一设备的第一通知信息。
该第一通知信息包括目标服务的信息,该目标服务的信息为该第一设备需要调用的系统服务的信息,示例性地,该目标服务的信息可以为该目标服务的ID或者该目标服务的名称等,本申请对此不作限定。
该第一通知信息还可以用于指示该第二设备加载该目标服务。
在一种可能的实现方式中,该第一设备可以通过RPC向该第二设备发送该第一通知信息。
在接收到该第一设备的第一通知信息后,该第二设备加载该目标服务,该第二设备加载该目标服务可以包括步骤S403~S405。
S403,第二设备拉起目标服务对应的进程。
第二设备拉起该目标服务对应的进程也可以为第二设备启动目标服务对应的进程。
S404,第二设备初始化目标服务。
第二设备初始化目标服务可以为,第二设备为该目标服务对应的应用提供在第二设备上运行的能力。
S405,第二设备注册目标服务。
第二设备注册到该目标服务,并对该目标服务进行管理和维护,使得该目标服务能够在该第二设备上运行。
S406,第二设备向第一设备发送第一响应信息,相应地,该第一设备接收来自该第二设备的第一响应信息。
在一种可能的实现方式中,该第一响应信息包括服务句柄,该服务句柄用于该第一设备在该第二设备上调用该目标服务。该服务句柄也就是该目标服务对应的句柄,第一设备可以根据该服务句柄确定该目标服务的位置等信息并进行调用。
该第一响应信息还可以用于指示该目标服务的加载结果为加载成功。
在另一种可能的实现方式中,该第一响应信息用于指示该目标服务在该第二设备上的加载结果为加载失败。在该方案中,第一设备可以重新向该第二设备发送通知信息,指示第二设备重新加载该目标服务,或者,第一设备可以放弃在该第二设备上调用该目标服务。
基于本申请实施例提供的技术方案,可以在分布式系统服务场景下,在调用设备需要调用目标服务时,由目标设备加载目标服务,在开机或单机场景下无需加载系统服务,从而减少开机资源的占用,避免非必要的资源耗费。
以上所描述的为系统服务加载的方法,在目标服务调用结束后,目标设备还可以卸载该目标服务,以下介绍本申请实施例提供的一种系统服务卸载的方法,如图7所示,该方法包括以下步骤S701~S705。
S701,第一设备确定目标服务的调用结束。
该目标服务调用结束具体可以为第一设备和第二设备由组网场景变成非组网场景,或者说单机场景,也就是不需要第二设备时,第一设备也可以独立满足使用需求的场景。第一设备确定目标服务调用结束可以为第一设备检测到目标服务在第一设备上退出运行,也可以为第一设备接收到用户指示,指示该目标服务的调用结束等。
在一种可能的实现方式中,第一设备确定目标服务的调用结束可以为第一设备确定该目标服务的流转结束,或者该目标服务对应的上层应用的流转结束。
在另一种可能的实现方式中,第一设备确定目标服务的调用结束可以为第一设备确定硬件协同任务结束,或者说该目标服务对应的应用的跨设备显示结束。
S702,第一设备向第二设备发送第二通知信息,相应地,该第二设备接收来自该第一设备的第二通知信息。
该第二通知信息用于指示该第一设备对该目标服务的调用结束。
在一种可能的实现方式中,该第二通知信息还可以用于指示第二设备卸载该目标服务。
S703,第二设备检查该目标服务的引用计数。
也就是说,第二设备检查该目标服务是否仍被调用,在有设备调用该目标服务时,该目标服务的引用计数不为0,在没有设备调用该目标服务时,该目标服务的引用计数为0。
在第一设备结束在第二设备上对该目标服务的调用后,仍然可能存在其他的设备在第二设备上调用该目标服务,因此,第二设备需要检查该目标服务的引用计数,确认是否需要卸载该目标服务。
在一种可能的实现方式中,该第二设备检查该目标服务在预设周期内的引用计数,若在预设周期内该目标服务的引用计数为0,该第二设备可以启动对该目标服务的卸载流程。
S704,第二设备释放资源。
在一种可能的实现方式中,该第二设备确认该目标服务的引用计数为0,即该目标服务未被调用时,第二设备释放内存、信号量等资源。
S705,第二设备卸载目标服务。
在第二设备释放完系统资源后,该目标服务对应的进程退出,该第二设备卸载该目标服务。
在另一种可能的实现方式中,该第二设备确定该目标服务的引用计数不为0,也就是说,在第一设备对该目标服务的调用结束后,仍然存在其他设备在第二设备上调用该目标服务,则第二设备可以不卸载该目标服务,以便其他设备在第二设备上调用该目标服务。
基于本申请实施例提供的技术方案,可以在分布式场景下,在调用设备对目标服务的调用结束后,调用设备向被调用设备发送通知信息,被调用设备确定没有其他设备调用该目标服务时,卸载该目标服务,减少系统资源的占用,若确定仍有其他设备调用该目标服务时,保留该目标服务,以便于其他设备能够直接调用该目标服务。
上述系统服务的加载和卸载方法可以相结合,共同应用于分布式场景下,调用设备和被调用设备可以根据实际应用需求触发系统服务的加载和卸载,以下以任务流转场景为例,结合第一设备与第二设备中的具体模块,介绍系统服务的加载和卸载方法,如图8所示,该方法包括步骤S801至S816。
S801,第一应用或第一服务确定目标设备和目标服务。
该第一服务为第一设备上需要调用目标服务的系统服务,该第一应用为该第一服务对应的上层应用,该第一服务与该目标服务可以为相同的服务,也可以为不同的服务,且该第一服务可以为已经加载完成的系统服务。
在一种可能的实现方式中,该第一应用或第一服务可以根据任务流转需求来确定。示例性地,该第一应用或第一服务在检测到用户操作,需要将该第一应用流转到第二设备上运行时,或者需要将第一服务流转到第二设备上加载时,确定该第二设备为目标设备,该第一服务为目标服务。在该实现方式中,该第一服务与目标服务可以为相同的服务。
该任务可以为目标服务,也可以为该目标服务对应的上层应用。该任务流转可以为该目标服务的跨设备调用和加载,或者也可以为该目标服务对应的应用的跨设备运行或使用。作为一个示例,该任务流转可以为用户在手机上使用音乐应用,现需在平板上继续使用该音乐应用,则可触发该音乐应用从手机流转至平板,该音乐应用还可以再从平板流转回手机。
S802,第一设备的第一应用或第一服务向该第一设备的系统服务管理模块指定目标设备和目标服务(load remote system ability)。
也就是说,第一应用或第一服务向系统服务管理模块发送目标设备和目标服务的信息,该目标设备的信息可以为该目标设备的名称,或者该目标设备的标识等信息,该目标服务的信息可以为该目标服务的名称,或者该目标服务的标识等信息。
S803,第一设备的系统服务管理模块向第二设备的系统服务管理模块发送第一通知信息。
该第二设备也就是第一设备确定的目标设备。该步骤S803与步骤S402相类似,区别仅为该第一通知信息可以分别由第一设备的系统服务管理模块发送,由第二设备的系统服务管理模块接收,为避免重复,该步骤的内容不再赘述。
S804,第二设备的系统服务管理模块向该第二设备的启动管理模块指定目标服务。
该第二设备的系统服务管理模块可以向启动管理模块发送该目标服务的信息,用于启动管理模块拉起该目标服务对应的进程。
在一种可能的实现方式中,该第二设备的系统服务管理模块还可以向启动管理模块发送指示信息,指示该启动管理模块拉起该目标服务对应的进程。
S805,第二设备的启动管理模块拉起该目标服务对应的进程,或者说启动目标服务对应的进程。
S806,第二设备的系统服务管理模块初始化目标服务。
也就是说,第二设备的系统服务管理模块为该目标服务对应的应用提供在第二设备上运行的能力。
S807,第二设备的系统服务管理模块注册目标服务。
第二设备的系统服务管理模块注册目标服务,并对该目标服务进行管理和维护,使得该目标服务能够在该第二设备上运行。
S808,第二设备的系统服务管理模块向第一设备的系统服务管理模块发送第一响应信息。
该步骤S808与步骤S406相类似,区别仅为该第一响应信息可以分别由第二设备的系统服务管理模块发送,由第一设备的系统服务管理模块接收,为避免重复,该步骤的内容不再赘述。
S809,任务流转。
该任务流转可以为该目标服务在流转前只在第一设备上完成加载,现需在第二设备上也进行加载;或者也可以为该目标服务对应的上层应用由在第一设备上运行切换至在第二设备上运行,该目标服务对应的上层应用也可以由在第二设备上运行切换至在第一设备上运行。
在该任务流转场景下,该第一服务与该目标服务可以为相同的系统服务。
S810,第一设备的第一应用或第一服务通知该第一设备的系统服务管理模块目标服务的调用结束。
在一种可能的实现方式中,第一设备确定任务流转结束,也就是说第一设备确定目标服务的在第一设备与第二设备之间的流转结束,或者说该目标服务的场景由组网场景变成了非组网场景,或者单机场景,或者不需要任务流转的场景。
S811,第一设备的系统服务管理模块向第二设备的系统服务管理模块发送第二通知信息。
该第一设备的系统服务管理模块确定该第一应用或第一服务对目标服务的调用结束,并检查该第一设备上有无其他应用或服务调用该目标服务,在确定该第一设备上没有应用或服务调用该目标服务后,向该第二设备的系统服务管理模块发送该第二通知信息。
该第二通知信息用于指示该第一设备对该目标服务的调用结束。
在一种可能的实现方式中,该第二通知信息还可以用于指示该第二设备卸载该目标服务。
S812,第二设备的系统服务管理模块通知该第二设备的第一进程目标服务的调用结束。
在一种可能的实现方式中,该第二设备的系统服务管理模块还可以向该第一进程发送指示信息,指示该第一进程退出运行。
该第一进程为该目标服务对应的进程。
S813,该第一进程检查引用计数。
该第一进程检查该目标服务的引用计数是否为0,也就是说,在第一设备结束对该目标服务的调用后,该第一进程检查是否仍有其他设备在该第二设备上调用该目标服务。
S814,该第一进程释放资源。
在一种可能的实现方式中,第二设备确定该目标服务的引用计数为0,也就是说,第一设备结束了在第二设备上对目标服务的调用后,也不存在其他设备在第二设备上调用目标服务,该第一进程可以释放内存、信号量等资源。
在第二设备确定该目标服务的引用计数不为0时,则该第一进程无需执行该步骤S814。或者,在第二设备确定该目标服务的引用计数为0时,也可以选择不释放资源,例如,在系统资源充分时,为方便后续的其他设备能够直接调用该目标服务时。
S815,该第一进程通知该第二设备的系统服务管理模块卸载或保留该目标服务。
在一种可能的实现方式中,该第一进程确定该目标服务的引用计数为0,则可以通知该第二设备的系统服务管理模块卸载该目标服务。
在另一种可能的实现方式中,该第一进程确定该目标服务的引用计数不为0,则可以通知该第二设备的系统服务管理模块保留该目标服务。
S816,该第二设备的系统服务管理模块卸载或保留该目标服务。
在一种可能的实现方式中,该第二设备的系统服务管理模块在该目标服务的引用计数不为0时,保留该目标服务,以便其他设备或其他服务在该第二设备上直接调用该目标服务。
在一种可能的实现方式中,该第二设备的系统服务管理模块在该目标服务的引用计数为0时,卸载该目标服务,以减少系统资源的占用。
在一种可能的实现方式中,该第二设备的系统服务管理模块在该目标服务的引用计数为0时,也可以不卸载该目标服务,以便后续的其他设备能够直接调用该目标服务。
通过本申请提供的实施例,针对分布式调度服务时,在开机或单机场景下可以不用加载目标服务,而是在多台设备组网后需要进行跨设备流转时,由被调用设备加载该目标服务,从而减少开机内存的占用,节约系统资源;在任务流转结束后,由被调用设备根据实际需求自行决策是否需要卸载该目标服务,卸载该目标服务则能够节约系统资源,保留该目标服务则能够便于下次任务流转时直接调用该目标服务。
在一种可能的实现方式中,第一设备从第二设备上调用目标服务后,又需从第三设备上调用该目标服务时,例如该目标服务从第一设备流转至第二设备后,又需流转至第三设备时,可以由第二设备在第三设备上调用该目标服务。该方法具体可以由第二设备执行上述第一设备执行的动作,由第三设备执行上述第二设备执行的动作。
上文结合图4至图8介绍了本申请所提供的系统服务的调用方法,以下结合图9和图10介绍能够支持以上方法实现的装置。
图9是根据本申请方法实施例提供的一种通信装置的结构框图,该通信装置可具备上述方法实施例中第一设备或第二设备的功能,并用于执行上述方法实施例中由第一设备或第二设备执行的步骤。
在一种可能的实现方式中,如图9所示的通信装置900可作为上述方法实施例所涉及的第一设备,并执行上述方法实施例中由第一设备执行的步骤。
如图9所示,该通信装置可以包括接收模块910和发送模块920。
接收模块910可用于支持通信装置900接收信息,例如执行图4至图8中的S406、S808等由第一设备执行的接收动作。
发送模块920可用于支持通信装置900发送信息,例如执行图4至图8中的S402、S702、S803和S811等由第一设备执行的发送动作。
该接收模块910和发送模块920还可以用于执行第一设备的系统服务管理模块和第一应用或第一服务之间执行的接收或发送动作,例如图8中的步骤S802和S810。
可选地,该通信装置还可以包括处理模块930,该处理模块930与发送模块920和接收模块910耦合,可用于支持通信装置900执行上述方法实施例中的处理动作,例如执行图4至图6中的S401、S701、S801和S809等由第一设备执行的处理动作。
可选地,通信装置900还可以包括存储模块940,用于存储通信装置900的程序代码和数据。
在另一种可能的实现方式中,如图9所示的通信装置900可作为上述方法实施例所涉及的第二设备,并执行上述方法实施例中由第二设备执行的步骤。
如图9所示,该通信装置900可包括发送模块920和接收模块910。
接收模块910可用于支持通信装置900接收信息,例如执行图4至图8中的S402、S702、S803和S811等由第二设备执行的接收动作。
发送模块920可用于支持通信装置900发送信息,例如执行图4至图8中的S406和S808等由第二设备执行的发送动作。
该接收模块910和发送模块920还可以用于执行第二设备的系统服务管理模块、启动管理模块和第一进程之间的接收和发送动作,例如图8中的步骤S804、S812和S815等。
可选地,该通信装置还可以包括处理模块930,该处理模块930与发送模块920和接收模块910耦合,可用于支持通信装置900执行上述方法实施例中的处理动作,例如执行图4至图8中的S403、S404、S405、S703、S704、S705、S705、S806、S807、S813、S814和S816等由第二设备执行的处理动作。
可选地,通信装置900还可以包括存储模块940,用于存储通信装置900的程序代码和数据。
图10是本申请实施例提供的通信设备1000的示意性框图。如图所示,该通信设备1000包括:至少一个处理器1010和收发器1020。该处理器1010与存储器1030耦合,用于执行存储器1030中存储的指令,以控制收发器1020发送信号和/或接收信号。
可选地,该通信设备1000还包括存储器1030,用于存储指令。
在一些实施例中,上述处理器1010和存储器1030可以合成一个处理装置,处理器1010用于执行存储器1030中存储的程序代码来实现上述功能。具体实现时,该存储器1030也可以集成在处理器1010中,或者独立于处理器1010。
在一些实施例中,收发器1020可以包括接收器(或者称,接收机)和发射器(或者称,发射机)。
收发器1020还可以进一步包括天线,天线的数量可以为一个或多个。收发器1020有可以是通信接口或者接口电路。
当该通信设备1000为芯片时,该芯片包括收发模块和处理模块。其中,收发模块可以是输入输出电路或通信接口;处理模块可以为该芯片上集成的处理器或者微处理器或者集成电路。
当上述通信装置为应用于第一设备/第二设备的芯片时,该第一设备/第二设备芯片实现上述方法实施例中第一设备/第二设备的功能。该第一设备/第二设备芯片从第一设备/第二设备中的其它模块(如射频模块或天线)接收信息,该信息是第二设备/第一设备、或者其他设备发送给该第一设备/第二设备的;或者,该第一设备/第二设备芯片向第一设备/第二设备中的其它模块(如射频模块或天线)输出信息,该信息是第一设备/第二设备发送给第二设备/第一设备、或者其他设备的。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序或指令,该计算机程序或指令被计算机(例如,处理器)执行,以实现本申请实施例中由任意装置执行的任意一种方法的部分或全部步骤。
本申请实施例还提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得本申请实施例中由任意装置执行的任意一种方法的部分或全部步骤被执行。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (22)
1.一种调用系统服务的方法,其特征在于,所述方法包括:
第一设备向第二设备发送第一通知信息,所述第一通知信息包括目标服务的信息,所述目标服务的信息为所述第一设备需要调用的系统服务的信息,所述第一通知信息用于指示所述第二设备加载所述目标服务;
所述第一设备接收来自第二设备的第一响应信息,所述第一响应信息包括所述目标服务的服务句柄,所述服务句柄用于所述第一设备在所述第二设备上调用所述目标服务。
2.根据权利要求1所述的方法,其特征在于,在所述第一设备向第二设备发送第一通知信息之前,所述方法还包括:
所述第一设备确定目标设备和所述目标服务,所述目标设备为需要加载所述目标服务的设备,
其中,所述第二设备为所述目标设备。
3.根据权利要求2所述的方法,其特征在于,所述第一设备确定目标设备和所述目标服务,包括:
所述第一设备根据任务流转需求确定所述目标设备和所述目标服务。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述方法还包括:
所述第一设备向所述第二设备发送第二通知信息,所述第二通知信息用于指示所述第一设备对所述目标服务的调用结束。
5.根据权利要求4所述的方法,其特征在于,在所述第一设备向所述第二设备发送第二通知信息之前,所述方法还包括:
所述第一设备确定所述目标服务的流转结束。
6.一种调用系统服务的方法,其特征在于,所述方法包括:
第二设备接收来自第一设备的第一通知信息,所述第一通知信息包括目标服务的信息,所述目标服务的信息为所述第一设备需要调用的系统服务的信息,所述第一通知信息用于指示所述第二设备加载所述目标服务;
所述第二设备加载所述目标服务;
所述第二设备向所述第一设备发送第一响应信息,所述第一响应信息包括所述目标服务的服务句柄,所述服务句柄用于所述第一设备在所述第二设备上调用所述目标服务。
7.根据权利要求6所述的方法,其特征在于,所述第二设备加载所述目标服务,包括:
所述第二设备拉起所述目标服务对应的进程;
所述第二设备初始化所述目标服务;
所述第二设备注册所述目标服务。
8.根据权利要求6或7所述的方法,其特征在于,所述方法还包括:
所述第二设备接收所述第一设备的第二通知信息,所述第二通知信息用于指示所述第一设备对所述目标服务的调用结束。
9.根据权利要求6至8中任一项所述的方法,其特征在于,所述方法还包括:
所述第二设备检查所述目标服务的引用计数,确定是否卸载所述目标服务。
10.一种调用系统服务的装置,应用于第一设备,其特征在于,包括:
发送模块,用于向第二设备发送第一通知信息,所述第一通知信息包括目标服务的信息,所述目标服务的信息为所述第一设备需要调用的系统服务的信息,所述第一通知信息用于指示所述第二设备加载所述目标服务;
接收模块,用于接收来自第二设备的第一响应信息,所述第一响应信息包括所述目标服务的服务句柄,所述服务句柄用于所述第一设备在所述第二设备上调用所述目标服务。
11.根据权利要求10所述的装置,其特征在于,所述装置还包括:
处理模块,用于确定目标设备和所述目标服务,所述目标设备为需要加载所述目标服务的设备。
12.根据权利要求11所述的装置,其特征在于,所述处理模块具体用于,根据任务流转需求确定所述目标设备和所述目标服务。
13.根据权利要求10至12中任一项所述的装置,其特征在于,所述发送模块还用于,向所述第二设备发送第二通知信息,所述第二通知信息用于指示所述第一设备对所述目标服务的调用结束。
14.根据权利要求10至13中任一项所述的装置,其特征在于,所述处理模块还用于,确定所述目标服务的流转结束。
15.一种调用系统服务的装置,应用于第二设备,其特征在于,包括:
接收模块,用于接收来自第一设备的第一通知信息,所述第一通知信息包括目标服务的信息,所述目标服务的信息为所述第一设备需要调用的系统服务的信息,所述第一通知信息用于指示所述第二设备加载所述目标服务;
处理模块,用于加载所述目标服务;
发送模块,用于发送第一响应信息,所述第一响应信息包括所述目标服务的服务句柄,所述服务句柄用于所述第一设备在所述第二设备上调用所述目标服务。
16.根据权利要求15所述的装置,其特征在于,所述处理模块具体用于:
拉起所述目标服务对应的进程;
初始化所述目标服务;
注册所述目标服务。
17.根据权利要求15或16所述的装置,其特征在于,所述接收模块还用于,接收第二通知信息,所述第二通知信息用于指示对所述目标服务的调用结束。
18.根据权利要求15至17中任一项所述的装置,其特征在于,所述处理模块还用于,检查所述目标服务的引用计数,确定是否卸载所述目标服务。
19.一种电子设备,其特征在于,所述电子设备包括:处理器,用于从存储器中调用并运行计算机程序,使得所述电子设备执行如权利要求1至5中任一项所述的方法;或者执行如权利要求6至9中任一项所述的方法。
20.根据权利要求19所述的电子设备,其特征在于,所述电子设备还包括:所述存储器和/或通信接口,所述存储器用于存储所述计算机程序,所述通信接口用于收发数据/信令。
21.一种计算机程序存储介质,其特征在于,所述计算机可读介质存储有程序代码,当所述计算机程序代码在计算机上运行时,使得计算机执行如权利要求1至5中任一项所述的方法,或者,如权利要求6至9中任一项所述的方法。
22.一种芯片系统,其特征在于,所述芯片系统包括至少一个处理器,当程序指令在所述至少一个处理器中执行时,使得如权利要求1至5中任一项所述的方法,或者,如权利要求6至9中任一项所述的方法得以实现。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210871045.0A CN117472606A (zh) | 2022-07-22 | 2022-07-22 | 调用系统服务的方法和装置 |
PCT/CN2023/108459 WO2024017351A1 (zh) | 2022-07-22 | 2023-07-20 | 调用系统服务的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210871045.0A CN117472606A (zh) | 2022-07-22 | 2022-07-22 | 调用系统服务的方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117472606A true CN117472606A (zh) | 2024-01-30 |
Family
ID=89617186
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210871045.0A Pending CN117472606A (zh) | 2022-07-22 | 2022-07-22 | 调用系统服务的方法和装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN117472606A (zh) |
WO (1) | WO2024017351A1 (zh) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10341448B2 (en) * | 2016-06-12 | 2019-07-02 | Apple Inc. | Notification extensions for applications |
CN115086346A (zh) * | 2020-02-29 | 2022-09-20 | 华为技术有限公司 | 一种分布式服务调度方法及相关装置 |
CN114222003A (zh) * | 2021-12-06 | 2022-03-22 | Oppo广东移动通信有限公司 | 服务调用方法、系统、装置、设备及存储介质 |
-
2022
- 2022-07-22 CN CN202210871045.0A patent/CN117472606A/zh active Pending
-
2023
- 2023-07-20 WO PCT/CN2023/108459 patent/WO2024017351A1/zh unknown
Also Published As
Publication number | Publication date |
---|---|
WO2024017351A1 (zh) | 2024-01-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112399390B (zh) | 一种蓝牙回连的方法及相关装置 | |
CN111182614B (zh) | 建立网络连接的方法和装置以及电子设备 | |
CN113448382B (zh) | 多屏幕显示电子设备和电子设备的多屏幕显示方法 | |
CN111835530B (zh) | 群组加入方法及装置 | |
CN113704205B (zh) | 日志存储的方法、芯片、电子设备和可读存储介质 | |
CN111555825B (zh) | 射频资源分配方法及装置 | |
CN111371849A (zh) | 数据处理的方法和电子设备 | |
CN111859418B (zh) | 原子能力调用方法及终端设备 | |
US20230117194A1 (en) | Communication Service Status Control Method, Terminal Device, and Readable Storage Medium | |
WO2022170854A1 (zh) | 视频通话的方法与相关设备 | |
CN116795604B (zh) | 应用异常退出的处理方法、装置和设备 | |
CN115119048B (zh) | 一种视频流处理方法及电子设备 | |
CN114691248B (zh) | 显示虚拟现实界面的方法、装置、设备和可读存储介质 | |
CN111475363B (zh) | 卡死识别方法及电子设备 | |
CN117472606A (zh) | 调用系统服务的方法和装置 | |
CN113542315B (zh) | 通信框架、业务事件处理方法及装置 | |
US20240020152A1 (en) | Method for loading component of application and related apparatus | |
WO2024104095A1 (zh) | 一种数据传输方法、装置及系统 | |
WO2024093703A1 (zh) | 一种实例的管理方法、装置、电子设备及存储介质 | |
CN118363691A (zh) | 一种窗口管理方法以及电子设备 | |
CN115079981A (zh) | 设备控制方法及相关装置 | |
CN117806509A (zh) | 管理文件的方法、装置和电子设备 | |
CN118368375A (zh) | 一种录像方法以及电子设备 | |
CN118677974A (zh) | 一种管理服务的方法以及折叠屏电子设备 | |
CN118245150A (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 |