HarmonyOS NEXT分散式编造硬件资源池运用场景本带路理及接入执行

 常见问题     |      2023-12-14 13:24:59    |      小编

  HarmonyOS NEXT散布式体系硬件资源池使用场景本领道理及接入实行

  跟着智能开发的起色和普及,越来越多的智能开发仍然深化人们的生涯,譬喻手机,PC,平板,种种穿着开发等。目前单个开发的表设资源仍然很是足够,硬件才能也很宏大。但像是手机、PC、平板等开发都有的相机、音频、屏幕、键盘鼠标等表设资源都属于各个开发自己,倘使涉及跨开发协同操作就会比力繁琐。

  譬喻当咱们平日正在PC端举办文档编纂时,若需求从平板复造一段文字,或者利用手机拍摄照片然后分裂将素材插入文档时,就需求咱们分裂正在区此表开发上操作,然后将物料再行汇总发送至PC端口举办编纂,流程极端困难。倘使使用拓荒者从使用层面竣工开发间硬件才能共享,不单拓荒者劳动量和难度很是大,各个使用之间也需求反复拓荒,才能难以复用和承受。

  为此,HarmonyOS NEXT提出了硬件资源池的理念,把各个开发的硬件表设概括为表设新闻单位,表设新闻正在各个可托开发之间自愿同步,冲破各个开发硬件的单独状况,闪开发间硬件表设全体共享。如许就竣工了表设新闻的全体可见,再联结散布式硬件虚拟化本领,竣工放肆开发之间的硬件表设才能跨开发挪用;

  散布式硬件资源池动作体系才能下重体系底层,北向拓荒者并不会感知资源池的存正在;跨开发硬件和当地硬件利用统一套API,拓荒者挪用跨开发硬件体验和当地硬件相似,如斯越发拓荒者挪用跨开发硬件,拓荒者也无需再合怀硬件底层细节,可将更多韶华埋头于交易立异。

  HarmonyOS NEXT采用硬件资源池的理念,联结多个开发上风硬件为用户供给更优体验的同时,还能接济消费者和拓荒者多种立异体验。

  从消费者层面来看,华为散布式硬件可接济聪颖办公、聪颖出行等多种立异场景。

  比高洁在聪颖办公场景中,利用一套PC键盘鼠标即可和周边平板等开发跨开发操作;正在多屏协同时,手机屏幕可直接显示到平板,手机视频通话也可能利用平板的麦克风和摄像头,用户正在平板上即可同时操作手机平板两台开发,无需正在开发间来回切换。

  正在聪颖出行场景中,当用户进入座舱,手机上的音笑和通话就可自愿接续到车机,利用车机的音频表设播音和拾音效力硬件,以及利用车机的摄像头举办视频通话;当手机导航接续到车机后,车机的GPS信号也可能共享给手机,联结手机GPS信号供给更高精度的定位数据。

  联结以上两种场景可知,正在聪颖办公和聪颖出行场景中,用户都可能通过散布式硬件资源池,为用户供给更好的办事体验。

  对付拓荒者来说,由于散布式硬件资源池将跨开发硬件挪用的庞时髦都封装正在了体系底层,跨开发硬件可复用当地硬件的API,所以拓荒者练习和适配难度可能做到最低。

  以散布式相机为例,相机接口可能同时查问到当地相机和跨开发相机表设,接着当地相机和跨开发相机就可通过ConnectionType.CAMERA_CONNECTION_REMOTE属性互相分辨,拓荒者通过该属性过滤出散布式相机后,其他操作和当地相机完整相似,拓荒者无需为利用跨开发硬件练习一套独立的API,有用简化拓荒者拓荒难度。

  良多拓荒者可以会问,硬件资源池是怎么的拓荒道理,咱们可用相机和音频为例举办解说。

  假设开发A和开发B都有各自的相机和音频表设,驱动层有对应确当地相机和当地音频驱动。

  散布式硬件从各自开发当地搜聚相机和音频驱动新闻,存入散布式数据库。倘使AB两个开发开发了可托相合而且通过软总线组网上线凯旋,散布式数据库会正在AB两个开发之间自愿同步各自确当地表设数据新闻,如许,开发A散布式硬件可能拿到开发B的相机和音频表设规格数据,同样,开发B也可能拿到开发A的相机和音频表设规格数据。

  以开发A的流程为例,散布式硬件收到对端开发B的硬件规格数据后,正在驱动层注册对应的虚拟相机和虚拟音频驱动,虚拟驱动相当于对端开发物理硬件正在当地的代庖;虚拟驱动竣工和当地硬件驱动无此表HDI接口。他们的区别正在于,当地硬件驱动操作当地物理硬件,虚拟硬件驱动支配和数据传输通过软总线效用于对端散布式硬件。因为和当地硬件竣工同样的HDI接口,开发B相机和音频对应的虚拟硬件可能被相机办事和音频办事挖掘并管造,席卷表设的查问,相机的预览影相录像,音频的播放,音响的录造等效力。

  对称的,正在开发B上会施行同样的流程,为开发A相机和音频表设注册对应虚拟驱动,从而竣工开发B上对开发A硬件表设的查问和利用。

  如斯就竣工了表设新闻正在开发间互通共享,新闻感知自愿注册虚拟硬件,注册后即可用,成为一个无核心对称的散布式硬件表设管造体系。同时,散布式硬件框架界说了表设热插拔,虚拟硬件保活等机造,保障交易牢靠性。正在运转时,各个硬件表设的交易运转于独立经过中,正在经过层面保障区别硬件的虚拟化交易相互分开,提升了交易牢靠性。

  基于上述认识,拓荒者可能看到散布式硬件与南向硬件的交互涉及硬件新闻搜聚和驱动注册两类交易硬件,与此对应,散布式硬件针对南向硬件接入界说了两类接口。一类是硬件规格搜聚接口,一类是驱动注册与计算接口。

  正在硬件规格搜聚接口中,直接界说了规格新闻的搜聚以及表设热插拔事情监听等效力;因为咱们是跨开发硬件挪用,涉及双端开发的硬件,所以咱们界说利用周边其他开发硬件表设的一端为Source端,共享当地硬件给其他开发挪用的一端为Sink端,驱动注册与计算接口席卷Source和Sink两头。

  Source端席卷初始化,开释以及虚拟驱动注册/去注册等效力;Sink端苛重是初始化和开释接口,用于反应Source端的支配指令,譬喻播放音响或者搜聚视频画面。正在开发组网上线后,散布式硬件框架挪用各个硬件类型的南向接口竣工,分裂初始化种种硬件的Source和Sink端交易经过,为后续的硬件跨开发挪用做好计算。

  因为散布式硬件优异的南向接入解耦计划,倘使有新硬件表设接入,只需求如下三步即可,以散布式相机修设为例,拓荒者可能基于下方实例举办参考:

  Step3:正在散布式硬件子部件修设文献中,增加新硬件表设联系修设,席卷表设类型,南向接口竣工的so名称,版本号,以及Source和Sink端办事分派的办事Id

  留神:该修设由产物界说确定,区此表产物可以利用区此表散布式才能。以RK3568拓荒板为例,修设如下:

  三个接口的so竣工后,拓荒者可将编译打包到体系库旅途下,同时修设到散布式硬件部件修设文献中,开发组网上线后,就能看到散布式相机的dcamera经过仍然凯旋启动,证据相机表设仍然纳入资源池管造,成为散布式相机。

  从下述截图也可能看到散布式硬件其他联系经过,dhardware便是散布式硬件资源池管造框架经过,顾名思义,dcamera是散布式相机经过,dinput是散布式键鼠输入经过,dscreen是散布式屏幕经过。HarmonyOS NEXT分散式编造硬件资源池运用场景本带路理及接入执行