重磅!首个跨平台的通用 Linux 端间互联组件 Klink 在 openKylin 开源
随着智能终端设备的普及,多个智能终端设备之间的互联互通应用场景日益丰富,多设备互联互通应用场景需要开发者单独实现通讯协议。因此,为解决跨平台互联互通问题,由openKylin社区理事单位麒麟软件旗下星光麒麟团队成立的Connectivity SIG经过研究探索,打造了一个跨平台的通用Linux端间互联组件—Klink。
一、什么是Klink
Klink是由openKylin社区Connectivity SIG—星光麒麟团队于2021年开始打造的端间互联组件,解耦了软总线模块对多系统平台的应用,实现了对跨平台软总线协议的兼容,包括鸿蒙软总线4.x协议等,使包括openKylin开源操作系统、银河麒麟桌面操作系统等在内的各种主流Linux发行版皆可跨平台互联互通,大幅扩展了生态边界,为我国基础软件健康开放发展做出了贡献。其基本架构如下图所示:
二、Klink优势
openKylin社区理事单位麒麟软件“星光麒麟”万物智联操作系统,以“弹性扩展、智能互联、内生安全、统一框架”的产品特性,针对国家、行业、企业和个人数字化应用需求,开启了面向全场景的新一代操作系统创新之路。其中智能互联特性就是以Klink作为统一通信底座,实现了两大端间互联能力:
-
其一是分布式硬件资源共享能力。抽象终端设备硬件能力为显示、摄像头、音频等基础能力,基于Klink技术实现设备间硬件资源即时协作、算力共享。
-
其二是跨终端互联互通能力。支持多设备间设备发现、设备组网、设备认证、设备连接,实现图片、文件等数据在设备间快速传输,内容无缝流转,支持多设备间协作和屏幕共享。
三、Klink使用说明
1.地址
https://gitee.com/openkylin/klink
2.源码链接
git clone https://gitee.com/openkylin/klink.git
3.编译
cd src-path # 进入源码路径
# 编译依赖
# 查看build-depends文件
# 这里需要使用3.0.0以上版本的openssl库
# 这里在third_party/openssl/下提供已编译的openssl库,仅支持linux使用,其他平台需要自行编译
# 执行
sudo bash ./third_party/openssl/openssl_install.sh ./third_party/openssl [amd|arm]
# 进行动态库植入
# 如果你是其他平台或架构,请自己编译openssl版本,非常抱歉
mkdir build & cd build
cmake ..
make
sudo make install
4.服务部署
# 启动Klink服务
sudo /opt/dsoftbus/bin/connectivity_softbus_server > log.file &
# 启动设备管理服务
sudo /opt/dsoftbus/bin/connectivity_devicemgr_service > log.file &
# 启动认证客户端(可以根据SDK接口自己实现)
sudo /opt/dsoftbus/bin/connectivity_devicemgr_client
5.Klink SDK链接
find_package(PkgConfig REQUIRED)
pkg_check_modules(SOFTBUS_CLIENT REQUIRED softbus_client)
pkg_check_modules(DEVICEMGR_SDK REQUIRED devicemgr_sdk)
include_directories(${SOFTBUS_CLIENT_INCLUDE_DIRS})
include_directories(${DEVICEMGR_SDK_INCLUDE_DIRS})
target_link_libraries (
${PROJECT_NAME}
PUBLIC
${SOFTBUS_CLIENT_LIBRARIES}
${DEVICEMGR_SDK_LIBRARIES}
)
四、关于Connectivity SIG
Connectivity SIG由社区理事单位麒麟软件旗下星光麒麟牵头组建,主要负责openKylin社区的互联互通基础能力开发与维护,负责系统互联互通能力规划及开发,负责系统互联互通兼容性、前瞻性探索及研究。欢迎感兴趣的小伙伴加入我们!
-
Connectivity SIG主页:
https://gitee.com/openkylin/community/tree/master/sig/Connectivity
-
Klink主页:
https://gitee.com/openkylin/klink

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
可以把 FolkMQ 内嵌到 SpringBoot3 项目里(可内嵌的消息中间件,纯血国产)
之前发了《把 FolkMQ 内嵌到 SpringBoot2 项目里(比如 “诺依” 啊)》。有人说都淘态了,有什么好内嵌的。。。所以再发个 SpringBoot3 FolkMQ 是一个 “纯血国产” 的消息中间件。支持内嵌、单机、集群、多重集群等多种部署方式。 内嵌版,就相当于 H2 或 SQLite 数据库一样。给一些小项目(或者特别需求)带来了方便。 大项目,则可以使用独立部署的 “单机版” 或 “集群版” 内嵌个消息中间件,体积会不会太大啦?!!不会,才7Mb。好小的! 1、了解 FolkMQ 内嵌版 FolkMQ 内嵌版(带 Web 控制台界面的),体积增加 7Mb,就可以附加完整消息中间件的能力喽。比如你在用 “诺依” 开发个小项目,需要消息中间件,但是又不想独立部署。这就很适合呢! 内嵌版与单机板,功能一模一样 控制台界面是基于Solon 框架开发的,非常小巧。(可以用宿主项目的端口,也可以独立端口) 可以内嵌到jFinal,Solon,SpringBoot2,SpringBoot3,Vert.X等框架里 说起来 Solon 真是中间件的控制台良配,又小又强又可以内嵌。太爱...
- 下一篇
Karmada v1.10 发布,新增多集群声明式负载重平衡
本文分享自华为云社区《Karmada v1.10 - 多集群声明式负载重平衡》,作者:云容器大未来。 Karmada 是开放的多云多集群容器编排引擎,旨在帮助用户在多云环境下部署和运维业务应用。凭借兼容 Kubernetes 原生 API 的能力,Karmada 可以平滑迁移单集群工作负载,并且仍可保持与 Kubernetes 周边生态工具链协同。 在最新发布的v1.10版本中,Karmada新增了工作负载重平衡功能:在某些场景下,资源副本的当前分布状态可能不是最优,但调度器为了减少对系统的冲击会尽可能保持调度结果的惰性,不会轻易改变调度结果;此时,用户可以通过新引入的 WorkloadRebalancer API 针对指定的资源手动触发全新的重调度,以在集群间建立最优的副本状态分布。 本版本其他新增特性: 解除资源模板名称长度不能超过 63 个字符的限制 生产环境中的可用性和可靠性增强 新特性概览 Workload Rebalance 一般情况下,工作负载类资源一旦被调度,其调度结果通常会保持惰性,不会轻易改变副本分布状态。即使通过修改资源模板中的副本数或PropagationPol...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- CentOS7,8上快速安装Gitea,搭建Git服务器
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- CentOS8编译安装MySQL8.0.19
- CentOS7,CentOS8安装Elasticsearch6.8.6