一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于鸿蒙L2富设备的eventBusSA系统服务的制作方法

2022-05-26 20:08:29 来源:中国专利 TAG:

基于鸿蒙l2富设备的eventbussa系统服务
技术领域
1.本发明涉及eventbussa系统服务领域,尤其涉及基于鸿蒙l2富设备的eventbussa系统服务。


背景技术:

2.传统的openharmony鸿蒙sa(system ability)服务,内部使用binder驱动实现,sa服务通过注册到samger中可以提供给fa,pa(feature ability,particle ability)跨进程调用的能力,但是sa本身无法主动发送消息给pa,fa(feature ability,particle ability)。使用eventbussa系统服务,既提供了普通pa,fa(feature ability,particle ability)跨进程调用(通信)的能力,同时具备sa(system ability)反向向pa,fa(feature ability,particle ability)通信的能力。提供了端侧设备的内部完整的事件广播循环机制。


技术实现要素:

3.有鉴于所述,本发明的目的在于提供基于鸿蒙l2富设备的eventbussa系统服务,包括多个app、evevtbus系统服务、broker;
4.所述app的发送端的发布功能配置为通过ipc调用注册到samgr的sa服务提供发布功能;
5.所述evevtbus系统服务收到app的相关消息之后转发给broker;
6.app的接收端通过socket方式向broker订阅消息。
7.作为上述方案的进一步改进:
8.优选地,所述ipc调用通过binder实现。
9.优选地,所述app包括feature ability以及particle ability。
10.优选地,所述feature ability配置为存在相关页面,提供给用户交互的能力。
11.优选地,所述particle ability配置为无界面的ability,支持service ability和data ability的模板。
12.优选地,所述sa配置为一种系统服务级进程,属于后台运行,并且它提供了一些的跨进程调用的接口,可提供给其他进程调用。
13.优选地,所述samgr配置为管理所有的sa,它提供了所有sa服务的注册和获取的接口。
14.优选地,所述broker位于终端上mqtt服务器,通过mqtt连接,提供了本地的消息发送和订阅的相关功能。
15.与现有技术相比,本发明具有如下有益效果:
16.采用本发明的技术方案,本发明所述的app,eventbus,broker,通过三方联动,完成了设备端侧的内部的消息发布和订阅。传统的app消息传递需要了解对方的app包名,才能将指定的信息发送给对端。eventbus与broker的结合便摆脱了这一传统的窠臼,接收端
app只需要订阅消息,发送端app发送对应的消息,就可以完成内部的消息循环。
附图说明
17.图1为本发明的流程结构框图。
18.图2为本发明的流程时序图。
19.附图标记:1、app应用层;2、系统服务层。
具体实施方式
20.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
21.在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上;术语“上”、“下”、“左”、“右”、“内”、“外”、“前端”、“后端”、“头部”、“尾部”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”等仅用于描述目的,而不能理解为指示或暗示相对重要性。
22.在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
23.实施例:
24.如图1-2所示,基于鸿蒙l2富设备的eventbussa系统服务,包括多个app、evevtbus系统服务、broker;
25.所述app的发送端的发布功能配置为通过ipc调用注册到samgr的sa服务提供发布功能;
26.所述evevtbus系统服务收到app的相关消息之后转发给broker;
27.app的接收端通过socket方式向broker订阅消息。
28.所述ipc调用通过binder实现。
29.所述app包括feature ability以及particle ability。
30.所述feature ability配置为存在相关页面,提供给用户交互的能力。
31.所述particle ability配置为无界面的ability,支持service ability和data ability的模板。
32.所述sa配置为一种系统服务级进程,属于后台运行,并且它提供了一些的跨进程调用的接口,可提供给其他进程调用。
33.所述samgr配置为管理所有的sa,它提供了所有sa服务的注册和获取的接口。
34.所述broker位于终端上mqtt服务器,通过mqtt连接,提供了本地的消息发送和订阅的相关功能。
35.本发明的工作原理为:使用eventbus服务,采取源码构建的方式。在整个openharmony工程中,添加eventbus模块,通过编写和配置gn脚本,编译整个源码,生成对应
产品镜像。当对应镜像烧录到指定产品中时,该系统便具备eventbus系统服务的能力;
36.使用broker服务,采取源码构建的方式。在整个openharmony工程中,添加broker模块,通过编写和配置gn脚本,编译整个源码,生成对应产品镜像。当对应镜像烧录到指定产品中时,该系统便具备broker系统服务的能力。
37.包括app应用层1和系统服务层2,app各个消息的发布功能,通过ipc调用(binder实现)注册到samgr的sa服务提供发布功能,linux上传统的ipc方式,如管道、消息队列、socket实现一次进程通信需要2次内存拷贝,效率太低;共享内存的方式不需要拷贝,但是多进程同步,管理复杂。binder驱动通过一次内存拷贝,从性能上来看,低于共享内存,优于其他方式。
38.app消息的订阅功能,app通过向broker订阅消息(socket方式),而evevtbus收到app的相关消息之后,转发给broker,从而订阅了消息的app便收到了消息;
39.app的发送端发出消息,app向samgr请求evevtbus服务,evevtbus向samgr提供注册服务,samgr将注册结果返回到evevtbus,所述evevtbus连接到broker,所述broker自身启动,所述broker将连接结果返回到evevtbus,app获取到evevtbus的相关接口;
40.app通过publish连接将消息发送至evevtbus,evevtbus将接口调用结果返回到app,evevtbus转发消息到broker,app通过订阅broker接收消息。
41.上述的实施例仅为本发明的优选实施例,不能以所述来限定本发明的权利范围,因所述,依本发明申请专利范围所作的修改、等同变化、改进等,仍属本发明所涵盖的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献