tag 标签: 实时

相关帖子
相关博文
  • 热度 23
    2015-3-6 13:49
    1936 次阅读|
    0 个评论
    客户遇到的问题: 在直通矩阵上,N路输入,N路输出,实际操控时,不知道谁是谁,哪路到哪路。 这个在大型矩阵的应用上,特别明显。 我们的解决方案: 在输出上叠加OSD显示。提示输入通道,输出通道,以及其他的相关信息。 大大简化大型矩阵的操控。
  • 热度 18
    2014-12-9 14:20
    1963 次阅读|
    0 个评论
    概述 工具:物联网云平台Yeelink  DHT11温湿度传感器   W5500EVB 编译环境:Keil4 目的:通过以太网实时监控远程某个位置的温度和湿度 在W5500EVB端连接DHT11温湿度传感器,并实时读取温度和湿度;通过W5500与网络连接,并与物联网云平台Yeelink中添加设备建立连接;之后系统会将读取的温度和湿度上传到物联网云平台Yeelink,这样就可以随时通过网络观察温度和湿度变化。 物联网云平台Yeelink还提供了一个简单的手机,登陆 Yeelink账号,也可以随时随地的观察温度和湿度的变化。 一、物联网云平台Yeelink Yeelink是一个免费的云平台,旨在利用无线网络、开源硬件和软件,智能手机和App共同打造一个家庭智能中心。图1为Yeelink云平台首页截图。点击“快速开始”,我们可以注册一个账号,登陆后,可以添加自己的设备和传感器。它将复杂的传感器以极简的方式组到同一个网络内,可满足智能家居的各种需求。通过Yeelink提供的数据接口,用户可以把自己的传感器通过互联网接入Yeelink云平台,从而实现随时随地获取传感器数据,为一些智能家居设备接入互联网提供了云平台支持。(http://www.yeelink.net) 图1 物联网云平台Yeelink首页 1. 登陆物联网云平台Yeelink,注册账号。注册账号以后,点击 账户》我的账户设置,可以看到有一个API KEY。   2. 根据开发指南添加设备 同大多数开源平台一样,Yeelink提供的API也是基于HTTP协议提交和接收数据。当我们在Yeelink上创建新的设备,并在设备上添加新的传感器后,会获得相应的设备ID和传感器ID,作为传感器在Yeelink平台上的唯一标识,我们可以使用Yeelink平台提供的URL,更新指定传感器的数据。有关于API文档的详细介绍请参考Yeelink网站,图2是与本节相关的设备添加介绍。 图2 添加设备信息 1)         点击管理设备,选择已经添加的设备,添加你的传感器,完成以后保存信息。 2)   保存以后会看到如图3所示内容。 URL:http://api.yeelink.net/v1.0/device/15855/sensor/27293/datapoints中提供了设备ID和传感器ID,这个会添加到程序中。 图3 设备添加显示页面 二、Yeelink平台API在线调试 1. 点击 API文档》在线调试,打开后在接口项添加生成的URL,在API Key项添加注册账户时生成的API KEY,请求方式选择GET模式,在Post中随意输入数据,如果您建立的设备可以运用,会得到正确回复,如图4所示。 图4  在线调试效果 Request显示了发送给网络的请求,主要注意请求方式,设备的ID号和API key,当然还有Yeelink平台的网址。Response显示恢复状态。   三、系统设计 1. 电路设计 以太网控制芯片W5500整合了五层结构中的前四层,即物理层、数据链路层、网络层和传输层,并在内部利用硬件实现了TCP/IP协议栈。开发者无需专业的网络知识,使用W5500如同控制外部存储器一样简单,为用户提供了最简单的网络接入方法。全硬件TCP/IP协议栈完全独立于主控芯片,可以降低主芯片负载且无需移植繁琐的TCP/IP协议栈,便于产品实现网络化更新。 以太网控制芯片W5500具有以下特点: 1、W5500支持硬件TCP/IP协议,包括TCP、UDP、ICMP、IPv4、ARP、IGMP、PPPoE和以太网的PHY和MAC层,TCP/IP协议的硬件实现,使得应用协议的实现更简单容易; 2、支持8个独立的SOCKET同时工作,可同时工作在不同的工作模式; 3、支持掉电模式,并支持网络唤醒,最大程度地减少功率消耗和发热; 4、支持高速SPI接口(SPI MODE 0,3),SPI的时钟最高可达到80MHz,极大地提高了网络通信的数据传输速率; 5、内部集成32KB存储器用于发送/接收缓存; DHT11 是一款湿温度一体化的数字传感器。该传感器包括一个电阻式测湿元件和一个 NTC测温元件,并与一个高性能 8 位单片机相连接。通过单片机等微处理器简单的电路连接就能够实时的采集本地湿度和温度。 DHT11 与单片机之间能采用简单的单总线进行通信,仅仅需要一个 I/O 口。传感器内部湿度和温度数据 40Bit 的数据一次性传给单片机,数据采用校验和方式进行校验,有效的保证数据传输的准确性。DHT11 功耗很低,5V 电源电压下,工作平均最大电流 0.5mA。 图5是DHT11跟W5500EVB的电路设计图,比较简单。图6是实物连接图,DHT11上的VCC连接3V3D引脚,GND对应相连,Dout输出连接PA2引脚。通过USB给W5500EVB供电,W5500EVB通过网线与路由器连接,电脑也通过网线与路由器连接,或者连接路由器建立的无线网。 图5 W5500开发板与DHT11的连接电路 图6 实物连接 2. 程序设计 本节将Yeelink上传数据的整个过程分为3个文件,main.c主文件实现W5500EVB上传数据的主流程,DHT11.c文件实现dht11对室内温湿度数据的采集,mcu_init.c文件实现W5500EVB的初始化。 为了使程序能方便地组建Yeelink所要求的JSON数据格式,我们把采集到数据直接替代这个字符串中的xx即可,其他的请求命令在上一节的在线调试结果中可以得到。 char  postT[]={//提交温度 “POST /v1.0/device/15738/sensor/27051/datapoints HTTP/1.1\r\n” “Host:api.yeelink.net\r\n” “Accept:*/*\r\n” “U-ApiKey:fea57b9cc1ed5ad34d48430785b44e8f\r\n” “Content-Length:12\r\n” “Content-Type:application/x-www-form-urlencoded\r\n” “Connection:close\r\n” “\r\n” “{\”value\”:xx}\r\n” };//xx用来填充数值 这其中,device/ID/sensor/ID 这两处ID 已经在Yeelink网站上注册得到,一个是设备ID,一个是设备上的传感器的ID,同时,一个设备可以有若干个传感器。U-ApiKey则是你的身份识别码,同样是注册后获得,只有正确提交U-ApiKey才可以在Yeelink上面更新数据。Content-Length:后面的12,指的就是 {“value”:xx} 的长度,更具体的格式可以翻阅Yeelink的API文档。需要注意的是,在C语言中,双引号 “”需要使用转义字符。 在分析细节代码之前,我们还是先来看一下主函数。在这里完成了对W5500EVB的初始化,并在主循环里面完成了向Yeelink提交数据。由于这个程序需要访问Yeelink平台,也就要求W5500EVB能访问外网,因此这里我们要确保给W5500配置IP地址能访问外网。置W5500为客户端模式的调用过程:W5500_Init()–Socket_Init(s)–Socket_Connect(s),设置过程即完成,并与远程服务器连接。连接后就可以发送数据,在这里,数据发送完成后,链接会被Yeelink断开,下次发送需要重新进行Socket_Init(s)–Socket_Connect(s)的过程。主程序第7行到第19行实现W5500EVB的初始化,初始化工作完成之后,单片机就可以读取DHT11数据和向Yeelink发送数据了。W5500EVB作为Yeelink客户端,在向Yeelink上传数据时为TCP连接,所以这里按照TCP的状态机模式写程序。第25行,socket初始化之后,W5500EVB就向Yeelink发送连接请求,从而完成了向Yeelink提交温湿度数据。第27行socket连接建立建立完成,首先把Sn_IR的第0位置1来清空中断,然后读取DHT11采集的数据,并保存在数组temp_rh中。第35行把发送的报文格式存在Buffer中;第36、37行是把Request报文中的xx替换成温度值或者湿度值。然后第38行发送请求报文到Yeelink 服务器。第38行切换数据类型,就是进行温度和湿度的切换,断开socket连接。第42行是socket等待关闭状态,这个状态很简单,由于这个状态是一方断开连接,还能够继续向服务器发送数据,所以就和socket建立连接状态基本相同了。第53行,socket关闭状态,打开socket并初始化TCP模式。 继续阅读:http://www.iwiznet.cn/blog/?p=6662
相关资源
  • 所需E币: 5
    时间: 2024-12-25 15:54
    大小: 174.5KB
    上传者: 木头1233
    PC机与多台单片机实时通信系统设计论文PC机与多台单片机实时通信系统设计论文
  • 所需E币: 5
    时间: 2024-9-3 15:22
    大小: 132.87KB
    上传者: 小恶魔owo
    ESP32实时天气全开源(已验证)①ESP32实时天气的Arduino源码②实时天气API接口的PHP源码③城市代码表
  • 所需E币: 0
    时间: 2024-2-20 14:51
    大小: 2.59KB
    一、《flink实时规则营销系统》项目背景传统的“精准营销平台”由营销人员基于画像标签数据去圈选人群,进行营销推送,存在不足;这种传统手段,往往无法抓住那些“转瞬即逝的营销机会”;如:一个促销狂热型用户,正在浏览包包时,及时推送出正在做促销活动的包包信息,是最有效的;如:一个价格敏感型用户,正在犹豫不决反复查看他购物车中的某目标商品时,适时推送优惠券,是最有效的;这些场景,显然无法通过营销人员通过人工手段去发现,需要用软件系统自动、实时监控用户的行为,并实时做出判断,并进而驱动营销消息推送系统推送相关营销内容;总之,在应对这一类的需求时,以前的传统的“基于用户画像标签库的精准营销平台”显得力不从心;因而,擅长用键鼠改变世界的攻城狮们,决定为公司的推广、运营部门开发一个应对上述场景的自动化、智能的、实时、规则动态可变的营销利器——《实时动态规则智能运营系统》二、需求分析2.1营销规则举例-搜索兴趣词包含“商务休闲”的用户,如果浏览包含“商务休闲”的商品页面,则触发一个优惠券推送消息;-活跃度等级为C的用户,且在规则发布前的3天内,发生过“搜索雀巢”AND“加购”,当他再次上线时,触发一个app弹窗消息;-活跃度等级为C的用户,规则发布前2天内,发生过A事件3次以上,规则上线后发生了B事件,且之后间隔1天再次发生B事件,则触发;-规则运行时,检测到用户发生了下单事件,而在随后的15分钟内没有支付,则触发;-规则运行时,一个用户如果搜索的关键词符合某正则表达式,则触发;-宝妈用户,在2022-08-07开始,做过A行为3+次,做过(B行为,E行为)序列2+次,则触发;2.2规则营销需求的宏观抽象-营销规则有多样化的灵活的定义(不光参数可以支持自定义,且运算模型也可以自定义);-营销规则通常针对满足某画像的人群,也可没有针对性-营销规则通常都有有效期(也有可能是无限期的),要求系统能够支持动态增加、停用运营计划(规则)-营销规则根据需求的变化,需要能够方便地进行在线管理,如新增、停用、修改三、行为判断的逻辑分析1)行为判断:行为事件的类型及属性的判断判断用户的某个行为事件,是否是规则条件中要求的事件-简单的,可能就是 event_id="X"   ANDproperties["p1"]=/>/!=/<"v1"-稍微复杂的,可能就是  event_id="X"   AND  properties["p1"] 包含"kw1"-再复杂点的,可能就是  event_id="X"   AND properties["p1"] +properties["p2"]>100   ANDproperties["p3"]满足正则表达式 [1,10]*?a2)行为序列的判断判断用户的一系列行为事件中,是否满足规则条件所要求的依次发生的序列,比如A  B  E行为序列判断,是上述“行为判断”的衍生本质上,就是在判断事件的基础上,加上时间先后的序列关系这个逻辑,可以用正则匹配进行计算(全窗口运算); 也可以用滚动聚合的方式计算;3)事件(序列)发生次数的判断判断要求的事件或事件序列,发生了多少次是上述“行为判断”、“行为序列判断”的衍生本质上,就是在判断事件(或序列)的基础上,进行次数累计四、画像条件判断的实现难点初略考虑,应该就是查询用户画像标签库即可;站在系统的角度来考虑时:什么时机去查询? 去哪里查?比如: 查询时机: 当一个人的某个行为触发了某个规则,此时去查询该用户的画像标签是否满足规则的人群画像条件查询的目标: 用户画像标签数据库如果画像数据库在hbase中,可以用如下伪代码来快速判断##如果条件是:活跃等级=C  AND   首单时间<"2022-06-01"get=newGet(guid)get.addColumn("活跃等级")get.addColumn("首单时间")result=table.get(Get)activeLevel=result.getValue("活跃等级")firstOrderDate=result.getValue("首单时间")if(activeLevel='C' && firstOrderDate<"2022-06-01") returntrue;##如果条件是:兴趣词:包含"速溶咖啡"##这种条件,用hbase的支撑就不太好处理了//favroitWords:[海底捞,咖啡伴侣,小罐速溶咖啡,乔丹,篮球]favroitWords=result.getValue("兴趣词")  
  • 所需E币: 0
    时间: 2024-2-20 10:28
    大小: 3.01KB
    上传者: 开心就很好了
    flink实时规则营销系统(39期,2023版)——简单来说,本系统核心是一个基于事件驱动且可进行动态规则计算的实时系统,在技术上它是通用的;本套架构及系统内核,不仅可以用于“实时运营”,也可以用于“实时风控”,“实时推荐”,“实时交通监控”等场景。运营场景举例:下单促付款,新品发布信息精准送达。本系统,在核心规则引擎之外,也集成了大量metric及跟踪数据输出,能在系统中及系统外进行多维度数据分析,以深度掌握各类市场运营活动的效果,以及系统运行的各类状态什么是flink?flink是一个分布式,高性能,随时可用的以及准确的流处理计算框架,flink可以对无界数据(流处理)和有界数据(批处理)进行有状态计算(flink天生支持状态计算)的分布式,高性能的计算框架。flink的基石flink的四大基石:checkpoint,state,time,windowcheckpoint:基于chandy-lamport算法实现分布式计算任务的一致性语义;state:flink中的状态机制,flink天生支持state,state可以认为程序的中间计算结果或者是历史计算结果;time:flink中支持基于事件时间和处理时间进行计算,sparkstreaming只能按照processtime进行处理;基于事件时间的计算我们可以解决数据迟到和乱序等问题。window:flink提供了更多丰富的window,基于时间,基于数量,sessionwindow,同样支持滚动和滑动窗口的计算。Flink的应用Flink是一个大数据流处理引擎,它可以为不同的行业提供大数据实时处理的解决方案。随着Flink的快速发展完善,如今在世界范围许多公司都可以见到Flink的身影。目前在全球范围内,北美、欧洲和金砖国家均是Flink的应用热门区域。当然,这些地区其实也就是IT、互联网行业较发达的地区。Flink在国内热度尤其高,一方面是因为阿里的贡献和带头效应,另一方面也跟中国的应用场景密切相关。中国的人口规模与互联网使用普及程度,决定了对大数据处理的速度要求越来越高,也迫使中国的互联网企业去追逐更高的数据处理效率。试想在中国,一个网站可能要面对数亿的日活用户、每秒数亿次的计算峰值,这对很多国外的公司来说是无法想象的。而Flink恰好给我们高速准确的处理海量流式数据提供了可能。Flink环境部署:要了解一个系统,一般都是从架构开始。我们关心的问题是:系统部署成功后各个节点都启动了哪些服务,各个服务之间又是怎么交互和协调的。当Flink集群启动后,首先会启动一个JobManger和一个或多个的TaskManager。由Client提交任务给JobManager,JobManager再调度任务到各个TaskManager去执行,然后TaskManager将心跳和统计信息汇报给JobManager。TaskManager之间以流的形式进行数据的传输。上述三者均为独立的JVM进程。Client为提交Job的客户端,可以是运行在任何机器上(与JobManager环境连通即可)。提交Job后,Client可以结束进程(Streaming的任务),也可以不结束并等待结果返回。JobManager主要负责调度Job并协调Task做checkpoint,职责上很像Storm的Nimbus。从Client处接收到Job和JAR包等资源后,会生成优化后的执行计划,并以Task的单元调度到各个TaskManager去执行。TaskManager在启动的时候就设置好了槽位数(Slot),每个slot能启动一个Task,Task为线程。从JobManager处接收需要部署的Task,部署启动后,与自己的上游建立Netty连接,接收数据并处理。本地模式环境部署步骤如下:#1.下载安装包并上传到/usr/local/src目录#2.解压安装包并重命名为flink[root@nodesrc]$tar-zxfflink-1.14.4-bin-scala_2.12.tgz[root@nodesrc]$tar-zxfjdk-8u111-linux-x64.tar.gz#3.修改安装包所属用户和用户组权限[root@nodesrc]$chown-Rroot.rootflink-1.14.5#4.配置Flink环境变量并重新加载使其生效[root@nodesrc]$vim~/.bash_profileexportJAVA_HOME=/usr/local/src/jdk1.8.0_111/exportFLINK_HOME=/usr/local/src/flink-1.14.5/exportPATH=$PATH:$JAVA_HOME/bin:$FLINK_HOME/bin[root@nodesrc]$source~/.bash_profile#4.启动"集群"[root@nodesrc]$start-cluster.shStartingcluster.Startingstandalonesessiondaemononhostnode.Startingtaskexecutordaemononhostnode.[root@nodesrc]$jps17186Jps17078TaskManagerRunner16809StandaloneSessionClusterEntrypoint#5.访问WebUI界面8081端口查看运行情况分发Flink安装包配置到另外两个节点使用Linuxscp命令把node01节点的配置分发到另外两个节点上。#使用scp分发[root@node01conf]$cd/usr/local[root@node01local]$scp-rflinknode02:/usr/local/[root@node01local]$scp-rflinknode03:/usr/local/启动Flink集群#批量统一启动[root@node01bin]$start-cluster.shStartingcluster.Startingstandalonesessiondaemononhostnode01.Startingtaskexecutordaemononhostnode01.Startingtaskexecutordaemononhostnode02.Startingtaskexecutordaemononhostnode03. #单独启动[root@node01bin]$ jobmanager.shstart/stop[root@node01bin]$ taskmanager.shstart/stop #使用脚本查看服务进程[root@node01bin]$jps
  • 所需E币: 0
    时间: 2023-12-4 13:41
    大小: 3.08KB
    什么是风控系统?风控系统是指一系列的完整的风险控制,以保证事情向好的方向发展,而免受不可预估的经济和财产损失而措手不及。风控类型风控类型一般分为事前、事中、事后三种。事前风控是指在交易指令发送到交易所前,对交易指令进行风险检测,通过检测的交易指令则提交到交易模块进行报单,未通过检测的交易指令将直接予以拒绝。对于追求低延时的交易策略,事前风控需要在极短的时间内完成。事中风控主要是指在交易过程中,交易团队对策略的信号生成、执行情况进行监控以及盘中对策略的风险度进行实时监控。事后风控是对交易数据在盘后进行分析,比如策略算法是否存在错误、策略的回撤是否可控、是否有计划外的持仓出现等,从而制定更严谨的业务风控预案和优化代码算法调整策略表现。在src文件夹中创建一个新文件,文件命名为“AppState.tsx”,我们将会在这个文件中创建全局state和上下文组件contexcomponent。首先,引入我们需要的react框架。interfaceAppStateValue{username:string,shoppingCart:{items:{id:number;name:string}[];};}然后,打开Header.tsx,在这个文件中我们创建一个新的函数式react组件,顺便引入我们的css样式文件importReactfrom"react";importstylesfrom"./Header.module.css";exportconstHeader:React.FC=()=>{return()}那么接下来,我们来把signin页面从路径JSX代码中挪出去,以页面组件的形式渲染出来。既然是页面,那么我们在pages文件夹中创建signin的相关页面吧。在pages文件夹中创建子文件夹signin,然后创建我们的三大金刚,index.ts,SignInPage.tsx,以及SignInPage.module.css。请同学们先打开SignInPage.tsx,我们先为页面创建一个最简单的函数式组件,组件内渲染一个H1标题,标题名称登陆页面。importReactfrom"react";exportconstSignInPage:React.FC=()=>{  return<h1>SignIn</h1>;};打开DetailPage.tsx,我们先引入react框架,创建一个最基本的函数式组件importReactfrom"react";exportconstDetailPage:React.FC=(props)=>{return(<div><h1>旅游路线详情页面</h1></div>);};这个get的返回值是一个promise。我们需要使用.then函数来处理,函数的参数是个lamda表达式,而我们关心的是响应的主体数据,也就是reponse.data,可以简单使用花括号在参数中直接展开reponse,取得data。理论上来说,响应数据data的类型应该与postman中的输出结果是一摸一样的,所以,我们把数据添加到组件state的产品列表1、2、3中。componentDidMount(){axios.get('http://123.56.149.216:8080/api/productCollections',{headers:{'x-icode':'FB80558A73FA658E',},}).then(({data})=>{this.setState({productList1:data});})}函数体内使用async,这个函数本身也必须是async,所以我们给componentDidMount加上async关键词。因为axios.get的返回值本来就是一个promise,所以我们可以给它加上await,等待get请求的执行,并取得响应数据response,而我们需要的是响应的主体数据data,可以使用花括号直接展开。于是,我们就获得了与postman一样的数据,接下来的代码就和promisethen一样了,稍微整理一下。asynccomponentDidMount(){const{data}=awaitaxios.get("http://123.56.149.216:8080/api/productCollections",{headers:{"x-icode":"FB80558A73FA658E",},});this.setState({loading:false,productList:data});}但是如果api访问错误。我们就需要使用trycatch来捕获error了,出错的时候我们同样要吧loading设置为false,但是这个时候error就要被切换为错误信息了,e.message.interfaceStateProps{loading:boolean,productList:any[],}constructor(props){super(props)this.state={loading:true,error:null,productList:[],};}asynccomponentDidMount(){try{const{data}=awaitaxios.get("http://123.56.149.216:8080/api/productCollections");this.setState({loading:false,error:null,productList1:data,});}catch(e){this.setState({loading:false,error:e.message,});}}Ok,转菊花的控制状态配置完成,接下来就要在jsx代码中转菊花了,从组件state中展开loading和error。我们依旧使用最简单的方法,直接暴力使用一个if语句,当loading为ture的时候输出转菊花,就是渲染Spin组件,设置size大小为最大,“large”。然后定义一些inlinestyleif(loading){return(<Spinsize="large"style={{marginTop:200,marginBottom:200,marginLeft:"auto",marginRight:"auto",width:"100%",}}/>);}接下来,我们来复制粘题一下代码。请同学们打开DetailPage。我们把useEffect中所有的数据请求代码全部剪切出来。复制到getProductDetail的callback函数中去。接着给dispatch加上thunkAPI。然后还有一个报错,我们需要引用axiosimport axios from "axios";  export const getProductDetail=createAsyncThunk("productDetail/getProductDetail",async(touristRouteId:string,thunkAPI)=>{thunkAPI.dispatch(productDetailSlice.actions.fetchStart());try{const{data}=await axios.get(`http://123.56.149.216:8080/api/touristRoutes/${touristRouteId}`);thunkAPI.dispatch(productDetailSlice.actions.fetchSuccess(data));}catch(error){thunkAPI.dispatch(productDetailSlice.actions.fetchFail(error.message));}});在callback函数中去掉所有的dispatch,然后也删掉trycatch,因为我们将会返回promise,让promise自己来处理。所以retun的应该是data这个对象。export const getProductDetail=createAsyncThunk("productDetail/getProductDetail",async(touristRouteId:string,thunkAPI)=>{const{data}=await axios.get(`http://123.56.149.216:8080/api/touristRoutes/${touristRouteId}`);return data;});
  • 所需E币: 0
    时间: 2023-9-28 14:06
    大小: 1.45KB
    Flink从0到1实战实时风控系统课程下载2023需要解决的问题哪些是风险事件,注册、登录、交易、活动等事件,需要业务埋点配合提供实时数据接入什么样的事件是有风险的,风险分析需要用到统计学,对异常用户的历史数据做统计分析,找出异于正常用户的特征实时性,风险事件的分析必须毫秒级响应,有些场景下需要尽快拦截,能够给用户止损挽回损失低误报,这需要人工风控经验,对各种场景风险阈值和评分的设置,需要长期不断的调整,所以灵活的规则引擎是很重要的支持对历史数据的回溯,能够发现以前的风险,或许能够找到一些特征供参考项目标签轻量级,可扩展,高性能的Java实时业务风控系统基于Springboot构建,配置文件能少则少使用drools规则引擎管理风控规则,原则上可以动态配置规则使用redis、mongodb做风控计算和事件储存,历史事件支持水平扩展基于Flink构建风控系统风控是一个很大的话题,涉及到规则引擎、NoSQLDB、CEP等等,本章主要讲一些风控的基本概念。在大数据侧,我们把风控划分成3×2的关系:2代表风控要么是基于规则的,要么是基于算法或模型的;3代表包括三种风控类型:事先风控、事中风控和事后风控。对于事中风控和事后风控来讲,端上的感知是异步的,对于事先风控来讲,端上的感知是同步的。对于事先风控这里稍做一些解释,事先风控是把已经训练好的模型或者把已经计算好的数据存在Redis、MongoDB等数据库中;一种方式是端上有类似Sidden、Groovy、Drools这样的规则引擎直接去Redis、MongoDB取数据来返回结果;另外一种方式是基于KubeflowKFserving,端上请求过来之后基于训练好的算法和模型返回结果。整体来讲这两种方式的时延都在200毫秒左右,可以作为一个同步的RPC或HTTP请求。对于Flink相关的大数据场景是一个异步的风控请求,它的异步时效性非常低,通常是一秒或者两秒。如果追求超低时延,则可以认为它是一种事中的风控,风控决策过程可以由机器介入处理。很常见的一种类型是用FlinkSQL做指标阈值的统计、用FlinkCEP做行为序列规则分析,还有一种是用TensorflowonFlink,在Tensorflow中进行算法描述,然后用Flink来执行Tensorflow规则的计算。
  • 所需E币: 0
    时间: 2023-6-21 12:23
    大小: 882B
    上传者: 蝴蝶结欧恩
    给大家分享一套课程——实战Flink+Doris实时数仓课程,附源码+文档+虚拟机。学习本课程,需要预先掌握flink的基本概念及常用api,预先掌握doris的基本概念及基本语法操作;随着业务快速发展或部分业务对实时依赖度大,使得越来越多的业务指标需要实时查看,以便于更好的进行业务分析、业务风控等,尤其在举行活动的时候,能够通过实时大屏等内容更好的把握活动的各项指标趋势。实时数据仓库也引入了类似于离线数据仓库的分层理念,主要是为了提高模型的复用率,同时兼顾易用性、一致性以及计算成本。通常离线数据仓库采用空间换取时间的方式,所以层级划分比较多,从而提高数据计算效率。实时数据仓库的分层架构在设计上考虑到时效性问题,分层设计尽量精简,避免数据在流转过程中造成不必要的延迟响应,并降低中间流程出错的可能性。
  • 所需E币: 0
    时间: 2023-6-19 17:50
    大小: 3.14KB
    上传者: 开心就很好了
    分享一样实时数仓的课程——《实战Flink+Doris实时数仓》,2023年6月完结新课,提供配套的源码+文档+虚拟机下载!!《实战Flink+Doris实时数仓》-day01:01.flink核心概念复习.02.flink核心概念复习-事件时间语义与watermark.03.实时数仓-架构理论及市场上各类架构调研.04.实时数仓-基于我们公司的架构设计.05.实时数仓-ods数据公共维度退维需求及设计.06.实时数仓-用户属性退维的具体方案.07.实时数仓-用户属性表同步到hbase代码开发.08.实时数仓-用户属性维表同步运行测试.09.实时数仓-地理位置维表加工并加载到hbase.10.实时数仓-页面信息维表加工入库.11.实时数仓-今日要点回顾总结.《实战Flink+Doris实时数仓》-day02:01.实时数仓-公共维度退维开发-数据准备.02.实时数仓-公共维度退维-行为日志表创建映射.03.实时数仓-公共维度退维-其他映射表创建.04.实时数仓-公共维度退维-主代码开发.05.实时数仓-流量主题看板-指标开发任务1.06.实时数仓-流量主题看板-指标开发2.07.实时数仓-流量主题看板-活动页流量统计‘.08.号外-项目中依赖版本冲突的问题.09.实时数仓-流量主题看板-topn页面.10.实时数仓-流量主题olap轻度聚合etl开发.《实战Flink+Doris实时数仓》-day03:01.实时流量概况olap分析基础表etl任务-doris中物化视图的创建和使用.02.访问时长olap-etl任务-需求分析和逻辑设计.03访问时长olap-代码开发1(数据读取).04.访问时长olap-代码开发2(虚拟差值实现).05.访问时长分析-虚拟插值法乱序问题.06.访问时长分析-插值数据如何聚合及如何在doris中合并.07.访问时长分析-按时间窗口聚合计算后写入doris.08.访问时长分析-状态清理问题.09.视频播放分析主题-需求分析及模型设计及计算方案设计.10.视频播放行为分析主题-主题维表同步任务开发.11.视频播放行为分析主题-聚合统计逻辑开发.《实战Flink+Doris实时数仓》-day04:01.视频播放olap分析-实时报表查询演示.02.视频播放olap聚合任务的技术要点-可以讲2个故事.03.搜索行为olap主题-需求分析和概要设计.04.搜索行为olap主题-近义词和分词维度信息的获取方案.05.搜索行为olap主题-搜索数据聚合开发.06.搜索行为olap主题-维度拓展代码开发1.07.搜索行为olap主题-维度拓展代码开发2.08.搜索行为olap主题-维度拓展-异步IO改造.09.搜索行为olap主题-olap报表查询演示.10.推荐栏位行为olap主题-需求背景及模型设计.11.推荐栏位行为olap主题-聚合代码开发.《实战Flink+Doris实时数仓》-day05:01.广告事件olap分析主题-业务背景及开发方案及报表查询示例.02.广告点击率预估-特征数据工程-需求-业务-数据-方案.03.广告点击率预估-请求特征日志数据同步到hbase开发.04.CEP快速上手.05.广告点击率预估-曝光点击事件CEP匹配开发.06.广告点击率预估-特征lookup及测试.07.广告点击率预估-负例特征的计算方案分析.《实战Flink+Doris实时数仓》-day06: 01.业务域分析需求概述.02.订单表同步doris任务开发(1)-连接器表创建.''03.订单表同步doris任务开发(2)-join及插入doris.' 04.订单日清日结看板开发1-第1个坑. 05.订单日清日结看板开发2-第2个坑及最终解决. 06.订单日清日结看板开发3-结果写入mysql. 07.订单日清日结api版-流式cdc-connector使用. 08.订单日清日结api版-计算逻辑方案设计. 09.订单日清日结api版-差值调整逻辑实现. 10.订单日清日结api版-汇总计算逻辑实现. 11.订单日清日结api版-结果输出到mysql.《实战Flink+Doris实时数仓》-day07:01.品牌topn支付额商品-sql开发-隐蔽的陷阱.02.品牌topn支付额商品-changelog流的精细化控制操作.03.品牌topn支付额商品-取分组topn的逻辑实现.04.背压机制理解.05.背压的查找和定位.06.项目中的一些背压产生场景及解决手段.07.checkpoint问题及项目中的调优场景经验.实时数据仓库(Real-timeDataWarehouse)是指能够实时地处理和分析数据,使得数据仓库中的数据是最新的、最准确的,并且可以实时响应用户的查询和分析需求的一种数据仓库系统。与传统的数据仓库相比,实时数据仓库更加注重数据的实时性和对业务的实时响应能力。传统数据仓库通常是每日、每周或每月定期进行数据的抽取、转换和加载(ETL),更新的速度较慢,一般不支持实时查询和分析。而实时数据仓库则更加注重数据的实时性和对业务的实时响应能力,能够在数据发生变化时及时响应用户的查询和分析需求。实时数仓建设目的1.解决传统数仓的问题从目前数仓建设的现状来看,实时数仓是一个容易让人产生混淆的概念,根据传统经验分析,数仓有一个重要的功能,即能够记录历史。通常,数仓都是希望从业务上线的第一天开始有数据,然后一直记录到现在。但实时流处理技术,又是强调当前处理状态的一个技术,结合当前一线大厂的建设经验和滴滴在该领域的建设现状,我们尝试把公司内实时数仓建设的目的定位为,以数仓建设理论和实时技术,解决由于当前离线数仓数据时效性低解决不了的问题。现阶段我们要建设实时数仓的主要原因是:公司业务对于数据的实时性越来越迫切,需要有实时数据来辅助完成决策;实时数据建设没有规范,数据可用性较差,无法形成数仓体系,资源大量浪费;数据平台工具对整体实时开发的支持也日渐趋于成熟,开发成本降低。2.实时数仓的应用场景实时OLAP分析;实时数据看板;实时业务监控;实时数据接口服务。Doris采用了AdaptiveQueryExecution技术,可以根据RuntimeStatistics来动态调整执行计划,比如通过RuntimeFilter技术能够在运行时生成生成Filter推到Probe侧,并且能够将Filter自动穿透到Probe侧最底层的Scan节点,从而大幅减少Probe的数据量,加速Join性能。Doris的RuntimeFilter支持In/Min/Max/BloomFilter。在优化器方面Doris使用CBO和RBO结合的优化策略,RBO支持常量折叠、子查询改写、谓词下推等,CBO支持JoinReorder。目前CBO还在持续优化中,主要集中在更加精准的统计信息收集和推导,更加精准的代价模型预估等方面。
  • 所需E币: 1
    时间: 2023-6-1 11:16
    大小: 1012.98KB
    基于事件驱动架构的实时企业(Richard)
  • 所需E币: 0
    时间: 2023-5-23 15:59
    大小: 529B
    上传者: 蝴蝶结欧恩
    分享一套大数据课程——大数据实战启航班(Hadoop+Spark+Flink+离线计算+实时计算),包含源码+软件包+课件。本课程专门为想成为大数据工程师的同学而设计,涵盖大数据工程师的各种技能和知识点,零基础入门大数据,理论结合实战,助力你快速成为一名合格的大数据工程师。
  • 所需E币: 1
    时间: 2023-4-17 09:27
    大小: 295KB
    上传者: 张红川
    实时嵌入式操作系统在单片机中的应用.pdf
  • 所需E币: 1
    时间: 2023-4-17 09:24
    大小: 3.84MB
    上传者: 张红川
    全站仪动态测量的研究以及其与单片机在轨道式龙门吊实时检测中的应用.pdf
  • 所需E币: 1
    时间: 2023-4-4 09:41
    大小: 60.76MB
    GPU精粹-实时图形编程的技术、技巧和技艺
  • 所需E币: 1
    时间: 2023-3-31 09:07
    大小: 379.63KB
    上传者: 张红川
    基于at89c51的实时交通监控系统的研究与模拟.pdf
  • 所需E币: 0
    时间: 2023-3-30 16:14
    大小: 516.49KB
    多传感器动态参数实时采集与存储方法研究
  • 所需E币: 1
    时间: 2023-3-29 20:30
    大小: 1.86MB
    上传者: 指的是在下
    一种基于实时运动跟踪的自适应dMLC门控放射治疗方法 
  • 所需E币: 1
    时间: 2023-3-28 10:35
    大小: 103.47MB
    实时阴影技术ElmarEisemann,MichaelSchwarz,UlfAssarsson,MichaelWimmer
  • 所需E币: 1
    时间: 2023-3-25 10:11
    大小: 233.49KB
    上传者: 张红川
    基于单片机的UHF电调滤波器的实时调谐设计.pdf
  • 所需E币: 1
    时间: 2023-3-29 12:31
    大小: 1.86MB
    上传者: 指的是在下
    一种基于实时运动跟踪的自适应dMLC门控放射治疗方法.pdf
  • 所需E币: 1
    时间: 2023-3-22 10:05
    大小: 278.12KB
    上传者: 张红川
    基于hcs12单片机spi的实时显示设计.pdf