微信亿级用户异常检测框架的设计与实践

【图分析】同配性(Assortativity)在社交网络中的关键作用与计算实践 本文深入探讨了同配性(Assortativity)在社交网络分析中的关键作用与计算实践。通过度同配性和属性同配性的分析,揭示了社交网络中'人以群分'的现象,并提供了同配系数的计算方法及实际应用案例。文章还介绍了邻居节点度分析和混合矩阵等工具,帮助优化社区发现、影响力预测和异常检测,为社交网络分析提供了实用指导。 阅读详情

月活用户越高的互联网产品,被黑产盯上的可能性就越大。在微信的安全生态里,正是有网络黑产的层出不穷,变化多端,才有了微信安全的不断进化。本文将带你一窥究竟,微信是怎么做异常检测框架的?

1写在前面

如何在大规模数据下检测异常用户一直是学术界和工业界研究的重点,而在微信安全的实际生态中,一方面,黑产作恶手段多变,为了捕捉黑产多变的恶意模式,若采用有监督的方法模型可能需要频繁更新,维护成本较高;另一方面,通过对恶意帐号进行分析,我们发现恶意用户往往呈现一定的“聚集性”特征,因此这里需要更多地依赖无监督或半监督的手段对恶意用户进行检测。然而,微信每日活跃帐号数基本在亿级别,如何在有限的计算资源下从亿级别帐号中找出可疑帐号给聚类方案的设计带来了不小的挑战,而本文则是为了解决这一问题的一个小小的尝试。

2异常检测框架设计目标及核心思路

设计目标

为了满足在实际场景检测异常用户的要求,在设计初期,我们提出如下设计目标:

  • 主要用于检测恶意帐号可能存在的环境聚集和属性聚集;
  • 方案需要易于融合现有画像信息等其他辅助信息;
  • 方案需要具有较强的可扩展性,可直接用于亿级别用户基数下的异常检测。

核心思路

通常基于聚类的异常用户检测思路是根据用户特征计算节点之间的相似度,并基于节点间相似度构建节点相似度连接图,接着在得到的图上做聚类,以发现恶意群体。然而,简单的分析就会发现上述方案在实际应用场景下并不现实,若要对亿级别用户两两间计算相似度,其时间复杂度和空间消耗基本上是不可接受的。为了解决这一问题,可将整个用户空间划分为若干子空间,子空间内用户相似度较高,而子空间之间用户之间的相似度则较低,这样我们就只需要在每个用户子空间上计算节点相似度,避免相似度较低的节点对之间的相似度计算 (这些边对最终聚类结果影响较低),这样就能大大地降低计算所需的时间和空间开销。

基于这一想法,同时考虑到恶意用户自然形成的环境聚集和属性聚集,我们可以根据环境以及用户属性对整个用户空间进行划分,只在这些子空间上计算节点之间的相似度,并基于得到的用户相似度图挖掘恶意用户群体。此外,直观上来分析,如果两个用户聚集的维度越“可疑”,则该维度对恶意聚集的贡献度应该越高,例如,如果两个用户同在一个“可疑”的 IP 下,相比一个正常的 IP 而言,他们之间存在恶意聚集的可能性更高。基于这一直觉,为了在每个用户子空间内计算用户对之间的相似度,可根据用户聚集维度的可疑度给每个维度赋予不同的权值,使用所有聚集维度的权值的加权和作为用户间的相似度度量。

注:依据上述思路,需要在属性划分后的子空间计算两两用户之间的相似度,然而实际数据中特定属性值下的子空间会非常大,出于计算时间和空间开销的考虑,实际实现上我们会将特别大的 group 按照一定大小 (如 5000) 进行拆分,在拆分后的子空间计算节点相似度。(实际实验结果表明这种近似并不会对结果造成较大影响)

3异常检测框架设计方案

基于上述思路,异常检测方案需要解决如下几个问题:

  • 如何根据用户特征 / 使用怎样的特征将整个用户空间划分为若干子空间?
  • 如何衡量用户特征是否“可疑”?
  • 如何根据构建得到的用户相似度关系图找出异常用户群体?

为了解决以上三个问题,经过多轮的实验和迭代,我们形成了一个较为通用的异常检测方案,具体异常检测方案框架图如图 1 所示:

图片

图 1 异常用户检测框架

如图 1 所示,首先,用户空间划分模块根据“划分属性”将整个用户空间划分为若干子空间,后续节点间相似度的计算均在这些子空间内部进行;恶意属性检测模块则根据输入数据自动自适应地识别用户特征中的“可疑”值;用户空间划分和恶意属性检测完成后,在每个用户子空间上,用户相似度计算模块基于恶意属性检测得到的恶意属性库和相应的权重策略计算用户之间两两之间的相似度,对于每个特征以及其对应的不同的可疑程度,权重策略模块会为其分配相应的权重值,用户间边的权重即为节点所有聚集项权重的加权和,为了避免建边可能带来的巨大空间开销,方案仅会保留权值大于一定阈值的边;得到上一步构建得到的用户相似度关系图后,可使用常用的图聚类算法进行聚类,得到可疑的恶意用户群体。

用户空间划分

为了进行节点间相似度的计算,首先需要将整个用户空间划分到不同的子空间中去,那么这些用于划分的属性该如何选取呢?经过一系列的实验和分析,我们将用户特征划分为以下两类:

  • 核心特征:核心特征指黑产帐号若要避免聚集,需要付出较大的成本的特征,主要包括一些环境特征;
  • 支撑特征:支撑特征指黑产帐号若要避免聚集,改变所需成本较小的特征。

不难发现,对于上述核心特征,黑产规避的成本较大,所以在具体的划分属性的选取上,我们使用核心特征对用户空间进行划分,并在划分得到的子空间上计算节点对之间的相似度。在子空间上计算节点之间的相似度时,我们引入支撑特征进行补充,使用核心特征和支撑特征同时计算用户之间的相似度,以提高恶意判断的准确率和覆盖率。

何为“可疑”

可疑属性提取

在确定划分属性后,一个更为重要的问题是如何确定哪些用户属性值是可疑的?这里我们主要对用户脱敏后的登录环境信息进行分析,依赖微信安全中心积累多年的环境画像数据,通过对用户属性值的出现频次、分布等维度进行分析,提取出一些可疑的属性值。

多粒度的可疑属性识别

在进行养号识别的实验过程中,我们发现,单纯依靠若干天登录数据的局部信息进行养号检测往往无法达到较高的覆盖率。为了解决这一问题,在可疑属性提取过程中,我们会融合安全中心现有的环境画像信息以及反垃圾数据等全局信息辅助进行判断,局部信息和全局信息的融合有以下两个好处:

  • 融合局部信息和全局信息,可增大可疑属性判断的置信度和覆盖度,提高算法覆盖率;
  • 增加了用户相似度计算设计上的灵活度,如若特定帐号与已封号帐号有边相连,可通过赋予该边额外的权重来加大对已知恶意用户同环境帐号的打击。

恶意用户识别

图片

图片

图片

图片

我们将超过一定阈值的用户视为恶意用户,其中,阈值可根据不同阈值得到的算法的准确率和覆盖率选取一个合适的阈值。

另,处于性能和可扩展考虑,我们使用 Connected Components 算法来识别可疑的用户团体,同时,得到恶意团体后我们会对团体进行分析,提取在团体维度存在聚集性的属性值,以增强模型的可解释性。

4从百万到亿——异常检测框架性能优化之路

初步实验时,我们随机抽取了百万左右的用户进行实验,为了将所提方案扩展到全量亿级别用户上,挖掘可疑的用户群体,我们做了如下优化:

Spark 性能优化

在基于 Spark 框架实现上述异常检测框架的过程中,我们也碰到了 Spark 大数据处理中常见的问题 ------ 数据倾斜。分析上述异常检测方案不难发现,方案实现中会涉及大量的 groupByKey,aggregateByKey,reduceByKey 等聚合操作,为了规避聚合操作中数据倾斜对 Spark 性能的影响,实际实现中我们主要引入了以下两个策略:两阶段聚合和三阶段自适应聚合。

两阶段聚合

如图 3 所示,两阶段聚合将聚合操作分为两个阶段:局部聚合和全局聚合。第一次是局部聚合,先给每个 key 都打上一个随机数,比如 10 以内的随机数,此时原先一样的 key 就变成不一样的了,比如 (hello, 1) (hello, 1) (hello, 1) (hello, 1) 就会变成 (1_hello, 1) (1_hello, 1) (2_hello, 1) (2_hello, 1)。接着对打上随机数后的数据,执行 reduceByKey 等聚合操作,进行局部聚合,得到局部聚合结果 (1_hello, 2) (2_hello, 2)。然后将各个 key 的前缀给去掉,得到 (hello,2),(hello,2),再次进行全局聚合操作,即可得到最终结果 (hello, 4)。

图片

图 3 两阶段聚合

三阶段自适应聚合

用户空间划分阶段我们需要将整个用户空间根据划分属性划分为若干个子区间,实际实验时我们发现在亿级别数据下,使用两阶段聚合,也会出现特定 key 下的数据量特别大的情况,导致 Spark 频繁 GC,程序运行速度极其缓慢,甚至根本无法得到聚合后的结果。为了解决这一问题,注意到通过划分属性进行划分后,仍然会将特别大的 group 按照一定大小进行切割,那么直接在聚合过程中融合这一步骤不就可以了么,这样就能解决特定属性值下数据特别多的情形,也能极大地提升算法运行效率。

三阶段自适应聚合分为以下四个阶段:

  1. 随机局部聚合:设定一个较大的数(如 100),参照两阶段聚合第一阶段操作给每个 key 打上一个随机数,对打上随机数后的 key 进行聚合操作;
  2. 自适应局部聚合:经过随机局部聚合后,可获取每个随机 key 下的记录条数,通过单个随机 key 下的记录条数,我们可以对原 key 下的数据条数进行估算,并自适应地调整第二次局部聚合时每个原始 key 使用的随机数值;
  3. 第二轮随机局部聚合;根据自适应计算得到的随机数继续给每个 key 打上随机数,注意此时不同 key 使用的随机数值可能是不同的,并对打上随机数后的 key 进行第二轮局部聚合;
  4. 全局聚合:经过第二轮随机局部聚合后,若特定 key 下记录数超过设定阈值 (如 5000),则保留该结果,不再进行该阶段全局聚合;否则,则将随机 key 还原为原始 key 值,进行最后一阶段的全局聚合。

Faster, Faster, Faster

经过以上调优后,程序运行速度大致提升了 10 倍左右。然而,在实验中我们发现当对亿级别用户进行相似度计算并将边按阈值过滤后,得到的边数仍然在百亿级别,占用内存空间超过 2T。那么我们有没有可能减小这一内存占用呢?答案是肯定的。通过对整个异常用户检测流程进行细致的分析,我们发现我们并不需要对子空间内所有用户对进行相似度计算,通过前期实验我们发现当用户可疑度超过 0.7 时,基本就可以判定该用户是恶意用户。根据用户可疑度计算公式反推,当节点关联边的权重超过 18.2 时,其在最后结果中的权值就会超过 0.7,基于这一想法,我们引入了动态 Dropping 策略。

动态 Dropping 策略

引入 HashMap 保存当前子空间每个节点的累计权重值,初始化为 0.0;按照原始算法依次遍历子空间下的节点对,若节点对两个节点累计权重值均超过阈值(18.2),则跳过该节点对权值计算,否则则根据原始算法计算节点对权重,并累加到 HashMap 中,更新关联节点的累积权重值。引入动态 Dropping 策略后,对于较大的用户子空间,程序会跳过超过 90% 的节点对的相似度计算,极大地减少了计算量;同时,亿级别用户相似度计算生成的边的内存占用从原来超过 2T 降到 50G 左右,也极大地降低了程序所需内存占用。

图划分策略

通过相似度计算得到的用户相似度关系图节点分布是极不均匀的,大部分节点度数较小,少部分节点度数较大,对于这种分布存在严重倾斜的网络图,图划分策略的选择对图算法性能具有极大影响。为了解决这一问题,我们使用 EuroSys 2015 Best Paper 提出的图划分算法 HybridCut 对用户相似度关系图进行划分。

图片

图 4 HybridCut 图划分算法

如图 4 所示,HybridCut 图划分算法根据节点度数的不同选取差异化的处理策略,对于度数较低的节点,如节点 2,3,4,5,6,为了保证局部性,算法会将其集中放置在一起,而对于度数较高的节点,如 1,为了充分利用图计算框架并行计算的能力,算法会将其对应的边摊放到各个机器上。通过按节点度数对节点进行差异化的处理,HybridCut 算法在局部性和算法并行性上达到了较好的均衡。以上仅对 HybridCut 算法基本思路进行粗略的介绍,更多算法细节请参阅论文 PowerLyra: Differentiated Graph Computation and Partitioning on Skewed Graphs。

5总结和讨论

优点与不足

优点

上述异常用户检测框架具有如下优点:

  • 能够较好地检测恶意用户可能存在的环境聚集和属性聚集,且具有较高的准确率和覆盖率;
  • 能够自然地融合画像信息以及反垃圾信息,通过融合不同粒度的信息,可提高算法的覆盖率,同时也给算法提供了更大的设计空间,可以按需选择使用的特征或信息;
  • 良好的扩展性,可直接扩展到亿级别用户进行恶意用户检测,且算法具有较高的运行效率。

不足

  • 无法对非环境和属性聚集的恶意用户进行检测 (当然,这也不在方案的设计目标里),无法处理恶意用户使用外挂等手段绕过环境和属性聚集检测的情况;
  • 上述方案权重策略部分需要人工指定权重,这无疑增加了人工调参的工作量,若黑产恶意模式或使用特征发生较大的变更,则可能需要对权重重新进行调整,维护成本较高。

Next…

  • 探索自动化的权重生成策略,以应对可能的特征或黑产模式变更;
  • 是否可以根据聚类过程中的信息生成规则,用于实时恶意打击;
  • 上述方案比较适合用来检测恶意用户可能存在的环境聚集和属性聚集,对于非环境和属性聚集的恶意类型则显得无能为力了 (一种可能的方案是将连续属性离散化,不过这样太不优雅了!),因此后续我们会尝试从行为维度对用户行为进行分析,并构建相应的打击模型。

6参考文献

  1. Chen R, Shi J, Chen Y, et al. PowerLyra: differentiated graph computation and partitioning on skewed graphs[C]// Tenth European Conference on Computer Systems. ACM, 2015:1.
  2. Spark 性能优化指南——高级篇 https://tech.meituan.com/spark-tuning-pro.html
作者介绍

青原行思,腾讯微信安全中心员工,主要研究机器学习方法在安全业务中的应用。

​ 本文转自微信后台团队,如有侵犯,请联系我们立即删除

OpenIMgithub开源地址:

https://github.com/OpenIMSDK/Open-IM-Server

OpenIM官网 : https://www.rentsoft.cn

**OpenIM官方论坛: ** https://forum.rentsoft.cn/

更多技术文章:

开源OpenIM:高性能、可伸缩、易扩展的即时通讯架构
https://forum.rentsoft.cn/thread/3

【OpenIM原创】简单轻松入门 一文讲解WebRTC实现1对1音视频通信原理
https://forum.rentsoft.cn/thread/4

【OpenIM原创】开源OpenIM:轻量、高效、实时、可靠、低成本的消息模型
https://forum.rentsoft.cn/thread/1

基于 Mosquitto 与 paho-mqtt 的 MQTT 客户端封装 MQTT 是一种轻量级发布/订阅协议,核心由 broker 完成主题路由,客户端通过 TCP 或 WebSocket 维持长连接,并用 QoS 等级在吞吐、延迟与可靠性之间取舍。生产环境中,裸调客户端库往往要重复处理连接状态、断线重连、主题分发、发送队列和异常隔离,这些机械操作适合收敛到统一的 MQTT 客户端封装层。其技术价值在于把连接生命周期、重订阅、背压与指标观测变成可配置、可复用能力,广泛适用于物联网采集、工业网关、设备控制与多语言系统对接。围绕 Mosquitto 生态与 paho-mqtt 的实 阅读详情

相关推荐

无监督学习实战:从数据混沌中挖掘业务真问题

无监督学习是一种不依赖人工标签、直接从数据分布中发现结构与异常的机器学习范式。其核心原理在于利用距离度量、密度估计或流形学习等方法,揭示高维数据内在的聚类模式或离群特性。相比监督学习对标注质量的高度敏感,无监督方法在小样本、概念漂移、标签模糊等现实场景中展现出更强鲁棒性与业务适应性。它广泛应用于工业设备故障预警、用户行为分群、医疗早期风险识别等需从海量原始日志、时序信号或未标注图像中主动定义问题的领域。本文聚焦无监督思维落地的关键路径——特征工程设计、算法选型逻辑与结果业务翻译,尤其强调‘物理驱动特征’和‘

dilv4062的博客 395

如何分析日活跃用户异常波动

http://app.myzaker.com/news/article.php?pk=5d0704718e9f0964cc605456 (以下内容摘抄自上连接) 案例简介 一款信息流 APP 平时日活稳定在 79w-80w 之间,但是在 6 月 13 日起突然掉到了 78.8w,到 6 月 15 日已经掉到 78.5w,这时产品负责人着急了,让你尽快排查一下数据下跌的原因。 核心点:先做数据异常...

sinat_20263049的博客 1490

基于AI的大前端用户行为异常检测:预防欺诈与保障数据安全

大前端用户行为安全AI检测方案 摘要:面对小程序/APP/Web生态中恶意注册(18%异常率)、刷单作弊(32%虚假订单)等安全威胁,本文提出AI驱动的异常检测技术架构。通过多端数据采集、300+维度特征工程,结合孤立森林、LSTM和图神经网络等算法,实现95%+准确率的异常识别。典型应用包括:1)恶意注册检测(设备指纹+行为序列+图关联分析);2)刷单识别(动态阈值模型+操作时序分析)。相比传统规则引擎,该方案将漏检率从47%降至5%以下,误报率从23%优化至3%,有效提升大前端安全防护能力。技术实现涵盖

物物而不物于物,念念而不念于念 1341

使用多种算法检测用户异常操作行为

数据集 www.schonlau.net,包含50个用户的操作日志,每个日志中有15000条操作指令,前5000条都是正常操作,后10000条包含随机的异常操作。 1.使用K近邻算法检测异常操作 思想:取使用最频繁的和最不频繁的操作命令。 # -*- coding:utf-8 -*- import sys import urllib import urlparse import re ...

不忘初心,护天下安全! 4536

利用大模型进行推荐场景的用户行为异常检测

《利用大模型进行推荐场景的用户行为异常检测》 关键词: 大模型、用户行为、异常检测、推荐系统、深度学习 摘要: 本文将深入探讨如何利用大模型在推荐场景中进行用户行为异常检测。我们将首先

AI天才研究院 1487

SMR实战指南:从GWAS数据到eQTL分析的完整流程

本文提供了基于汇总数据的孟德尔随机化(SMR)实战指南,详细解析了如何从GWAS汇总数据出发,整合eQTL数据,完成从数据准备、BESD格式转换到最终SMR与HEIDI分析的完整流程。文章重点阐述了核心操作步骤、常见避坑技巧与结果解读,旨在帮助遗传学研究者高效掌握这一分析基因表达与复杂性状潜在因果关系的强大工具。

weixin_29246195的博客 1068

Github 15K! 亿级向量相似度检索库Faiss 原理+应用

作者|Chilia整理|NewBeeNLP最近在使用ColBERT双塔结构进行文本召回,其中必然要涉及到向量相似度查询,如果只用brute-force方法的复杂度实在太高,...

Kaiyuan_sjtu的博客 9690

SAP LSMW保姆级操作文档

SAP LSMW(Legacy System Migration Workbench)是一个强大的工具,旨在简化旧系统数据向SAP系统的迁移过程。它允许用户通过多种方式导入数据,包括直接输入、批处理输入和BAPI。LSMW支持数据映射和转换,确保数据在迁移过程中保持一致性,减少手动输入的需求,从而提高效率,适用于新系统实施和数据更新项目。在日常运维过程中我们经常会遇到用户要求我们批量改一写数据,通常这些字段的信息有些SAP是提供程序可以批量进行更改的比如主数据的MM17、通用更改数据的MASS。

我小时候很黑的博客 4942

B. 智能运维 --- 质量保障 --- 异常检测 --- 指标异常检测 --- 框架

B. 智能运维 --- 质量保障 --- 异常检测 --- 指标异常检测 --- 框架 雅虎遗作:异常检测框架(EGADS) 业务场景 系统指标:系统指标可以反映硬件的健康情况。比如CPU利用率,硬盘空间,网络端口状态,内存使用情况等等。 商业指标:这些指标可以帮助公司快速的发现服务问题。比如页面访问率,访问延迟等等。 EGADS的整体框架 时间序列建模模块 (T...

micklongen的专栏 1808

1.3-----Simplify 3D切片软件:从新手困惑到高效打印的进阶设置指南

本文详细介绍了Simplify 3D切片软件在大型模型打印中的高效设置技巧,包括切片效率、支撑结构智能生成和精细参数调节等核心优势。通过实战案例和进阶参数设置指南,帮助用户从新手快速进阶到高效打印,显著提升3D打印质量和效率。

weixin_42552716的博客 422

树莓派4B系统安装及SSH远程控制(简单易操作)

​自从2022年4月树莓派官网更新了RaspberryPiImager版本v1.7.2后,便不再支持自行建立ssh文件,并用默认用户名pi和密码raspberry的方式进行远程控制(亲测不行,输密码时一直access denied)。但是该版本软件提供了烧录系统前设置ssh用户及密码功能。本文记录了系统安装和SSH远程操作步骤。........................

机械人的代码路 5790

微信支付UI自愈系统:智能检测与热修复技术解析

UI自愈系统是现代移动应用开发中的关键技术,通过自动化检测和修复界面异常,显著提升用户体验和业务连续性。其核心原理结合了实时数据采集、多模态异常检测和智能决策引擎,其中Flink流处理和TensorFlow模型的应用实现了高效的异常分析。在移动支付等高并发场景下,这类系统能将传统人工排查的小时级响应缩短至分钟级,直接影响支付成功率等关键指标。微信支付团队实现的解决方案融合了视觉差分检测、布局结构分析和用户行为模式识别,通过热更新技术实现无感修复,为金融科技领域提供了可复用的技术框架。

weixin_29284885的博客 278

VBA学习笔记6:将多个工作表中满足条件的数据汇总到同一个工作表

VBA学习笔记6:将多个工作表中满足条件的数据汇总到同一个工作表

weixin_45355881的博客 4708

AI智能体安全实战:权限治理与供应链防御架构设计

在人工智能技术广泛应用于企业自动化的今天,AI智能体作为‘数字员工’正深度集成到核心业务流程中。从技术原理上看,智能体通过自主规划与工具调用实现任务自动化,这带来了显著的效率提升,但其动态、自主的特性也引入了全新的安全挑战。传统的静态权限模型已无法适应,必须转向以‘机器身份’和‘最小必要’为核心的动态权限治理体系,结合基于属性的访问控制(ABAC)实现精细授权。同时,智能体依赖复杂的第三方组件(如开源模型、代码库、插件),其供应链安全成为关键防线,任何上游环节的漏洞都可能导致严重的数据泄露或系统入侵。本文聚

weixin_34416649的博客 356

18、公开可用的PPG数据库介绍

本文介绍了多个公开可用的PPG(光电容积描记)数据库,包括PPG-BP数据库、MIMIC II波形数据库、运动期间手腕PPG数据库以及指尖PPG与呼吸数据库等。这些数据库提供了丰富的生理信号数据,适用于动脉血压检测、呼吸频率估计、运动干扰去除以及基于PPG的生物特征识别等研究。每个数据库的数据来源、受试者信息、信号特点和下载方式均有详细介绍,并展示了如何利用这些数据库进行信号分析和算法评估。

salt的博客 388

搭建问答系统

数据描述 import docx import jieba from gensim.models import Word2Vec import os import numpy as np import pickle as pk import warnings from copy import deepcopy warnings.filterwarnings("ignore") from mu...

微信号:RunsenLiu 1840

数据清洗实战:方法论与工程实践

数据清洗作为数据预处理的关键环节,直接影响后续分析和建模的准确性。其核心原理是通过规则引擎和算法检测,处理缺失值、异常值和格式不一致等问题。在工程实践中,高效的数据清洗能显著提升数据质量,降低下游任务错误率。典型应用场景包括电商评论分析、金融风控和用户画像构建。本文通过真实案例,详解如何使用Python和Spark处理TB级数据中的脏数据问题,特别针对多语言文本和时序数据等复杂场景,分享分布式清洗架构和增量处理等性能优化技巧。

cnracht8153的博客 321

使用MATLAB和Simulink来创建一个智能家居照明控制系统的仿真模型

智能家居中的智能照明控制系统旨在通过自动化手段优化家庭照明,提高能源效率和居住舒适度。这通常涉及传感器(如光敏传感器、运动传感器)、控制器(如微控制器或PLC)以及执行器(如调光器或开关)。在这个教程中,我们将使用MATLAB和Simulink来创建一个智能家居照明控制系统的仿真模型。

xiaoheshang_123的博客 220

信息与网络安全知识体系:一张图理清核心概念、技术框架与实战基础

**信息安全**:是指信息网络中的硬件、软件及其系统中的数据受到保护,不受偶然的或者恶意的原因而遭到破坏、更改、泄露、否认等,系统连续可靠正常的运行,信息服务不中断。

2301_77472496的博客 74

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

MTSC2019大会日程重磅发布,腾讯WeTest独家Topic大揭秘!

作者:WeTest小编 商业转载请联系腾讯WeTest获得授权,非商业转载请注明出处。 原文链接:https://wetest.qq.com/lab/view/464.html WeTest 导读 中国移动互联网测试开发大会 Mobile Testing Summit China(简称 MTSC)是由国内最大的移动测试技术社区 TesterHome 发起的软件测试行业技术会议,大会以“软件质量保障...

wetest_tencent的博客 749

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

打造游戏金融小程序行业测试标准腾讯WeTest携各专家共探品质未来

作者:WeTest小编 商业转载请联系腾讯WeTest获得授权,非商业转载请注明出处。 原文链接:https://wetest.qq.com/lab/view/465.html 在获客成本不断上升的时代里,产品品质愈发是互联网应用的决胜标准。随着用户需求更加多样,开发者不仅要深挖应用功能,更需要面向业务所在领域,建立全面、专业的测试架构,掌控开发进度、提高开发效率,才能在互联网产品“肉搏战”中笑到...

wetest_tencent的博客 1094
上一篇: 微信开源PhxQueue:高可用、高可靠、高性能的分布式队列**
下一篇: 揭秘超分辨率的正确打开方式
OpenIM
博客等级 码龄5年 295粉丝 68原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值