在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于Openharmony輕量級操作系統(tǒng)的分布式數(shù)據(jù)管理開發(fā)案例

福州市凌睿智捷電子有限公司 ? 2024-08-07 08:23 ? 次閱讀

實驗內(nèi)容

本例程演示如何在小凌派-RK2206開發(fā)板上使用OpenHarmony輕量級操作系統(tǒng)進(jìn)行KvStore(即分布式數(shù)據(jù)管理)數(shù)據(jù)讀寫。

例程:

(1)創(chuàng)建兩個線程,一個負(fù)責(zé)寫入KvStore存儲,一個負(fù)責(zé)讀取KvStore存儲;

(2)每1秒進(jìn)行1次讀寫操作;

程序設(shè)計

在本章節(jié)中,我們將了解OpenHarmony KvStore存儲接口,如文件如何獲取數(shù)據(jù)、設(shè)置數(shù)據(jù)、刪除數(shù)據(jù)和清除緩存。

API分析

頭文件

//utils/native/lite/include/kv_store.h

UtilsGetValue()

intUtilsGetValue(constchar*key,char*value,unsignedintlen);

描述:

從文件系統(tǒng)或緩存中獲取與指定鍵匹配的值。

參數(shù)

名字描述
key鍵值
value獲取數(shù)據(jù)
len數(shù)據(jù)長度

返回值:

返回值描述
0成功
其它見utils/native/lite/include/ohos_errno.h

UtilsSetValue()

intUtilsSetValue(constchar*key,constchar*value);

描述:

添加或更新與文件系統(tǒng)或緩存中的指定鍵匹配的值。

參數(shù):

名字描述
key鍵值
value寫入數(shù)據(jù)

返回值:

返回值描述
0成功
其它見utils/native/lite/include/ohos_errno.h

UtilsDeleteValue()

intUtilsDeleteValue(constchar*key);

描述:

從文件系統(tǒng)或緩存中刪除與指定鍵匹配的值。

參數(shù):

名字描述
key鍵值

返回值:

返回值描述
0成功
其它見utils/native/lite/include/ohos_errno.h

ClearKVCache()

int ClearKVCache(void);

描述:

從緩存中清除所有鍵值對。

返回值:

返回值描述
0成功
其它見utils/native/lite/include/ohos_errno.h

軟件設(shè)計

主要代碼分析

在kv_store_example函數(shù)中通過LOS_TaskCreate函數(shù)創(chuàng)建兩個線程:kv_store_write_thread、kv_store_read_thread。

void kv_store_example(){ unsigned int thread_id1; unsigned int thread_id2; TSK_INIT_PARAM_S task1 = {0}; TSK_INIT_PARAM_S task2 = {0}; unsigned int ret = LOS_OK;

task1.pfnTaskEntry = (TSK_ENTRY_FUNC)kv_store_write_thread; task1.uwStackSize = 1024 * 10; task1.pcName = "kv_store_write_thread"; task1.usTaskPrio = 25; ret = LOS_TaskCreate(&thread_id1, &task1); if (ret != LOS_OK) { printf("Falied to create kv_store_write_thread ret:0x%x\n", ret); return; }

task2.pfnTaskEntry = (TSK_ENTRY_FUNC)kv_store_read_thread; task2.uwStackSize = 1024 * 10; task2.pcName = "kv_store_read_thread"; task2.usTaskPrio = 25; ret = LOS_TaskCreate(&thread_id2, &task2); if (ret != LOS_OK) { printf("Falied to create kv_store_read_thread ret:0x%x\n", ret); return; }}

APP_FEATURE_INIT(kv_store_example);

kv_store_write_thread線程負(fù)責(zé)創(chuàng)建/更新KV存儲,每1秒寫入一段內(nèi)容,重復(fù)以上流程。

void kv_store_write_thread(){ int ret = 0; char defValue[50] = {0}; int current = 0;

while (1) { snprintf(defValue, sizeof(defValue), "test value %d.", current); int ret = UtilsSetValue(key, defValue); if (ret < 0) { printf("[error] %d\r\n", ret); } else { printf("[write] write success\r\n"); }

current++; LOS_Msleep(1000); }}

kv_store_read_thread線程負(fù)責(zé)讀取KV存儲,每1秒讀取一段內(nèi)容,重復(fù)以上流程。

void kv_store_read_thread(){ int ret = 0; char value1[50] = {0};

while (1) { ret = UtilsGetValue(key, value1, sizeof(value1)); if (ret < 0) { printf("[error] %d\r\n", ret); } else { printf("[read] key: %s value:%s\r\n", key, value1); }

LOS_Msleep(1000); }}

編譯調(diào)試

修改 BUILD.gn 文件

修改 vendor/lockzhiner/rk2206/sample 路徑下 BUILD.gn 文件,指定 a10_kv_store 參與編譯。

"./a10_kv_store:kv_store_example",

修改 device/rockchip/rk2206/sdk_liteos路徑下 Makefile 文件,添加 `-lkv_store_example` 參與編譯。

app_LIBS = -lkv_store_example

運行結(jié)果

示例代碼編譯燒錄代碼后,按下開發(fā)板的RESET按鍵,通過串口助手查看日志。

HalFileInit: Flash Init Successful![write] write success[read] key: key_sample value:test value 0.[write] write success[read] key: key_sample value:test value 1.[write] write success[read] key: key_sample value:test value 2.[write] write success[read]key:key_samplevalue:testvalue3.

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 操作系統(tǒng)
    +關(guān)注

    關(guān)注

    37

    文章

    6822

    瀏覽量

    123331
  • 開發(fā)板
    +關(guān)注

    關(guān)注

    25

    文章

    5050

    瀏覽量

    97456
  • 分布式數(shù)據(jù)

    關(guān)注

    0

    文章

    9

    瀏覽量

    8924
  • OpenHarmony
    +關(guān)注

    關(guān)注

    25

    文章

    3722

    瀏覽量

    16313
收藏 人收藏

    評論

    相關(guān)推薦

    HarmonyOS開發(fā)實例:【分布式數(shù)據(jù)管理

    eTS中分布式數(shù)據(jù)管理的使用,包括KVManager對象實例的創(chuàng)建和KVStore數(shù)據(jù)流轉(zhuǎn)的使用。
    的頭像 發(fā)表于 04-11 09:57 ?938次閱讀
    HarmonyOS<b class='flag-5'>開發(fā)</b>實例:【<b class='flag-5'>分布式</b><b class='flag-5'>數(shù)據(jù)管理</b>】

    基于Openharmony輕量級操作系統(tǒng)分布式數(shù)據(jù)管理開發(fā)案

    實驗內(nèi)容 本例程演示如何在小凌派-RK2206開發(fā)板上使用OpenHarmony輕量級操作系統(tǒng)進(jìn)行KvStore(即分布式
    發(fā)表于 08-06 11:56

    創(chuàng)建51輕量級操作系統(tǒng)

    創(chuàng)建51輕量級操作系統(tǒng)
    發(fā)表于 09-29 09:58

    HarmonyOS鴻蒙操作系統(tǒng)之什么是“基于微內(nèi)核的全場景分布式操作系統(tǒng)”?

    分布式:這個要提它對應(yīng)的一個詞來看,就是集中式;分布式是負(fù)責(zé)處理系統(tǒng)資源和控制程序運行。它與集中式操作系統(tǒng)的區(qū)別在于資源管理、進(jìn)程通信和
    發(fā)表于 09-23 17:06

    OpenHarmony 3.0 LTS 新增特性功能

    認(rèn)證的基本能力。支持關(guān)系型數(shù)據(jù)庫、分布式數(shù)據(jù)管理基礎(chǔ)能力。支持方舟JS編譯工具鏈和運行時,支持OpenHarmony JS UI框架應(yīng)用開發(fā)
    發(fā)表于 09-30 08:24

    分布式操作系統(tǒng)的相關(guān)資料分享

    文章目錄分布式操作系統(tǒng)嵌入操作系統(tǒng)集群操作系統(tǒng)集群系統(tǒng)管理
    發(fā)表于 12-22 07:23

    OpenHarmony標(biāo)準(zhǔn)設(shè)備應(yīng)用開發(fā)(三)——分布式數(shù)據(jù)管理

    所示的井字過三關(guān)游戲來講解分布式數(shù)據(jù)管理在應(yīng)用中的使用。Demo 簡介:Demo 基于 OpenHarmony 系統(tǒng)使用 eTS 語言進(jìn)行編寫,本 Demo 主要通過設(shè)備認(rèn)證,
    發(fā)表于 04-07 18:48

    OpenHarmony3.1分布式技術(shù)資料合集

    1、OpenHarmony3.1的分布式硬件管理框架簡介分布式硬件管理框架是為分布式硬件子
    發(fā)表于 04-11 11:50

    【學(xué)習(xí)打卡】OpenHarmony分布式數(shù)據(jù)管理介紹

    使用它來做出更明智的決策,如果一個系統(tǒng)缺乏適當(dāng)?shù)?b class='flag-5'>數(shù)據(jù)管理,那就可能會導(dǎo)致數(shù)據(jù)孤島、數(shù)據(jù)集之間不一致,甚至數(shù)據(jù)本身存在錯誤。有效的
    發(fā)表于 07-15 15:49

    【學(xué)習(xí)打卡】OpenHarmony分布式任務(wù)調(diào)度

    之前我們分享過分布式軟總線和分布式數(shù)據(jù)管理,今天主要說一下OpenHarmony分布式任務(wù)調(diào)度,分布式
    發(fā)表于 07-18 17:06

    開發(fā)樣例】OpenHarmony分布式購物車

    設(shè)計OpenHarmony技術(shù)特性eTS UI分布式調(diào)度分布式數(shù)據(jù)管理3.支持OpenHarmony版本
    發(fā)表于 07-29 14:17

    好書推薦|《OpenHarmony嵌入操作原理與應(yīng)用》

    OpenHarmony嵌入操作原理與應(yīng)用》一書以物聯(lián)網(wǎng)應(yīng)用為切入點,以瑞芯微 RK2206芯片為核心控制器,詳細(xì)講解了 OpenHarmony(開源鴻蒙)
    發(fā)表于 03-25 16:01

    鴻蒙操作系統(tǒng)的前世今生

    分布式數(shù)據(jù)管理分布式的安全,這三點將HarmonyOS的分布式能力提升到了另一個層次, 此版本可用于大屏、手表和車機(jī)。 2020年12月,華為發(fā)布面向
    發(fā)表于 10-08 19:55

    如何通過分布式數(shù)據(jù)管理實現(xiàn)多臺設(shè)備間的數(shù)據(jù)同步更新

    OpenHarmony 中如何實現(xiàn)音樂播放,顯示動畫,轉(zhuǎn)場動畫(頁面間轉(zhuǎn)場)等功能。本章是 OpenHarmony 標(biāo)準(zhǔn)設(shè)備應(yīng)用開發(fā)的第三篇文章,將會在前面兩章的基礎(chǔ)上給大家講解分布式
    的頭像 發(fā)表于 02-25 11:47 ?3579次閱讀
    如何通過<b class='flag-5'>分布式</b><b class='flag-5'>數(shù)據(jù)管理</b>實現(xiàn)多臺設(shè)備間的<b class='flag-5'>數(shù)據(jù)</b>同步更新

    鴻蒙開發(fā)接口數(shù)據(jù)管理:【@ohos.data.distributedData (分布式數(shù)據(jù)管理)】

    分布式數(shù)據(jù)管理為應(yīng)用程序提供不同設(shè)備間數(shù)據(jù)庫的分布式協(xié)同能力。通過調(diào)用分布式數(shù)據(jù)各個接口,應(yīng)用程
    的頭像 發(fā)表于 06-07 09:30 ?996次閱讀
    鴻蒙<b class='flag-5'>開發(fā)</b>接口<b class='flag-5'>數(shù)據(jù)管理</b>:【@ohos.data.distributedData (<b class='flag-5'>分布式</b><b class='flag-5'>數(shù)據(jù)管理</b>)】
    主站蜘蛛池模板: 成人综合婷婷国产精品久久免费 | 欧美性一区| 国产成人无精品久久久久国语| 色aaa| 国产高清视频在线播放www色 | 四虎国产精品高清在线观看| 黄色网址在线免费观看| 日本污污视频| 男人的午夜| 麻豆国产一区二区在线观看| 天天射天天操天天| 亚洲经典一区二区三区| 人与禽一级一级毛片| 性试验k8经典| 亚洲福利视频一区二区三区| 色男人社区| 午夜寂寞影| 草伊人| 欧美特黄三级在线观看| 天天狠狠色噜噜| 永久免费看| 亚洲日本一区二区| 欧美色综合网站| 日本高清免费一本视频在线观看| 免费看18污黄| 激情综合五月| jlzzjlzzjlzz日本亚洲| 天天好比网| 婷婷在线观看香蕉五月天| 色女人综合| 精品国产免费人成高清| 国产精品福利视频手机免费观看| 午夜爱爱小视频| 一级午夜免费视频| 老司机色网| 国产精品美女免费视频观看| 在线免费看影视网站| 日本精品高清一区二区2021| 日韩黄页| 天堂在线网| 手机看片国产精品|