首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏Albert陈凯

    2018-10-31 网易考拉规则引擎平台架构设计与实践

    上面的这种架构设计方式,其实就是一种典型的“领域驱动设计(DDD)”思想,在这里就不展开说明了(主要是自己理解的还不够深入,怕误导大家了)。 整体架构设计 上面说了些架构设计方面的想法,现在我们回到规则引擎平台本身。我们抽象出了四个分层,从上到下分别为:服务层、引擎层、计算层和存储层,整个逻辑层架构见下图: [图片上传失败... 比如我们的指标是最近10分钟的同一用户的下单量,那么我们就需要实现一种类似的滑动窗口算法,以便任何时候都能拿到“最近10分钟”的数据。这里我们采用的是一种简单的算法:创建指标时,指定好采样次数。 比如要获取“最近10分钟”的数据,采样次数设置成30次,这样我们会把每隔20秒的数据会放入一个key里面。 (image-72aea3-1540964873048)] 规则引擎设计中也碰到了一些问题,这里给大家分享下一些心得: 使用插件的方式加载各种组件到上下文中,极大的方便了功能开发的灵活性。

    1.6K30发布于 2018-12-05
  • 流程引擎的架构设计

    3 流程引擎的架构设计4 商业机会1 什么是流程引擎流程引擎是一个底层支撑平台,是为提供流程处理而开发设计的。 流程引擎和流程应用,以及应用程序的关系如下图所示。图片常见的支撑场景有:Workflow、BPM、流程编排等。本次分享,主要从 BPM 流程引擎切入,介绍流程引擎的架构设计方法。 1.3 流程设计器流程设计器是流程和引擎的连接方,用户通过流程设计器,将某种 layout 和 rule 固化成某种流程,然后通过数据和数据上下文,使用流程引擎自动按照某种固化的流程进行执行。 3 流程引擎的架构设计鉴于一些朋友可能没有使用和接触过流程引擎,先介绍流程引擎的组成单元,再介绍基于某个 BPM 产品的项目是如何进行开发的。 3.3 BPM 流程引擎架构设计3.3.1 流程引擎的架构设计图片3.3.2 发起流程图片流程引擎处理过程图片执行节点处理过程图片问题:在流程引擎处理过程中,如果一个节点有多条连线,如何寻找 FromNodeId

    24410编辑于 2026-04-05
  • 来自专栏祝威廉

    SparkES 多维分析引擎设计

    设计动机 ElasticSearch 毫秒级的查询响应时间还是很惊艳的。 避免经过ES的二次分发 Spark Streaming 批处理的模式 和 Lucene(ES的底层存储引擎)的Segment对应的非常好。 架构设计 下面是架构设计图: ? spark-es-4.png 整个系统大概分成四个部分。 从而决定将查询请求是直接转发给后端的ES来完成,还是走Spark 计算引擎。也就是上图提到的 Query Optimize,根据条件决定是否需要短路掉 Spark Compute。 Spark 计算引擎层 前面我们提到了ES的三个缺陷,而Spark 可以有效的解决这个问题。

    1.1K30发布于 2018-08-27
  • OpenGL渲染引擎-设计与实践

    二、OpenGL 设计结构如果用一句话来描述 OpenGL 的话,我想应该是基于C/S结构设计的模板模式(设计模式里的那个);在 图形渲染管线 这节,主要介绍的是其模板设计,在 OpenGL 里我们称之为 OpenGL的优点包括:成为绘图引擎的标准,绘图质量高,编程相对复杂但上手简单,适合追求完美的绘图精确度。跨平台支持,可以在多个操作系统上使用,包括Windows、Linux和Mac等。 要做游戏,游戏引擎甚至需要的图形学知识很少,基础图形学完全足够,游戏引擎更着重的是全套工具链和细节性能优化,尤其是全套工具链,游戏开发需要很多各种功能,场景编辑 动画 骨骼 地形天空 基础特效光照粒子系统

    1.1K10编辑于 2024-06-03
  • 来自专栏侯哥的Python分享

    MySQL高级10-InnoDB引擎存储架构

    区(Extent):表空间的单元结构,每个区的大小为1M, 默认情况下,InnoDB存储引擎页大小为16k,即一个区中一共有64个连续的页   页(Page):页是InnoDB存储引擎磁盘管理的最小单元 ,每个页大小默认为16K,为了保证页的连续,InnoDB存储引擎每次从磁盘申请4-5个区   行(Row):InnoDB存储引擎数据是按行进行存放的,Trx_id:每次对某条记录进行改动时,都会把对应的事务 要注意的是,在InnoDB存储引擎中,除了系统表空间(System Tablespace),还存在一个叫做表空间文件(Tablespaces)的概念。表空间文件用于存储用户创建的表和索引。 总结:File-Per-Table Tablespace是MySQL InnoDB存储引擎的一个选项,允许每个表使用单独的表空间文件存储数据和索引。 双写缓冲区文件的主要作用是用于在MySQL崩溃或意外断电的情况下,保护InnoDB存储引擎使用的数据页的完整性。     

    70221编辑于 2023-09-20
  • 来自专栏程序员IT圈

    10 分钟理解 JS 引擎的执行机制

    JS最初被设计用在浏览器中,那么想象一下,如果浏览器中的JS是多线程的。 这样想,JS为什么被设计成单线程应该就容易理解了吧。 (2) JS为什么需要异步? 场景描述: 如果JS中不存在异步,只能自上而下执行,如果上一行解析时间很长,那么下面的代码就会被阻塞。 所以只有满足 (1)3秒后 (2)主线程空闲,同时满足时,才会3秒后执行该函数 如果主线程执行内容很多,执行时间超过3秒,比如执行了10秒,那么这个函数只能10秒后执行了。 觉得本文对你有帮助?

    1.9K91发布于 2018-03-05
  • 来自专栏AlwaysBeta

    工作流引擎架构设计

    原文链接: 工作流引擎架构设计最近开发的安全管理平台新增了很多工单申请流程需求,比如加白申请,开通申请等等。最开始的两个需求,为了方便,也没多想,就直接开发了对应的业务代码。 2016 年 10 月,Activiti 工作流引擎的主要开发者离开 Alfresco 公司并在 Activiti 分支基础上开启了 Flowable 开源项目。 工作流引擎架构设计如果选择自研,架构应该如何设计呢?有哪些比较重要的模块和需要注意的点呢?下面来详细说说。 流程设计器对于工作流引擎来说,流程设计器的选型至关重要,它提供了可视化的流程编排能力,决定了用户体验的好坏。 流程引擎最后来说说流程引擎,整个系统的核心。引擎设计的好坏决定了整个系统的稳定性,可用性,扩展性等等。

    4.4K30编辑于 2023-01-12
  • 来自专栏FunTester

    千万级日志回放引擎设计稿

    如果维护两套压测引擎会带来更多工作量。 所以为了尽可能解决这两方面问题,接到了一个活儿,调研一下Java实现日志回放功能。主要就是读了goreplay的源码以及它设计思路,用Java重现实现一遍。 思路 总体设计思路如下: 千万级日志回放设计 PS:流量递增和动态增减尚未实现,还在研究goreplay的源码。 } } } ft() disruptor.handleEventsWith(new FunTester(10 )) // 5.times {ft()} //下面开始测试 ClientManage.init(10, 5, 0, "", 0) HttpRequestBase request) { this.request = request; } } } PS:这里用到了多个group,原因在设计稿中标记了

    76731编辑于 2022-02-08
  • 来自专栏施炯的IoT开发专栏

    Windows 10 IoT Serials 10 – 如何使用OCR引擎进行文字识别

    在Windows 10通用应用程序UWP示例中,包含了OCR应用程序,具体请参考(https://github.com/Microsoft/Windows-universal-samples/tree/ 但是部署到Windows 10 IoT Core设备以后,会出现如下错误:“No available OCR languages.” 、”English is not supported”,如下图所示。 解决方法     上述问题的出现,是由于Windows 10 IoT Core设备上没有OCR的相关资源,导致程序无法正常运行。 解决方法如下:     首先,将Windows 10设备的C:\\Windows\OCR目录拷贝到Windows 10 IoT Core设备的c$\Windows目录,如下图所示。 ?     调试     本次调试在MBM板子上进行,Windows 10 IoT Core设备的OS版本号为v.10.0.16299.192,采用的摄像头为微软LifeCam HD-3000。    

    3K40发布于 2018-03-27
  • 来自专栏悠扬前奏的博客

    Kafka-10.设计-复制

    Kafka在可配置数量的服务器上复制每个主题分区的日志(您可以逐个主题地设置此复制因子)。这允许在群集中的服务器发生故障时自动故障转移到这些副本,以便在出现故障时消息仍然可用。

    64820发布于 2019-06-16
  • 来自专栏全栈程序员必看

    商品搜索引擎—推荐系统设计

    一、前言 结合目前已存在的商品推荐设计(如淘宝、京东等),推荐系统主要包含系统推荐和个性化推荐两个模块。 下面具体介绍系统推荐和个性化推荐的设计方案。 由于系统推荐实现相对简单,因此不作过多的文字说明,下面详细介绍个性化推荐的设计。 3.2、三种推荐模式的介绍 据推荐引擎的数据源有三种模式:基于人口统计学的推荐、基于内容的推荐、基于协同过滤的推荐。 (2)用户对某个商品的喜好程度,通过不同行为对应不同分值权重,如:历史购买(10)、历史购物车(8)、历史搜索(5)、历史浏览(6),确定用户喜好因素后再进一步对各个因素评分权重进行 合理的设计

    1.9K40编辑于 2022-06-29
  • 来自专栏微信公众号【Java技术江湖】

    初探InnoDB存储引擎的架构设计

    biglog 与 redo log的区别 redo log:记录的是偏物理性质重做日志,比如 “对哪个数据页中的什么记录,做了哪些修改” binlog:偏向于逻辑性的日志,如:“对users表中的id=10 总结 通过更新语句执行分析之后,了解到InnoDB存储引擎中包含了 buffer pool 缓冲池、redo log buffer 缓冲区等缓存数据,undo、reod log等日志文件,同时也有MySQL

    84840发布于 2021-05-17
  • 来自专栏PawSQL,在线的自动化SQL优化工具!

    PawSQL审核 | SQL审核引擎设计目标

    市场上到底需要什么样的SQL审核引擎?看一下SQL优化领域的领先厂商PawSQL如何设计它的SQL审核引擎。 PawSQL审核引擎设计目标 简单来说,PawSQL审核引擎设计目标就是:使用尽量少的审核规则,覆盖尽量全的SQL语法和结构,确保尽量高的审核正确率。 目标1. PawSQL的审核规则体系对规则进行层级化的设计,当更严格的规则被采用时,它下级的审核规则就被覆盖,而不需要参与审核了。 否 市面上很多的审核引擎对于复杂规则的误报率都很高,给用户带来了很多困扰。 常见还有如对于`避免使用OR条件`规则,很多审核引擎没有评估`AND`条件已经具有足够的过滤能力,即使条件中已经使用了主键进行过滤了,引擎仍然对此进行预警。

    1.4K10编辑于 2024-08-20
  • 来自专栏程序员与猫

    MongoDB 存储引擎和数据模型设计

    存储引擎 1.1 存储引擎是什么 存储引擎是位于持久化数据(通常是放在磁盘或者内存中)和数据库之间的一个操作接口,它负责数据的存储和读取方式。 以下是一个简单的运行图示 1.2 MongoDB中的默认存储引擎 自MongoDB 3.2 Release版本起,MongoDB默认的存储引擎就成了WiredTiger。 数据模型设计 2.1 内嵌和引用 在MongoDB中,数据的表示方式有内嵌和引用两种。 我们知道在领域驱动设计中,“用户”是一个聚合根,每个用户对应一个账户,所以是“1对1”的一种关系,在关系型数据库设计中,大部分时候都会将这两者严格区分开来。 这是一种反范式化的设计设计MongoDB数据模型的时候,我们需要转变以往设计关系型数据模型时的思维。即便是针对一个关系中不同集合的数量规模,我们的模型也将有很大的不同。

    1.9K100发布于 2018-01-18
  • 来自专栏领域驱动设计DDD实战进阶

    2.WF 4.5 流程引擎设计思路

    本文主要给大家分享下基于WF 4.5框架的流程引擎设计思路 1.流程启动时的数据写入EventMsgPP对象中,ObjectAssemblyType记录流程启动时需要的类型,ObjectContent记录序列化流程启动时需要的数据

    1.3K40发布于 2018-05-04
  • 来自专栏小徐学爬虫

    基于Go的抗封禁爬虫引擎设计

    本文基于Go语言的高并发特性,设计了一个轻量级但功能完备的爬虫程序。通过标准库net/http实现高效请求,结合x/net/html进行DOM解析,程序可精准抓取网页标题与链接。 url := "https://example.com"​ // 创建HTTP客户端(设置超时避免卡死) client := &http.Client{ Timeout: 10 regexp.MustCompile(`\s+`) return re.ReplaceAllString(s, " ")}程序功能说明:1、发送HTTP请求:使用 http.Client 设置10 通过模块化设计,开发者可轻松扩展为分布式爬虫系统或集成反反爬策略。需要强调的是,技术开发者应始终遵守《网络安全法》和robots协议,设置合理的爬取频率。

    26810编辑于 2025-08-08
  • 来自专栏敏捷分析

    腾讯灯塔融合引擎设计与实践

    丨导语丨 本文分享的主题是腾讯灯塔融合引擎设计与实践,主要围绕以下四个方面进行介绍: 1. 背景介绍 2. 挑战与融合分析引擎的解法 3. 实践总结 4.  下图展示了灯塔融合分析引擎的整体技术架构: 左侧对接应用系统,包括灯塔自己提供的分析模型、可视化方案和一些 API 请求;右侧为融合分析引擎,包括查询引擎层、计算层、物化存储层、存储层分析策略中心和产品化中心 本设计的解决方案是通过自研的WLM(Workload Management),自动化收集不同引擎的 Query Profile 并结合历史查询给出基于专家经验给出优化建议,在策略中心基于优化建议自动设置 通过源码级别的增强,Master 内存消耗降低 10 倍。 3. 加速 考虑到集群的算力和引擎本身的瓶颈上限,除了融合和内核优化,我们还需要做各种各样的加速手段。 该引擎的缓存设计借鉴了 Databrick 的内核缓存、Snowflake 的数仓缓存的缓存设计理念,研发了预计算与多级缓存的技术。

    1.6K20编辑于 2023-02-17
  • 来自专栏智药邦

    JCIM|大型语言模型作为分子设计引擎

    新型分子和材料的设计是推动科技进步的重要驱动力,特别是在能源存储、合金设计、二维材料以及药物发现等领域。 随着人工智能技术的快速发展,基于转换器的生成模型为分子设计带来了新的解决方案。 每种提示均被设计为简洁明了的自然语言指令,以便LLM能够准确理解并执行。 图5 表1中每个子提示的所有10个子分子的平均位移(z) 进一步分析分子起源和轨迹,作者观察到从链状到环状的转变,这反映了模型在化学空间中的探索行为。 未来研究需进一步探索设计空间、提示工程作用及模型在化学空间中导航的机制,以充分发挥大型语言模型在分子设计方面的潜力。

    38110编辑于 2024-09-27
  • 大厂的风控引擎架构设计

    表如何设计?API如何设计?模块之间如何通信? 3 风控引擎设计的核心点架构会围绕核心点进行设计:3.1 高效率的规则(策略)选代风险规则可动态,自由组合的调整风险规则设计思路风险规则可由多个基础规则(因子)组成风险规则就是与(AND)或(OR)非( 将所有的事件数据进行统一管理从任意的数据源以流式传输大量的事件数据不同的业务场景,包含不同的事件类型(evenType),事件接入中心是整个风控引擎的数据流入口。 因此,得到最终的4 风控引擎的系统架构图说一大段话,不如画一张图让人更加容易理解:业务架构图应用架构图需要划分出系统的层级,各个层级的应用服务数据架构图技术架构图

    85700编辑于 2024-08-01
  • 来自专栏嵌入式项目开发

    采用QWebEngineView引擎设计web浏览器

    一、介绍 QWebEngineView 是QT5.4版本加入的新浏览器引擎,用于编辑、查看web内容。 QAction *pageAction(QWebEnginePage::WebAction action) const 10. 标题改变 void titleChanged(const QString &title) 8. url改变 void urlChanged(const QUrl &url) 二、设计程序、完成网页浏览 当前的环境: windows10 64 系统、QT5.12.6 + VS2017 运行效果: 2.1 新建工程 (1) 在创建工程时,选择VS编译器。 QT += webenginewidgets 2.2 设计UI界面 2.3 widget.cpp #include "widget.h" #include "ui_widget.h" Widget:

    3.4K11编辑于 2022-01-12
领券