色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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 ? 次閱讀

實(shí)驗內(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

運(yùn)行結(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)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 操作系統(tǒng)
    +關(guān)注

    關(guān)注

    37

    文章

    6838

    瀏覽量

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

    關(guān)注

    25

    文章

    5068

    瀏覽量

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

    關(guān)注

    0

    文章

    9

    瀏覽量

    8937
  • OpenHarmony
    +關(guān)注

    關(guān)注

    25

    文章

    3725

    瀏覽量

    16375
收藏 人收藏

    評論

    相關(guān)推薦

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

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

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

    實(shí)驗內(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)資源和控制程序運(yùn)行。它與集中式操作系統(tǒng)的區(qū)別在于資源管理、進(jìn)程通信和
    發(fā)表于 09-23 17:06

    OpenHarmony 3.0 LTS 新增特性功能

    認(rèn)證的基本能力。支持關(guān)系型數(shù)據(jù)庫、分布式數(shù)據(jù)管理基礎(chǔ)能力。支持方舟JS編譯工具鏈和運(yùn)行時,支持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)用為切入點(diǎn),以瑞芯微 RK2206芯片為核心控制器,詳細(xì)講解了 OpenHarmony(開源鴻蒙)
    發(fā)表于 03-25 16:01

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

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

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

    OpenHarmony 中如何實(shí)現(xiàn)音樂播放,顯示動畫,轉(zhuǎn)場動畫(頁面間轉(zhuǎn)場)等功能。本章是 OpenHarmony 標(biāo)準(zhǔn)設(shè)備應(yīng)用開發(fā)的第三篇文章,將會在前面兩章的基礎(chǔ)上給大家講解分布式
    的頭像 發(fā)表于 02-25 11:47 ?3601次閱讀
    如何通過<b class='flag-5'>分布式</b><b class='flag-5'>數(shù)據(jù)管理</b>實(shí)現(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 ?1003次閱讀
    鴻蒙<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>)】
    主站蜘蛛池模板: 亚洲黄色在线视频| 婷婷久久综合九色综合伊人色| 国产成人精品电影在线观看| 97精品少妇偷拍AV| 中文字AV字幕在线观看| 亚洲精品一二三| 午夜啪啪免费视频| 午夜片神马影院福利| 无套日出白浆在线播放| 特黄特色大片免费播放器9 | 香蕉97超级碰碰碰碰碰久| 色多多污网站在线观看| 色橹| 视频成人永久免费看| 色柚视频网站ww色| 桃花在线观看播放| 无套内谢大学生A片| 胸大美女又黄的网站| 亚洲xxxx动漫| 一级特黄aa大片欧美| 正在播放国产尾随丝袜美女| 2018高清国产一区二区三区| 99re6久久热在线播放| FREEHDXXXX学生妹| 丰满的女朋友 在线播放| 国产精品2020观看久久| 国产一区日韩二区欧美三区| 国偷自产AV一区二区三区健身房| 精品久久久麻豆国产精品| 久久婷婷丁香五月色综合啪免费| 美女丝袜夹b| 日操夜操天天操| 亚洲a视频在线观看| 在线免费观看成年人视频| AV国产乱码一区二区三视频| 吃奶摸下的羞羞漫画| 国产欧美无码亚洲| 久久热免费视频| 人妻仑乱少妇88MAV| 小柔的性放荡羞辱日记| 一区二区三区四区国产|