openharmony_ci 4d248b556e !130 merge master_bugfix into master
缓冲区越界读风险修复

Created-by: weixin_55426550
Commit-by: Administrator
Merged-by: openharmony_ci
Description: ### 一、内容说明(相关的Issue)

https://gitcode.com/openharmony/ability_dmsfwk_lite/issues/36

### 二、建议测试周期和提测地址  
  建议测试完成时间:xxxx.xx.xx  
  投产上线时间:xxxx.xx.xx  
  提测地址:CI环境/压测环境  
  测试账号:  

### 三、变更内容
  * 3.1 关联PR列表

  * 3.2 数据库和部署说明  
    1. 常规更新 
    2. 重启unicorn
    3. 重启sidekiq
    4. 迁移任务:是否有迁移任务,没有写 "无"
    5. rake脚本:`bundle exec xxx RAILS_ENV = production`;没有写 "无"

  * 3.4 其他技术优化内容(做了什么,变更了什么)
    - 重构了 xxxx 代码
    - xxxx 算法优化


  * 3.5 废弃通知(什么字段、方法弃用?)



  * 3.6  后向不兼容变更(是否有无法向后兼容的变更?)


  
### 四、研发自测点(自测哪些?冒烟用例全部自测?)
  自测测试结论:


### 五、测试关注点(需要提醒QA重点关注的、可能会忽略的地方)
  检查点:

| 需求名称 | 是否影响xx公共模块 | 是否需要xx功能 | 需求升级是否依赖其他子产品 |
|------|------------|----------|---------------|
| xxx  | 否          | 需要       | 不需要           |
|      |            |          |               |

  接口测试:

  性能测试:

  并发测试:

  其他:



See merge request: openharmony/ability_dmsfwk_lite!130
2026-05-26 21:00:35 +08:00
2022-11-11 17:30:19 +08:00
2024-05-06 18:57:50 +08:00
2024-11-14 16:58:37 +08:00
2026-05-25 16:04:59 +08:00
2023-08-09 16:21:05 +08:00
2024-06-25 17:05:56 +08:00
2022-09-28 11:13:06 +08:00
2022-11-11 17:30:19 +08:00

dmsfwk_lite

Introduction

The Lite Distributed Ability Manager Service Framework (dmsfwk_lite) component provides the capability of starting Feature Abilities (FAs) across devices and supports application collaboration in distributed scenarios. The following figure shows the architecture of dmsfwk_lite.

Directory Structure

The table below describes the directory structure of the dmsfwk_lite source code.

Table 1 Directory structure of the major source code

Directory Description
dmsfwk_lite Implementation of dmsfwk_lite

The source code directory structure of dmsfwk_lite is as follows:

├── BUILD.gn
├── include
│  ├── dmslite.h        # Header file for the open APIs provided by dmsfwk_lite
│  ├── dmslite_check_remote_permission.h     # Header file for the permission management module of dmsfwk_lite
│  ├── dmslite_famgr.h                       # Header file for the FA management module of dmsfwk_lite
│  ├── dmslite_inner_common.h                # Internal common file of dmsfwk_lite
│  ├── dmslite.h                             # Header file for the implementation of the dmsfwk_lite service
│  ├── dmslite_log.h                         # Header file for the log module
│  ├── dmslite_parser.h                  # Header file for the distributed message parsing module
│  ├── dmslite_tlv_common.h                  # Header file for the TLV data parsing module
│  └── dmslite_session.h                     # Header file for the inter-device communication module
├── 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

Constraints

Programming language: C/C++

Networking environment: The local and remote devices must be on the same LAN and can ping each other.

Operating system: OpenHarmony

Remote startup:

  • Only FAs can be started remotely.
  • Before the remote startup, ensure that the distributed networking between the local and remote devices is successful. Otherwise, the remote startup fails.

Usage

  • Building

    The code of dmsfwk_lite is stored in the following directory:

    foundation/ability/dmsfwk_lite
    

    When building the code for a specific platform, you must specify the target platform.

    hb build
    
  • Local device development (taking FA startup as an example)

    Create a Want instance to set the remote device ID, bundle name, and ability class name of the target FA and set the Want.FLAG_ABILITYSLICE_MULTI_DEVICE flag to enable distributed startup.

    import ohos.aafwk.ability.Ability;
    import ohos.aafwk.content.Want;
    import ohos.bundle.ElementName;
    
    // Create a Want instance that will be passed to the startAbility method.
    Want want = new Want();
    ElementName name = new ElementName(remote_device_id,       "ohos.dms.remote_bundle_name", "remote_ability_name"); 
    want.setElement(name); // Add information about the target FA to the Want instance.
    want.setFlags(Want.FLAG_ABILITYSLICE_MULTI_DEVICE); // Set the multi-device startup flag. If this flag is not set, remote FA startup will be unavailable.
    
    // Start the remote FA on the remote device.
    startAbility(want); // Start the specified FA based on the want parameter. If the name and type of the want parameter are different from those used in DevEco Studio, use the parameter name and type in DevEco Studio.
    
  • Prerequisites

    The target FA with the specified bundle name must have been installed on the remote device.

  • Execution (taking FA startup as an example)

    Call the startAbility method on the local device to start the target FA on the remote device.

Repositories Involved

dmsfwk_lite

dmsfwk_lite

S
Description
Implementation code of the Distributed Scheduler | 分布式调度模块
Readme 992 KiB
Languages
C 79.7%
C++ 20.3%