1 Star 0 Fork 80

waylau / distributedschedule_dms_fwk_lite

加入 Gitee
与超过 600 万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README_zh.md

介绍

简介

分布式任务调度模块负责跨设备组件管理,提供访问和控制远程组件的能力,支持分布式场景下的应用协同。分布式调度模块组成如下图所示:

目录

分布式任务调度源代码目录结构如下表所示:

**表1 **主要源代码目录结构

名称

描述

dmsfwk_lite

分布式任务调度实现

safwk_lite

foundation进程实现

其中轻量级分布式任务调度的源代码目录结构如下:

├── BUILD.gn
├── include
│  ├── distributed_schedule_service.h        # 分布式调度对外接口
│  ├── dmslite_check_remote_permission.h     # 分布式调度权限管理模块
│  ├── dmslite_famgr.h                       # 分布式调度FA管理模块
│  ├── dmslite_inner_common.h                # 分布式调度内部通用文件
│  ├── dmslite.h                             # 分布式调度服务实现
│  ├── dmslite_log.h                         # 日志模块
│  ├── dmslite_msg_parser.h                  # 分布式消息解析模块
│  ├── dmslite_tlv_common.h                  # TLV格式数据解析模块
│  └── dmslite_session.h                     # 跨设备通信收发模块
├── readme.md
├── LICENSE
├── source
    ├── distributed_schedule_service.c
    ├── dmslite.c
    ├── dmslite_check_remote_permission.c
    ├── dmslite_famgr.c
    ├── dmslite_msg_parser.c
    ├── dmslite_tlv_common.c
    └── dmslite_session.c

约束

语言限制:C/C++语言

组网环境:必须确保设备在同一个局域网中,主从设备能互相ping通

操作系统限制:OpenHarmony操作系统

远程启动的约束与限制:

  • 支持远程启动FA,不支持远程启动SA
  • 远程启动前必须确保主设备与从设备间分布式组网成功,否则无法远程启动

使用

  • 分布式任务调度模块编译

分布式任务调度模块,其代码所在目录如下:

foundation/distributedschedule/dmsfwk_lite

在针对不同平台进行编译时,需要提前指定目标平台:

hb build
  • 主设备程序开发(以拉起FA为例)

构造意图参数want,设置需要启动的远端设备ID,包名,元能力类名信息,以及分布式标志位Want.FLAG_ABILITYSLICE_MULTI_DEVICE以使能分布式启动

import ohos.aafwk.ability.Ability;
import ohos.aafwk.content.Want;
import ohos.bundle.ElementName;

// 构造want参数
Want want = new Want();
ElementName name = new ElementName(remote_device_id, "com.huawei.remote_bundle_name", "remote_ability_name"); 
want.setElement(name); // 将待启动的FA信息添加到Want中
want.setFlags(Want.FLAG_ABILITYSLICE_MULTI_DEVICE); // 设置分布式标记,若不设置将无法使用分布式能力

// 启动远程设备FA
startAbility(want); // 按照Want启动指定FA,want参数命名以实际开发平台API为准
  • 预置条件

从设备侧需安装对应包名的FA

  • 运行(以拉起FA为例)

执行主设备侧的startAbility即可拉起从设备FA

涉及仓

分布式任务调度子系统

dms_fwk_lite

简介

Implementation code of the Distributed Scheduler | 分布式调度模块 展开 收起
Apache-2.0
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
1
https://gitee.com/waylau/distributedschedule_dms_fwk_lite.git
git@gitee.com:waylau/distributedschedule_dms_fwk_lite.git
waylau
distributedschedule_dms_fwk_lite
distributedschedule_dms_fwk_lite
master

搜索帮助

182229 41614e54 1850385 182230 7885ed45 1850385