面向领域概念:流的思考

领域驱动设计 -- 领域驱动建模与面向对象建模的差异(一) 前阵子我们基于DDD的方式对产品中台的业务进行了重构,经过这些天水与火的煎熬后,我从实战的事件讲一讲我对DDD的理解以领域驱动建模与面向对象建模的区别。本质上来讲DDD与面向对象的本质区别在于DDD是构建在面向对象的基础之上的,即便DDD采用面向对象建模范式,领域驱动设计的建模仍与面向对象建模存在较大差异,原因在于领域驱动设计引入了限界上下文(Bounded Context)与聚合(Aggregate),使得建模的风景变得迥然不同。二者为领域模型引入了边界的约束,使得建模者不能随心所欲地建模... 阅读详情

PCAP是一种经常在计算机网络研究中被使用的文件格式。其按时间先后顺序记录了经过某条链路的数据报文。

PCAP文件格式较为简单,主要有三个组成部分:PCAP文件头部、PCAP数据包头部以及数据包数据。



在PCAP中,数据包是按照时间先后顺序存储的。而已有的如libpcap和WinPcap等程序库也是基于数据包为单元对象进行封装的。而在PCAP中,并没有“流”(具有相同五元组:源IP地址,目的IP地址,源端口,目的端口和协议的数据包串)这个概念。

在捕获报文得到的PCAP文件中,绝大多数情况都同时存在着不止一条流,而PCAP是按照包的到达时间顺序记录报文的。所以,流在PCAP文件中的存储顺序是分隔的,是不连续的。这种情况就比较类似操作系统中的进程地址空间,操作系统中进程的地址空间在逻辑上是连续的,以32位系统为例,其拥有4G的逻辑空间地址。但其在实际物理内存地址上是离散的,是进程的用户不可知的。而操作系统本身负责了逻辑地址与物理地址之间的相互转换。这样进程的用户就更容易专注于完成进程本身的功能,而不是处理复杂而繁琐的物理地址。这样的进程将会更健壮、更稳定。

在提出了“流”这一概念时,需要有与之对应的实现,这个实现可以是直接的,也可以是表示一个间接的转换。

我们可以对原始的PCAP文件进行流提取,因为直接分析顺序杂乱的数据包将会遇到困难:一方面不方便后续流参数提取模块的编写。另一方面,负责提出参数的研究人员以及分类算法编写人员将需要陷入具体的PCAP文件格式细节中,需要了解PCAP中数据包的存储顺序,这样将不便于研究工作的开展。

而当进行了流提取以后,对于流特征的分析和提取以及相关的研究讨论,便可集中在具体的流本身上,达到了与实际存储位置解耦合的效果,也方便多个人讨论时,集中“注意力”。


流提取的效果示意图如下:

上图所示,左边即为原始的PCAP文件示意图,一共有A、B、C三条流,其中A1表示流A中第一个数据包,A2表示流A中第二个数据包,依此类推。在原始PCAP文件中,单个流中的报文是按到达顺序存储的,但是对于不同流之间的报文是穿插着的。通过流提取模块对PCAP文件流进行提取,在不改变原始PCAP文件存储内容的条件下,可以得到逻辑上相互独立的流。单条流中,原始的报文顺序没有发生改变,这保证了我们在分析时不会出现时间先后顺序的错误,同时,将不同流之间的报文“逻辑”上分离了,便于我们对A、B、C三条流分别进行分析。对于研究流分类参数的研究人员,其只需要关注A、B、C三条流,而不需要关心A、B、C在原始的PCAP文件中是如何存储的。


告别手动烧录!给STM32H750外挂Flash制作Keil专用下载算法(保姆级避坑指南) 本文详细介绍了为STM32H750外挂Flash开发Keil专用下载算法的全过程,从原理到实战操作,特别针对QSPI Flash的配置和优化提供了保姆级避坑指南。通过定制下载算法,开发者可以告别手动烧录,实现一键下载到外部Flash,大幅提升开发效率。 阅读详情

相关推荐

LPDDR4x 深度解析(3) - SDRAM核心操作机制

本文深入解析LPDDR4x SDRAM的核心操作机制,包括基础架构、刷新操作、读写流程及低功耗设计。详细介绍了存储阵列、地址解码器等关键模块,以及自刷新与自动刷新模式的区别。通过实测数据和技术细节,揭示LPDDR4x在性能优化和功耗控制方面的创新设计,为硬件工程师提供实用参考。

weixin_29278805的博客 308

libpcap介绍(一)

Libpcap是Packet Capture Libray的英文缩写,即数据包捕获开源的C函数库,用于捕获网卡数据或分析pcap格式的抓包报文。Tcpdump和wireshark均是以此为基础的。主要功能有:网络报文抓取;网络报文的构建;抓包文件的分析;自定义BFP过滤。

木牛的博客 1808

大学生智能车竞赛初次尝试经验分享--1(硬件绘制电路,pcb部分)

本人机械电子专业大二暑假参加全国大学生智能车竞赛,之前参加过一些其他类型的比赛有一点基础,由于之前疫情影响所以做智能车比赛断代了,没有学长带也没有思路,从一开始的一头雾水逐渐摸索出我感觉比较实用的经验。 一.首先是硬件的准备工作: 1.硬件部分与要自己设计需要的电路制成pcb。推荐使用Altium Designer20,AD比较常用所以有多实用的教学视频,另外需要自己了解布线规则,包括信号线,电源线常用的宽度 一些电源电路,驱动电路建议用multisim仿真,没有问题再进行制版 单片机有关的需要仿真

weixin_52679034的博客 9831

Wireshark文件pcap的格式详细解析有实例(Global Header、Packet Header)

前言 毕设做的是流量的预处理方面的东西,处理的文件都是pcap文件,在处理的过程中需要对文件进行裁剪、剪切等工作,提取出需要的信息,所以一定得对pcap文件的数据结构很了解。下面就根据其他资料来学习总结一下pcap的文件格式,并举出实例来进行学习。 pcap文件格式 pcap文件数据结构如下图所示,每个pcap文件都是由Global Header、Packet Header、Packet D...

Hollake的博客 2万+

河道水位标尺识别预警 yolov7

河道水位标尺识别预警系统通过python+yolov7网络模型技术,河道水位标尺识别预警算法对河道水位标尺进行实时监测,当河道水位出现异常情况时,河道水位标尺识别预警算法将自动发出警报提示后台管理人员及时采取措施。YOLO系列算法是一类典型的one-stage目标检测算法,其利用anchor box将分类与目标定位的回归问题结合起来,从而做到了高效、灵活和泛化性能好,所以在工业界也十分受欢迎。Yolo模型采用预定义预测区域的方法来完成目标检测,具体而言是将原始图像划分为 7x7=49 个网格(grid),每

燧机科技的博客 2302

全面分析总结解决Could not transfer artifact org.apache.maven.plugins等此类问题的方法

全面分析总结解决Could not transfer artifact org.apache.maven.plugins,Could not transfer artifact xxx from/to xxx等此类问题的方法

ccjjjjdff的博客 1万+

libpcap实现机制及接口函数

1.Libpcap 的工作原理 Libpcap的工作原理可以描述为,当一个数据包到达网卡时,通过网络分接口(即旁路机制)将数据包发给BPF过滤器,匹配通过的数据包可以被libpcap利用创建的套接字PF_PACKET从链路层驱动程序中获得。进而在用户空间提供独立于系统的用户级API接口。 流程图示意图 一个数据包的捕捉分为三个主要部分 面向底层包捕获、 面向中间层的数据包过滤...

whatday的专栏 2047

从零开始:使用Remix和MetaMask在测试网部署智能合约的完整指南

本文提供了一份完整的指南,教你如何使用Remix和MetaMask在测试网上部署智能合约。从环境搭建、获取测试网代币到编写和部署合约,再到与合约交互和连接Python后端,涵盖了智能合约开发的各个环节。特别适合初学者快速上手区块链开发,同时介绍了安全注意事项和调试技巧。

weixin_29019241的博客 473

[置顶] 面向领域概念:流的思考

PCAP是一种经常在计算机网络研究中被使用的文件格式。其按时间先后顺序记录了经过某条链路的数据报文。 PCAP文件格式较为简单,主要有三个组成部分:PCAP文件头部、PCAP数据包头部以及数据包数据。 在PCAP中,数据包是按照时间先后顺序存储的。而已有的如libpcap和WinPcap等程序库也是基于数据包为单元对象进行封装的。而在PCAP中,并没有“流”(具有相同五元组...

weixin_30873847的博客 80

从DBC到ARXML:详解DaVinci Configurator中通信栈的自动化配置逻辑

本文深入解析了Vector公司DaVinci Configurator工具如何将DBC文件自动转换为符合AUTOSAR标准的ARXML配置,详细介绍了从DBC到ARXML的映射逻辑、自动化配置的边界与陷阱,以及工程实践中的优化策略。帮助工程师高效配置汽车电子系统中的通信协议,提升项目开发效率。

weixin_30279671的博客 717

STM32入门教程:智能汽车控制

智能汽车是近年来快速发展的领域之一,它结合了嵌入式系统、传感器和通信技术,通过智能化的控制算法和决策系统实现自主导航、避障、环境感知等功能。在这篇教程中,我们将以 STM32 微控制器为核心,通过编写代码案例来介绍智能汽车的控制原理和实现方法。步骤三:决策与执行 最后,我们根据传感器数据做出相应的决策,并执行相应的动作。案例:智能汽车的避障功能 在这个案例中,我们将实现智能汽车的避障功能。感知系统负责感知汽车周围的环境,包括障碍物的距离、车辆的角度等信息。下面我们通过一个具体的案例来演示代码的编写。

2401_85258012的博客 927

【思考】再谈面向过程与面向对象

【思考】再谈面向过程与面向对象 在我博客创作早期,写了一篇博文,名字是【Java核心技术卷】面向过程与面向对象对比。 这篇文章试图对比描述了关于 面向过程与面向对象 的内容。为什么还要再谈呢? 一方面原因是深度不够,另一方面原因要从对各种编程语言的感知说起 (涵盖面向对象、面向过程): 编译执行的C语言是静态语言、弱类型语言。 解释执行的JavaScript语言是动态语言...

明月沉江春雾晓 4562

【温室气体数据集】全球总碳柱观测网络 TCCON

【温室气体数据集】全球总碳柱观测网络 TCCON

WW、forever的博客 437

领域驱动开发和面向数据开发的思考

通常在面对一项业务需求时,技术人员首先想到的是会有哪些信息?要存储哪些字段?如何设计一个数据库表。然后再针对数据库表进行增删查改,完善业务逻辑,操作这些信息,最后完成需求。 我总结为,这是一个先形成“物”的概念,然后再完成“事”的概念,是自下而上的开发(从数据库开始编码到控制界面编码)。 这看起来很自由,毕竟有了数据,随便事情怎么变动,都可以完成逻辑。 然而,这是基于数据库表不再变动的情况下的,如果之前考虑不周,在数据库表上要删除或增加几个字段,那改起来就麻烦了。 在领域驱动设计中,思考方式就有所不同,我们

晓风残月淡的博客 964

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

从项目始末谈面向对象——领域模型

从项目始末谈面向对象——领域模型          利用端午放假的时间,腾出这点时间总结下对于领域模型的思考,也许这思考可能不如端午的粽子可口、美味。 但是尝下不同味道的粽子,也是不错的。         希望,大家会喜欢这样的粽子。        言归正传,什么是领域?什么是领域模型?        先举个不着边的例子,比如端午节的粽子。从包粽子的过程中涉及到几个现实对象的关系:糯米、

若水的专栏 3379

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

【Java】面向对象的思考

应该是需求分析和设计阶段。映射到我们的软件开发过程中,我们往往会采用自顶向下的方式,先搭建一个框架,用少量粗粒度的概念来覆盖系统的需求,再逐步细化,降低抽象的层次。在实际情况下,更应当从使用者的观点去描述,一个用例是一个参与者如何使用系统,获得什么结果的一个集合,那么此时用例可以解释为一系列完成一个特定目标的功能的组合,针对不同的应用场景,这些功能可以以不同的组合方式构建出新的用例。做需求的时候,首要目标不是要弄清楚业务是如何一步一步完成的,而是要弄清楚有多少业务的参与者,以及每个参与者的目标是什么。

2301_79456272的博客 1043

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

关于领域驱动以及面向对象的实例思考

序言 领域驱动设计是当下主流的设计思想,在微服务的设计中尤为重要。其思想更多的继承了面向对象的思想,是对其在分布式的框架下的拓展与强化,更加适合现代企业的分工合作,以及版本的更新迭代。 在讲解我对与领域驱动设计的思考时,我会穿插一个实际的例子,并且在文章最后会附上这个例子的链接。 需求分析 我先给出这个例子的需求: 首先这是一个仅在学校内使用的学生提交作业的系统 作业与课程挂钩,意味着一个课程下老师可以留N次作业 学生提交的作业以doc文档形式提交 作业限时提交 人员的管理以及课程的开设由管理员操作(不是

weixin_44870613的博客 1003

面向对象编程概念简述

一、编程范式 在我们编程语言里面,大致可以分为两个大类:命令式编程和声明式编程 1.命令式编程 所谓命令式编程,就是以命令为主,给计算机一条一条命令,计算机来按照我们给的命令原封不动的执行。 命令机器如何去做事情(how) 常见的命令式编程语言有:C语言,C++,C#,Java,PHP,Ruby 从命令式编程语言又可以分为两大类:面向过程和面向对象 (1)面...

anraoju5667的博客 328

一文详谈领域驱动设计实践

本文作者结合在团队的实践过程,分享了自己对领域驱动设计的一些思考。了解过领域驱动设计的同学都知道,人们常常把领域驱动设计分为两部分:战术设计和战略设计。这两个概念本身都是抽象的,有人把战术设计看作是领域内的设计过程,而战略设计看作是领域间关系的设计过程。也有一种认知是把战术设计看作是编码的设计,把战略设计看作是架构的设计。实际上领域驱动设计的作者Eric Evans本无意将这两者进行割裂,相反两者之间相辅相成,缺一不可。我将在本文中结合团队的实践过程,分享我对领域驱动设计的一些思考。

m0_46163918的博客 959

面试官的窒息逼问: 到底什么是面向接口编程?

最近有小伙伴在面试的时候被问到一个比较少见的问题: 什么是面向接口编程? 特此记录。

1万+

面向对象的思考

1. 封装(package) 1.1 概念 与 意义 到底是为了安全 还是为了对用户友好? 1.2 封装是指打包功能 把实现的细节隐藏在接口之后并不代表必须有强制的私有性 先保护好自己再让别人利用 ,让能看到的看到,不能看到的就隐藏 private protected,package,public 1.3 封装的层次和粒度: 平级封装 mvc , 层次封装(应该严格划分每层的责任和义务,不能违背这个原则) ......

xuejianxinokok的专栏 373

面向领域的微服务架构

近来,一些关于面向服务架构的话题,特别是针对微服务架构的弊端这个话题上进行了大量的讨论。虽然在几年前,微服务架构受到很多人的青睐,因为它们提供了许多好处,如独立部署的灵活性、明确的所有权、系统稳定性的改善以及更好的分离问题等优点。但是不久,就开始有人吐槽微服务会大幅增加系统复杂性,有时甚至连一些简单的功能都难以构建。 随着Uber发展,我们目前拥有了大约2200个关键的微服务,并且也亲身经历了这些权衡。在过去的两年里,Uber一直在试图降低微服务的复杂性的同时仍然保持着微服务架构的优势。我们希望通过这

一个天秤座的架构师 2万+

领域模型和领域对象的概念

面向对象架构模式之:领域模型(Domain Model) 领域模型是对领域内的概念类或现实世界中对象的可视化表示。又称概念模型、领域对象模型、分析对象模型。它专注于分析问题领域本身,发掘重要的业务领域概念,并建立业务领域概念之间的关系。       面向领域对象设计的原则简单的说就是起名字定职能,对象定领域,找关系做关联。    起名字,画圈,画线      先来完成最简单的部

蓝叶菱的专栏 2万+

领域驱动模型的思考与认知

本项目是基于小编的开发经验与心得,分享小编关于领域模型的理解, 个人愚见仅供参考,希望能为渴望进步的你提供帮助。如果你感到有用对你有帮助,请不要吝啬你的关注,求关注,求转发。 文章有三个议题,什么是领域模型,为什么需要领域模型设计,以及领域驱动的项目结构是什么样的? # 一、领域驱动模型是什么? 如果你是第一次听到这个词,嗯,多么恐怖的一件事情呀! 什么是领域模型,一种新的技术吗? 领域模型到底...

西魏陶渊明的博客 426

面向对象领域类图

在线购物 一、问题陈述     在这个互联网发达的时代,人们已不再满足于传统的购物行业。如今的购物平台是移动电商的天下,在线购物已经成为人们日常生活中不可或缺的存在。因此设计一个在线购物的系统是很有必要的。     这个系统的主要受众群体为平日里忙于学习或工作的较年轻群体,因此设计需尽量方便快捷,节省用户思考的时间,主要发展为手机app或线上商城。     主要解决的需求有快捷购物,大范围

SmallBean77的博客 3310
上一篇: Nodejs根据字符串调用对象方法
下一篇: nodejs同步读取console输入
kiwi小白
博客等级 码龄14年 153粉丝 154原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值