 KiCad PCB 编辑器 5.1
0)点:”选项中,选择 DXF 原点相对于板坐标的位 置(KiCad 板在左上角有(0,0))。 对于“用户定义位置”,在“X 位 置”和“Y 位置”字段中输入坐标。 4. 在“层”选择中,选择导入的板层。 电路板边框需要 * Edge.Cuts * 。 5. 单击“确定”。 使用“OpenGL”或“Cairo”画布模式: 1. 在 文件 菜单中,选择 导入 ,然后选择 DXF 文件 选项。 在 导入 DXF 文件 对话框中,使用“浏览”选择要导入的准备好的 DXF 文 件。 3. 在此模式下,将忽略‘放置 DXF 原点(0,0)点:’选项设置。 4. 在“层”选择中,选择导入的板层。 电路板边框需要 * Edge.Cuts * 。 5. 单击“确定”。 6. 现在,形状已附加到光标上,可以在电路板区域周围移动。 7. 单击以“放下”板上的形状。 示例导入 DXF 形状0 码力 | 304 页 | 3.02 MB | 1 年前3 KiCad PCB 编辑器 5.1
0)点:”选项中,选择 DXF 原点相对于板坐标的位 置(KiCad 板在左上角有(0,0))。 对于“用户定义位置”,在“X 位 置”和“Y 位置”字段中输入坐标。 4. 在“层”选择中,选择导入的板层。 电路板边框需要 * Edge.Cuts * 。 5. 单击“确定”。 使用“OpenGL”或“Cairo”画布模式: 1. 在 文件 菜单中,选择 导入 ,然后选择 DXF 文件 选项。 在 导入 DXF 文件 对话框中,使用“浏览”选择要导入的准备好的 DXF 文 件。 3. 在此模式下,将忽略‘放置 DXF 原点(0,0)点:’选项设置。 4. 在“层”选择中,选择导入的板层。 电路板边框需要 * Edge.Cuts * 。 5. 单击“确定”。 6. 现在,形状已附加到光标上,可以在电路板区域周围移动。 7. 单击以“放下”板上的形状。 示例导入 DXF 形状0 码力 | 304 页 | 3.02 MB | 1 年前3
 PyWebIO v1.0.3 使用手册pywebio.platform pywebio.session 索引 A | C | D | E | F | G | H | I | O | P | R | S | T | U | W | 模 A actions() (在 pywebio.input 模块中) C checkbox() (在 pywebio.input 模块中) clear() (在 pywebio.output 模块中) 模块中) defer_call() (在 pywebio.session 模 块中) demos 模块 demos.bmi 模块 demos.chat_room 模块 demos.input_usage 模块 demos.output_usage 模块 download() (在 pywebio.session 模 块中) E eval_js() (在 pywebio.session get_scope() (在 pywebio.output 模 块中) go_app() (在 pywebio.session 模块 中) H hold() (在 pywebio.session 模块中) I input() (在 pywebio.input 模块中) input_group() (在 pywebio.input 模 块中) O output() (在 pywebio.output0 码力 | 106 页 | 7.34 MB | 1 年前3 PyWebIO v1.0.3 使用手册pywebio.platform pywebio.session 索引 A | C | D | E | F | G | H | I | O | P | R | S | T | U | W | 模 A actions() (在 pywebio.input 模块中) C checkbox() (在 pywebio.input 模块中) clear() (在 pywebio.output 模块中) 模块中) defer_call() (在 pywebio.session 模 块中) demos 模块 demos.bmi 模块 demos.chat_room 模块 demos.input_usage 模块 demos.output_usage 模块 download() (在 pywebio.session 模 块中) E eval_js() (在 pywebio.session get_scope() (在 pywebio.output 模 块中) go_app() (在 pywebio.session 模块 中) H hold() (在 pywebio.session 模块中) I input() (在 pywebio.input 模块中) input_group() (在 pywebio.input 模 块中) O output() (在 pywebio.output0 码力 | 106 页 | 7.34 MB | 1 年前3
 PyWebIO v0.3.0 使用手册output pywebio.platform pywebio.session 索引 A | C | D | F | G | H | I | P | R | S | T | W | 模 A actions() (在 pywebio.input 模块中) C checkbox() (在 pywebio.input 模块中) clear_after() (在 pywebio.output TaskHandle 方法) closed() (pywebio.session.coroutinebased.TaskHandle 方法) D defer_call() (在 pywebio.session 模 块中) demos 模块 demos.bmi 模块 demos.chat_room 模块 demos.input_usage 模块 demos.output_usage 模块 F pywebio.input 模 块中) P put_buttons() (在 pywebio.output 模 块中) put_code() (在 pywebio.output 模块 中) put_file() (在 pywebio.output 模块 中) put_html() (在 pywebio.output 模块 中) put_image() (在 pywebio.output 模 块中) put_markdown()0 码力 | 72 页 | 8.55 MB | 1 年前3 PyWebIO v0.3.0 使用手册output pywebio.platform pywebio.session 索引 A | C | D | F | G | H | I | P | R | S | T | W | 模 A actions() (在 pywebio.input 模块中) C checkbox() (在 pywebio.input 模块中) clear_after() (在 pywebio.output TaskHandle 方法) closed() (pywebio.session.coroutinebased.TaskHandle 方法) D defer_call() (在 pywebio.session 模 块中) demos 模块 demos.bmi 模块 demos.chat_room 模块 demos.input_usage 模块 demos.output_usage 模块 F pywebio.input 模 块中) P put_buttons() (在 pywebio.output 模 块中) put_code() (在 pywebio.output 模块 中) put_file() (在 pywebio.output 模块 中) put_html() (在 pywebio.output 模块 中) put_image() (在 pywebio.output 模 块中) put_markdown()0 码力 | 72 页 | 8.55 MB | 1 年前3
 CmlPHP v2.x 开发手册
Interfaces\Debug接口即可/当然直接 修改模板也可以。配置项 'debug_page' => CML_CORE_PATH.'/Tpl/debug.tpl', // debug调试信息模 板 Cml::getContainer()->singleton('cml_debug', \Cml\Debug::class); // 可 选 , 队 列 服 务 内 置 web\Controller 开始 因为这边 DefaultController 直接是存放 在 web\Controller 目录下 所以命名空间为 web\Controller ,假如我们有一个商品 模 块 商 品 模 块 下 有 商 品 跟 订 单 两 个 控 制 器 这 时 目 录 结 构 则 为 相应的Goods的文件内容为 模 型 名 + Model (如 User 模型的文件名为 UserModel.php ,名字中的Model后缀也是可 选),模型名首字母大写, Cml\Model 为所有模型的基类,所有Model都要继承它,比0 码力 | 251 页 | 973.37 KB | 1 年前3 CmlPHP v2.x 开发手册
Interfaces\Debug接口即可/当然直接 修改模板也可以。配置项 'debug_page' => CML_CORE_PATH.'/Tpl/debug.tpl', // debug调试信息模 板 Cml::getContainer()->singleton('cml_debug', \Cml\Debug::class); // 可 选 , 队 列 服 务 内 置 web\Controller 开始 因为这边 DefaultController 直接是存放 在 web\Controller 目录下 所以命名空间为 web\Controller ,假如我们有一个商品 模 块 商 品 模 块 下 有 商 品 跟 订 单 两 个 控 制 器 这 时 目 录 结 构 则 为 相应的Goods的文件内容为 模 型 名 + Model (如 User 模型的文件名为 UserModel.php ,名字中的Model后缀也是可 选),模型名首字母大写, Cml\Model 为所有模型的基类,所有Model都要继承它,比0 码力 | 251 页 | 973.37 KB | 1 年前3
 Krita 5.2 中文手册上图是一张红玫瑰的图像中的红色通道。我们可以看到花瓣是浅白色的, 这意味着那些区域的红色含量高。茎叶的颜色很暗,意味着红色的含量少 ——因为它们是绿色的。 计算机默认使用 RGB 色彩模型,但它们也可以把颜色转换成减色法的 CMYK 模 型,或者可感知的模型,如 LAB 模型。无论是哪种模型,本质上都是在描述颜色的 相互关系,它们通常都会包含三个分量。灰阶图像是个例外,在这个模型里计算机 只需保存一种颜色有多白,所以灰阶图像比较节省内存。 继承关系影响与其关联的图层。在滤镜图层上调整透明度和应用透明度蒙版可以影 响它们作用的图层和区域。 滤镜蒙版可以通过一张灰阶图像影响一个图层或者一个图层组,这和透明度蒙版类 似。 我们可以使用滤镜图层来让刚才的女鬼变得更加鬼模鬼样。在女鬼的图层上点击右 键,创建一个克隆图层。在这个克隆图层上点击右键,创建一个滤镜蒙版,选用“高 斯模糊”滤镜,把半径设为 10px 左右。我们把克隆图层放在原始图层的下面,然后 把混合模式设为“ 图层可以让你更好地控制作品的绘制过程。例如,你可以把图层的线稿跟颜色 分开画在不同的图层上面,这样就算不小心把颜色画坏了,也不至于连同线稿 一起毁掉。 你可以单独编辑每个图层,还可以为它们添加特殊效果,如图层样式、混合模 式、透明度、滤镜和变形等。Krita 会把上面的这些内容在图层组中进行合成, 生成最终的图像。听起来挺厉害,但这也只是 Krita 丰富的图像处理功能的其 中一种而已! 一般来说,当你把一张颜料图0 码力 | 1594 页 | 79.20 MB | 1 年前3 Krita 5.2 中文手册上图是一张红玫瑰的图像中的红色通道。我们可以看到花瓣是浅白色的, 这意味着那些区域的红色含量高。茎叶的颜色很暗,意味着红色的含量少 ——因为它们是绿色的。 计算机默认使用 RGB 色彩模型,但它们也可以把颜色转换成减色法的 CMYK 模 型,或者可感知的模型,如 LAB 模型。无论是哪种模型,本质上都是在描述颜色的 相互关系,它们通常都会包含三个分量。灰阶图像是个例外,在这个模型里计算机 只需保存一种颜色有多白,所以灰阶图像比较节省内存。 继承关系影响与其关联的图层。在滤镜图层上调整透明度和应用透明度蒙版可以影 响它们作用的图层和区域。 滤镜蒙版可以通过一张灰阶图像影响一个图层或者一个图层组,这和透明度蒙版类 似。 我们可以使用滤镜图层来让刚才的女鬼变得更加鬼模鬼样。在女鬼的图层上点击右 键,创建一个克隆图层。在这个克隆图层上点击右键,创建一个滤镜蒙版,选用“高 斯模糊”滤镜,把半径设为 10px 左右。我们把克隆图层放在原始图层的下面,然后 把混合模式设为“ 图层可以让你更好地控制作品的绘制过程。例如,你可以把图层的线稿跟颜色 分开画在不同的图层上面,这样就算不小心把颜色画坏了,也不至于连同线稿 一起毁掉。 你可以单独编辑每个图层,还可以为它们添加特殊效果,如图层样式、混合模 式、透明度、滤镜和变形等。Krita 会把上面的这些内容在图层组中进行合成, 生成最终的图像。听起来挺厉害,但这也只是 Krita 丰富的图像处理功能的其 中一种而已! 一般来说,当你把一张颜料图0 码力 | 1594 页 | 79.20 MB | 1 年前3
 Krita 4.x 官方文档中文版 2021-08-06A光线的感知,而光是一 种电磁波。任何物体的表面都会反射、吸收不同波长的电磁波 (光) ,不同波长 的光呈现出不同的颜色。 左图:符合减色法原则的 CMY 色彩模型;右图:符合加色法的 RGB 色彩模 型。由于两者的差异,图像在打印前都需要进行一次色彩转换。 在传统绘画中我们使用颜料作画。不同的颜料会吸收不同波长的光,从而呈现 出它们应有的颜色。但是混合的颜料越多,被吸收的光就越多,颜色也会变得 按照继承关系影响与其关联的图层。在滤镜图层上调整透明度和应用透明度蒙 版可以影响它们作用的图层和区域。 滤镜蒙版可以通过一张灰阶图像影响一个图层或者一个分组,这和透明度蒙版 类似。 我们可以使用滤镜图层来让刚才的女鬼变得更加鬼模鬼样。在女鬼的图层上点 击右键,创建一个克隆图层。在这个克隆图层上点击右键,创建一个滤镜蒙 版,选用“高斯模糊”滤镜,把半径设为 10px 左右。我们把克隆图层放在原始 图层的下面,然后把混色模式设为“ 在 Krita 里面,“绘画工具”的概念和 Photoshop 完全不同。Photoshop 提供了画笔、橡皮擦、 克隆、模糊等工具,而 Krita 则提供了手绘、直线、矩形、椭圆形、多重笔刷等“描线模 式”,而橡皮擦、克隆、模糊等则被作为“绘画模式”由笔刷引擎选项控制。常用的笔刷引擎 选项可被保存为“预设”,显示在 笔刷预设 面板里。要对笔刷进行微调或者制作自己的笔 刷,请点击工具栏的 编辑笔刷选项0 码力 | 1373 页 | 74.74 MB | 1 年前3 Krita 4.x 官方文档中文版 2021-08-06A光线的感知,而光是一 种电磁波。任何物体的表面都会反射、吸收不同波长的电磁波 (光) ,不同波长 的光呈现出不同的颜色。 左图:符合减色法原则的 CMY 色彩模型;右图:符合加色法的 RGB 色彩模 型。由于两者的差异,图像在打印前都需要进行一次色彩转换。 在传统绘画中我们使用颜料作画。不同的颜料会吸收不同波长的光,从而呈现 出它们应有的颜色。但是混合的颜料越多,被吸收的光就越多,颜色也会变得 按照继承关系影响与其关联的图层。在滤镜图层上调整透明度和应用透明度蒙 版可以影响它们作用的图层和区域。 滤镜蒙版可以通过一张灰阶图像影响一个图层或者一个分组,这和透明度蒙版 类似。 我们可以使用滤镜图层来让刚才的女鬼变得更加鬼模鬼样。在女鬼的图层上点 击右键,创建一个克隆图层。在这个克隆图层上点击右键,创建一个滤镜蒙 版,选用“高斯模糊”滤镜,把半径设为 10px 左右。我们把克隆图层放在原始 图层的下面,然后把混色模式设为“ 在 Krita 里面,“绘画工具”的概念和 Photoshop 完全不同。Photoshop 提供了画笔、橡皮擦、 克隆、模糊等工具,而 Krita 则提供了手绘、直线、矩形、椭圆形、多重笔刷等“描线模 式”,而橡皮擦、克隆、模糊等则被作为“绘画模式”由笔刷引擎选项控制。常用的笔刷引擎 选项可被保存为“预设”,显示在 笔刷预设 面板里。要对笔刷进行微调或者制作自己的笔 刷,请点击工具栏的 编辑笔刷选项0 码力 | 1373 页 | 74.74 MB | 1 年前3
 Krita 5.2 官方文档中文版 2023-12-08A按照继承关系影响与其关联的图层。在滤镜图层上调整透明度和应用透明度蒙 版可以影响它们作用的图层和区域。 滤镜蒙版可以通过一张灰阶图像影响一个图层或者一个图层组,这和透明度蒙 版类似。 我们可以使用滤镜图层来让刚才的女鬼变得更加鬼模鬼样。在女鬼的图层上点 击右键,创建一个克隆图层。在这个克隆图层上点击右键,创建一个滤镜蒙 版,选用“高斯模糊”滤镜,把半径设为 10px 左右。我们把克隆图层放在原始 图层的下面,然后把混合模式设为“ 图层可以让你更好地控制作品的绘制过程。例如,你可以把图层的线稿跟颜色 分开画在不同的图层上面,这样就算不小心把颜色画坏了,也不至于连同线稿 一起毁掉。 你可以单独编辑每个图层,还可以为它们添加特殊效果,如图层样式、混合模 式、透明度、滤镜和变形等。Krita 会把上面的这些内容在图层组中进行合 成,生成最终的图像。听起来挺厉害,但这也只是 Krita 丰富的图像处理功能 的其中一种而已! 一般来说,当你把一张颜料图 形状。 Krita 可以在各种色彩模型和色彩空间下面工作,也可以对色彩空间进行转 换。我们把这项功能叫作 色彩管理 。 例如:印刷使用的 CMYK 模型 是一种减色法模型,而计算机屏幕的 RGB 模 型则是加色法模型。要在计算机屏幕上正确显示 CMYK 模型的颜色,图形软 件必须通过色彩管理功能进行色彩空间转换。色彩管理还有许多别的用途,例 如在一个屏幕上模拟另一个屏幕的颜色,或者模拟色盲视觉等。可以说,色彩0 码力 | 1562 页 | 79.19 MB | 1 年前3 Krita 5.2 官方文档中文版 2023-12-08A按照继承关系影响与其关联的图层。在滤镜图层上调整透明度和应用透明度蒙 版可以影响它们作用的图层和区域。 滤镜蒙版可以通过一张灰阶图像影响一个图层或者一个图层组,这和透明度蒙 版类似。 我们可以使用滤镜图层来让刚才的女鬼变得更加鬼模鬼样。在女鬼的图层上点 击右键,创建一个克隆图层。在这个克隆图层上点击右键,创建一个滤镜蒙 版,选用“高斯模糊”滤镜,把半径设为 10px 左右。我们把克隆图层放在原始 图层的下面,然后把混合模式设为“ 图层可以让你更好地控制作品的绘制过程。例如,你可以把图层的线稿跟颜色 分开画在不同的图层上面,这样就算不小心把颜色画坏了,也不至于连同线稿 一起毁掉。 你可以单独编辑每个图层,还可以为它们添加特殊效果,如图层样式、混合模 式、透明度、滤镜和变形等。Krita 会把上面的这些内容在图层组中进行合 成,生成最终的图像。听起来挺厉害,但这也只是 Krita 丰富的图像处理功能 的其中一种而已! 一般来说,当你把一张颜料图 形状。 Krita 可以在各种色彩模型和色彩空间下面工作,也可以对色彩空间进行转 换。我们把这项功能叫作 色彩管理 。 例如:印刷使用的 CMYK 模型 是一种减色法模型,而计算机屏幕的 RGB 模 型则是加色法模型。要在计算机屏幕上正确显示 CMYK 模型的颜色,图形软 件必须通过色彩管理功能进行色彩空间转换。色彩管理还有许多别的用途,例 如在一个屏幕上模拟另一个屏幕的颜色,或者模拟色盲视觉等。可以说,色彩0 码力 | 1562 页 | 79.19 MB | 1 年前3
 Krita 5.1 官方文档中文版 2023-05-26A按照继承关系影响与其关联的图层。在滤镜图层上调整透明度和应用透明度蒙 版可以影响它们作用的图层和区域。 滤镜蒙版可以通过一张灰阶图像影响一个图层或者一个图层组,这和透明度蒙 版类似。 我们可以使用滤镜图层来让刚才的女鬼变得更加鬼模鬼样。在女鬼的图层上点 击右键,创建一个克隆图层。在这个克隆图层上点击右键,创建一个滤镜蒙 版,选用“高斯模糊”滤镜,把半径设为 10px 左右。我们把克隆图层放在原始 图层的下面,然后把混合模式设为“ 图层可以让你更好地控制作品的绘制过程。例如,你可以把图层的线稿跟颜色 分开画在不同的图层上面,这样就算不小心把颜色画坏了,也不至于连同线稿 一起毁掉。 你可以单独编辑每个图层,还可以为它们添加特殊效果,如图层样式、混合模 式、透明度、滤镜和变形等。Krita 会把上面的这些内容在图层组中进行合 成,生成最终的图像。听起来挺厉害,但这也只是 Krita 丰富的图像处理功能 的其中一种而已! 一般来说,当你把一张颜料图 形状。 Krita 可以在各种色彩模型和色彩空间下面工作,也可以对色彩空间进行转 换。我们把这项功能叫作 色彩管理 。 例如:印刷使用的 CMYK 模型 是一种减色法模型,而计算机屏幕的 RGB 模 型则是加色法模型。要在计算机屏幕上正确显示 CMYK 模型的颜色,图形软 件必须通过色彩管理功能进行色彩空间转换。色彩管理还有许多别的用途,例 如在一个屏幕上模拟另一个屏幕的颜色,或者模拟色盲视觉等。可以说,色彩0 码力 | 1547 页 | 78.22 MB | 1 年前3 Krita 5.1 官方文档中文版 2023-05-26A按照继承关系影响与其关联的图层。在滤镜图层上调整透明度和应用透明度蒙 版可以影响它们作用的图层和区域。 滤镜蒙版可以通过一张灰阶图像影响一个图层或者一个图层组,这和透明度蒙 版类似。 我们可以使用滤镜图层来让刚才的女鬼变得更加鬼模鬼样。在女鬼的图层上点 击右键,创建一个克隆图层。在这个克隆图层上点击右键,创建一个滤镜蒙 版,选用“高斯模糊”滤镜,把半径设为 10px 左右。我们把克隆图层放在原始 图层的下面,然后把混合模式设为“ 图层可以让你更好地控制作品的绘制过程。例如,你可以把图层的线稿跟颜色 分开画在不同的图层上面,这样就算不小心把颜色画坏了,也不至于连同线稿 一起毁掉。 你可以单独编辑每个图层,还可以为它们添加特殊效果,如图层样式、混合模 式、透明度、滤镜和变形等。Krita 会把上面的这些内容在图层组中进行合 成,生成最终的图像。听起来挺厉害,但这也只是 Krita 丰富的图像处理功能 的其中一种而已! 一般来说,当你把一张颜料图 形状。 Krita 可以在各种色彩模型和色彩空间下面工作,也可以对色彩空间进行转 换。我们把这项功能叫作 色彩管理 。 例如:印刷使用的 CMYK 模型 是一种减色法模型,而计算机屏幕的 RGB 模 型则是加色法模型。要在计算机屏幕上正确显示 CMYK 模型的颜色,图形软 件必须通过色彩管理功能进行色彩空间转换。色彩管理还有许多别的用途,例 如在一个屏幕上模拟另一个屏幕的颜色,或者模拟色盲视觉等。可以说,色彩0 码力 | 1547 页 | 78.22 MB | 1 年前3
 百度超级链 XuperChain 3.12-a中文文档默认采用DPOS作为共识算法; 2. 交易处理充分利用计算机多核,支持并发执行; 3. 智能合约通过读写集技术能够支持并发执行; 总结 XuperChain是百度自研的一套区块链解决方案,采用经典的UTXO记账模 式,并且支持丰富的智能合约开发语言,交易处理支持并发执行,拥有完善 的账号与权限体系,采用DPOS作为共识算法,交易处理速度可达到9万 TPS。 核心优势 应用场景 接下来 了解 XuperChain Table)文件中,写放大的产生就 是由于compact的时候需要顺序读取Level-N中的sst文件,写出到Level-N+1的 sst文件中。 我们将SST文件分散在多块盘上存储,具体的方法是根据sst的编 号做取模散列,取模的底数是盘的个数, 理论上数据量和IO压力会均匀分散 在多块盘上。 举个例子,假设某sst文件名是12345.ldb,而节点机器有3块盘用于存储 (/disk1, /disk2, /disk3),那么就将改sst文件放置在 假设本来是N块盘,扩容后是(N+M)块盘。对于已有的sst文件,因为取模的 底数变了, 可能会出现按照原有的取模散列不命中的情况。 规则是: 对于读Open,先按照 (N+M) 取模去Open,如果不存在,则遍历各盘直 到能Open到相应的文件,由于Open并不是频繁操作,代价可接受,且 SST的编号是唯一且递增的,所以不存在读取脏数据的问题; 对于写Open,就按照 (N+M) 取模,因为写Open一定是生成新的文件。0 码力 | 336 页 | 12.62 MB | 1 年前3 百度超级链 XuperChain 3.12-a中文文档默认采用DPOS作为共识算法; 2. 交易处理充分利用计算机多核,支持并发执行; 3. 智能合约通过读写集技术能够支持并发执行; 总结 XuperChain是百度自研的一套区块链解决方案,采用经典的UTXO记账模 式,并且支持丰富的智能合约开发语言,交易处理支持并发执行,拥有完善 的账号与权限体系,采用DPOS作为共识算法,交易处理速度可达到9万 TPS。 核心优势 应用场景 接下来 了解 XuperChain Table)文件中,写放大的产生就 是由于compact的时候需要顺序读取Level-N中的sst文件,写出到Level-N+1的 sst文件中。 我们将SST文件分散在多块盘上存储,具体的方法是根据sst的编 号做取模散列,取模的底数是盘的个数, 理论上数据量和IO压力会均匀分散 在多块盘上。 举个例子,假设某sst文件名是12345.ldb,而节点机器有3块盘用于存储 (/disk1, /disk2, /disk3),那么就将改sst文件放置在 假设本来是N块盘,扩容后是(N+M)块盘。对于已有的sst文件,因为取模的 底数变了, 可能会出现按照原有的取模散列不命中的情况。 规则是: 对于读Open,先按照 (N+M) 取模去Open,如果不存在,则遍历各盘直 到能Open到相应的文件,由于Open并不是频繁操作,代价可接受,且 SST的编号是唯一且递增的,所以不存在读取脏数据的问题; 对于写Open,就按照 (N+M) 取模,因为写Open一定是生成新的文件。0 码力 | 336 页 | 12.62 MB | 1 年前3
 百度超级链 XuperChain 3.12-c 中文文档默认采用DPOS作为共识算法; 2. 交易处理充分利用计算机多核,支持并发执行; 3. 智能合约通过读写集技术能够支持并发执行; 总结 XuperChain是百度自研的一套区块链解决方案,采用经典的UTXO记账模 式,并且支持丰富的智能合约开发语言,交易处理支持并发执行,拥有完善 的账号与权限体系,采用DPOS作为共识算法,交易处理速度可达到9万 TPS。 核心优势 应用场景 接下来 了解 XuperChain Table)文件中,写放大的产生就 是由于compact的时候需要顺序读取Level-N中的sst文件,写出到Level-N+1的 sst文件中。 我们将SST文件分散在多块盘上存储,具体的方法是根据sst的编 号做取模散列,取模的底数是盘的个数, 理论上数据量和IO压力会均匀分散 在多块盘上。 举个例子,假设某sst文件名是12345.ldb,而节点机器有3块盘用于存储 (/disk1, /disk2, /disk3),那么就将改sst文件放置在 假设本来是N块盘,扩容后是(N+M)块盘。对于已有的sst文件,因为取模的 底数变了, 可能会出现按照原有的取模散列不命中的情况。 规则是: 对于读Open,先按照 (N+M) 取模去Open,如果不存在,则遍历各盘直 到能Open到相应的文件,由于Open并不是频繁操作,代价可接受,且 SST的编号是唯一且递增的,所以不存在读取脏数据的问题; 对于写Open,就按照 (N+M) 取模,因为写Open一定是生成新的文件。0 码力 | 336 页 | 12.62 MB | 1 年前3 百度超级链 XuperChain 3.12-c 中文文档默认采用DPOS作为共识算法; 2. 交易处理充分利用计算机多核,支持并发执行; 3. 智能合约通过读写集技术能够支持并发执行; 总结 XuperChain是百度自研的一套区块链解决方案,采用经典的UTXO记账模 式,并且支持丰富的智能合约开发语言,交易处理支持并发执行,拥有完善 的账号与权限体系,采用DPOS作为共识算法,交易处理速度可达到9万 TPS。 核心优势 应用场景 接下来 了解 XuperChain Table)文件中,写放大的产生就 是由于compact的时候需要顺序读取Level-N中的sst文件,写出到Level-N+1的 sst文件中。 我们将SST文件分散在多块盘上存储,具体的方法是根据sst的编 号做取模散列,取模的底数是盘的个数, 理论上数据量和IO压力会均匀分散 在多块盘上。 举个例子,假设某sst文件名是12345.ldb,而节点机器有3块盘用于存储 (/disk1, /disk2, /disk3),那么就将改sst文件放置在 假设本来是N块盘,扩容后是(N+M)块盘。对于已有的sst文件,因为取模的 底数变了, 可能会出现按照原有的取模散列不命中的情况。 规则是: 对于读Open,先按照 (N+M) 取模去Open,如果不存在,则遍历各盘直 到能Open到相应的文件,由于Open并不是频繁操作,代价可接受,且 SST的编号是唯一且递增的,所以不存在读取脏数据的问题; 对于写Open,就按照 (N+M) 取模,因为写Open一定是生成新的文件。0 码力 | 336 页 | 12.62 MB | 1 年前3
共 142 条
- 1
- 2
- 3
- 4
- 5
- 6
- 15














