mbedtls 软件包是对 SSL/TLS 协议的实现。SSL(安全套接层)和 TLS(传输安全层)均是为了保证传输过程中信息的安全,是在明文传输基础上进行的加密,然后以密文的形式传输数据。 mbedTLS 建立安全通信连接需要经过以下几个步骤: 初始化 SSL/TLS 上下文 建立 SSL/TLS 握手 发送、接收数据 交互完成,关闭连接 其中,最关键的步骤就是 SSL/TLS 握手 连接的建立
iotkit SDK 为了方便设备上云封装了丰富的连接协议,如 MQTT、CoAP、HTTP、TLS,并且对硬件平台进行了抽象,使其不收具体的硬件平台限制而更加灵活。 通常用户并不需要关心 SDK 底层的实现机制,而只需要了解设备如何通过 SDK 与云端进行数据交互即可,方便用户理解如何使用应用层 API 接口进行业务逻辑编写。这里举例展示了 MQTT 和 OTA 应用的数据交互流程。 MQTT
MQTT 协议工作原理 在 MQTT 协议中有三种身份:发布者(Publish)、代理(Broker)(服务器)和订阅者(Subscribe)。其中消息的发布者和订阅者都是客户端,消息代理是服务器,消息发布者可以同时是订阅者,这三者的关系如下图所示: 在 MQTT 协议的实际使用过程中,一般遵循以下流程: 发布者通过代理服务器向指定的 Topic 发布消息。 订阅者通过代理服务器订阅所需要的 To
OneNET 软件包数据的上传和命令的接收是基于 MQTT 实现的,OneNET 的初始化其实就是 MQTT 客户端的初始化,初始化完成后,MQTT 客户端会自动连接 OneNET 平台。数据的上传其实就是往特定的 topic 发布消息。当服务器有命令或者响应需要下发时,会将消息推送给设备。 获取数据流、数据点,发布命令则是基于 HTTP Client 实现的,通过 POST 或 GET 将相应的
WebNet 软件包主要用于在嵌入式设备上实现 HTTP 服务器,软件包的主要工作原理基于 HTTP 协议实现。 HTTP 协议定义了客户端如何从服务器请求数据,以及服务器如何把数据传送给客户端的方式。HTTP 协议采用了请求/响应模型。 客户端向服务器发送一个请求报文,请求报文包含请求的方法、URL、协议版本、请求头部和请求数据。服务器通过解析请求头部信息,执行相应的功能模块,并且给客户端发送响
原型模式是创建型模式的一种,其特点在于通过「复制」一个已经存在的实例来返回新的实例,而不是新建实例。被复制的实例就是我们所称的「原型」,这个原型是可定制的。 原型模式多用于创建复杂的或者耗时的实例,因为这种情况下,复制一个已经存在的实例使程序运行更高效;或者创建值相等,只是命名不一样的同类数据。 将构造函数模式中的示例稍作改造,用 prototype 实现成员方法: function Family
literal标签可以防止模板标签被解析,所有想原样输出的代码都可以使用这个标签包裹起来,如: <literal> 这里是原样输出的内容{$name} </literal> 如果 js 代码有和模板引擎有冲突的地方也可以使用literal标签包裹起来,防止被解析。
请参考:http://www.kancloud.cn/manual/thinkphp/1820
literal标签可以防止模板标签被解析,所有想原样输出的代码都可以使用这个标签包裹起来,如: <literal> 这里是原样输出的内容{$name} </literal> 如果 js 代码有和模板引擎有冲突的地方也可以使用literal标签包裹起来,防止被解析。
坚持本书“FreeRADIUS入门”第3章中建立的原则,以避免意外后果。规则如下: 尽可能小 - 默认配置应该按原样运行。 在了解其用途之前,请不要编辑默认配置文件。 进行更改时,请事先备份配置并一次更改一个项目。 通过在调试模式下运行FreeRADIUS并在各种情况下仔细观察输出,确认更改按预期工作。 在更改任何内容之前,最好创建FreeRADIUS配置目录的备份。当一个人处于压力之下时,人们往
整体架构 Apache ShardingSphere 通过解析 SQL,根据配置文件中用户设置的影子规则,对传入的 SQL 进行路由并改写,删除影子字段与字段值。用户无需关注具体过程, 使用时仅对 SQL 进行相应改造,添加影子字段与相应的配置即可。 影子规则 影子规则包含影子字段及映射关系。 处理过程 以 INSERT 语句为例,在写入数据时,Apache ShardingSphere 会对 S
处理流程详解 Apache ShardingSphere 通过对用户输入的 SQL 进行解析,并依据用户提供的加密规则对 SQL 进行改写,从而实现对原文数据进行加密,并将原文数据(可选)及密文数据同时存储到底层数据库。 在用户查询数据时,它仅从数据库中取出密文数据,并对其解密,最终将解密后的原始数据返回给用户。 Apache ShardingSphere 自动化 & 透明化了数据加密过程,让用户
原理说明 考虑到 Apache ShardingSphere 的弹性伸缩模块的几个挑战,目前的弹性伸缩解决方案为:临时地使用两个数据库集群,伸缩完成后切换的方式实现。 这种实现方式有以下优点: 伸缩过程中,原始数据没有任何影响 伸缩失败无风险 不受分片策略限制 同时也存在一定的缺点: 在一定时间内存在冗余服务器 所有数据都需要移动 弹性伸缩模块会通过解析旧分片规则,提取配置中的数据源、数据节点等信
导览 本小节主要介绍 Apache ShardingSphere 分布式事务的实现原理 基于 XA 协议的两阶段事务 基于 Seata 的柔性事务
在 Casbin 中, 访问控制模型被抽象为基于 PERM (Policy, Effect, Request, Matcher) 的一个文件。 因此,切换或升级项目的授权机制与修改配置一样简单。 您可以通过组合可用的模型来定制您自己的访问控制模型。 例如,您可以在一个model中结合RBAC角色和ABAC属性,并共享一组policy规则。 PERM模式由四个基础(政策、效果、请求、匹配)组成,描述