# distributeddb
**Repository Path**: xu-chongyu214/distributeddb
## Basic Information
- **Project Name**: distributeddb
- **Description**: openEuler分布式数据编译测试
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 2
- **Created**: 2023-04-28
- **Last Updated**: 2023-05-25
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# kv_store数据库说明文档
## docs文档说明
| 文档名称 | 文档说明 | 备注 |
| --------------------------- | ------------------------------------------------------------ | --------------------------------------------------- |
| openHarmony编译流程.md | openHarmony编译过程解析,已经在openEuler上编译过程记录和问题汇总。 | 其他模块可能问题不同 |
| kv_store依赖关系.pdf | kv_store模块依赖梳理。 | 源文件为“kv_store依赖关系.xmind”,需要下载xmind软件 |
| kv_store调用关系.pdf | kv_store对外接口GetSingleKvStore的代码调用逻辑。 | 还未完全梳理完全。 |
| kv_store头文件.xlsx | kv_store对外提供头文件以及接口说明。 | 已和测试对齐。 |
| 分布式软总线版本差异对比.md | 3.1和3.2分布式软总线差异总结。 | 代码差异——玉凯 |
| dsoftbus调用关系.pdf | 分布式软总线服务端调用逻辑。 | 还未完全梳理完全。 |
## 代码说明
**代码仓路径:**
https://gitee.com/liheavy/distributeddb.git
修改内容可以见第一次提交之后的修改,应该可以通过git命令生成。当前代码基于openHarmony 3.2-Beta5分支拉取,代码已可以编译成功,包括kv_store,dsoftbus,SA及其依赖模块。
build/core/gn/BUILD.gn文件添加了分布式软总线服务端和samgr服务端的模块,这两个是间接依赖模块,是代码运行不可缺少的。后续有类似模块可添加到该文件中。
**run.sh脚本执行说明**,需在该文件所在目录执行:
| 第一个参数 | 第二个参数 | 说明 |
| ---------- | ------------------------------------------------------- | ------------------------------------------------------------ |
| build | | 执行openEuler产品的编译,并将编译后生成的so拷贝到当前目录的lib_so文件夹中,最后将该路径写入/etc/ld.so.conf.d/kv_store.conf,使二进制执行时能依赖到so文件。 |
| move | | 将编译后生成的so拷贝到当前目录的lib_so文件夹中,最后将该路径写入/etc/ld.so.conf.d/kv_store.conf,使二进制执行时能依赖到so文件。(build命令已包含该步骤,该步骤用于第一次编译报错,某些二进制依赖前面编译好的so文件时使用。) |
| run | samgr/device_auth/
softbus_server/db_server/kv_store | 执行各服务的服务端或者客户端的二进制文件,需从前到后顺序执行。 |
| binder | | 插入binder的ko,需要提前编译出来,然后注意修改ko路径,编译binder所用的脚本和代码在kernel_binder/drivers/android/路径下,可以拷贝到/usr/src/kernels/内核版本号/drivers/android/中进行编译。 |
**各模块二进制demo路径**
| 模块(对应run.sh的参数) | 对应BUILD.gn | 生成的二进制路径 | 说明 |
| ------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ |
| samgr | foundation/systemabilitymgr/samgr/
services/samgr/native/BUILD.gn | out/openEuler/
systemabilitymgr/samgr/samgr | 服 务 管理 服 务端 |
| device_auth | base/security/device_auth/services/BUILD.gn | out/openEuler/
security/device_auth/deviceauth_service | 设备 认证服务端 |
| softbus_server | foundation/communication/dsoftbus/core/frame/BUILD.gn | out/openEuler/
softbus_server_main | 分布式软总线服务端 |
| db_server | foundation/distributeddatamgr/datamgr_service/
services/distributeddataservice/app/BUILD.gn | out/openEuler/
distributed_data_service | 分布式数据服务端 |
| kv_store | foundation/distributeddatamgr/kv_store/
interfaces/innerkits/distributeddata/BUILD.gn | out/openEuler/
distributeddatamgr/kv_store/kv_manager_demo | 分布式数据库客户端 |
**日志路径:**
通过run.sh执行的二进制日志保存在/var/log/kv_store/参数名.log中
## 当前进度
- kv_store及其依赖模块编译成功
- binder编译成功,ko可以强制插入成功。
- SA编译成功,服务端可以启动但有日志报错,详细报错可见日志,服务注册和代理获取功能可用。
- dsoftbus服务端编译成功,二进制可以启动但有日志报错,主要为common_event服务获取不到,详细报错可见日志,其他模块调用接口可成功,3.1demo用到的接口还未测试。
- deviceAuth模块编译成功,服务端可以启动但有日志报错,详细报错可见日志,其他模块调用接口可成功。
- 分布式数据库服务端编译成功,二进制可以启动但有日志报错,主要为common_event服务获取不到,详细报错可见日志。
- kv_store客户端GetSingleKvStore接口编译成功,二进制可以启动,但运行报错,主要为分布式数据库服务端还未完全调通,详细报错可见日志。
## 遗留问题
- 当前适配是基于openHarmony3.2-Beta5版本,和3.2-Release差别未知。注:分布式软总线已经升级到3.2-Release,3.2-Beta5版本在仓库的foundation/communication有压缩包备份。
- 从demo运行情况来看,依赖还未迁移完全,例如deviceManager和commonEvent模块还需要迁移。
- 修改较大,尤其是hilog模块的使用方式修改,补丁可能会很大很多。