何为数据流、什么是文件流呢?一个非常基本命题,始终没有一个明确的概念。
一、数据流
数据流(data stream)是一组有序,有起点和终点的字节的数据序列。数据流最初是通信领域使用的概念,代表传输中所使用的信息的数字编码信号序列。这个概念最初在1998年由Henzinger提出,他将数据流定义为“只能以事先规定好的顺序被读取一次的数据的一个序列”。[1]
在系统中,可以将数据流看作是一组有顺序的、有起点和终点的流程节点的集合。通过节点连接数据源(起点)生成,沿“箭头”指向流动,经过一个节点处理后流向另一个节点(顺序)。节点可以看作“数据流” 的一个交汇点,是连接、处理及呈现数据流的工具。数据流可以形象的理解为“水流”、“电流”等,系统中 ,在节点之间流转的基础就是二维表,类似Excel里面的一个页签。
二、文件流
工作中,经常需要以文件对象进行数据处理,如按规则重命名、文件归类等。我们可以使用扫描目录节点,把文件对象引入到数据流中。文件对象的信息由文件实体数据、文件目录信息两部分组成;
- 文件实体数据,以二进制数组的方式存储(BLOB型);
- 文件目录信息,又称之为元数据,包括文件名称、目录结构、扩展名、创建日期、文件大小、Hash值等。
扫描目录的数据表
那么什么是文件流呢?
文件流是一种包含Name、StreamType和Data三个字段的特殊的数据流;其中Name为Text类型,为文件的名称;StreamType为Text类型,记录文件的扩展名,表示文件件类型;Data为BLOB型(Byte[]),以二进制数组的形式,存储文件的数据体。
除了Name、StreamType和Data字段之外,一个标准的文件流还应当包括ID、Size、Description三个字段。
文件流数据结构
标准文件流
使用上,文件流与普通数据流没有本质上的差异,若数据流中包含Name(Text)、StreamType(Text)和Data(BLOB)字段,系统即将其认定的文件流。
总的来说,系统中和文件流直接相关的节点,有21个。
文件流相关节点
创建文件流:目录扫描、网格文件、FTP等节点,可将磁盘的文件读入流程中。
数据流转文件流:文件收集器节点,将前节点的输出表格、统计图、地图等内容转换为文件流;此外,网页截图、网格化等节点,也可以视之为数据流转文件流的过程。当然也可以运用多列、新列、过滤等节点将数据组织成文件流。
文件流处理:文件格式转换、文件拷贝可视之为典型的文件流处理操作。
文件流应用:以文件流为基础的应用有很多,如浏览报告、Word、PPT等创建报告应用;数据项转存、CMD、GMT、Python等基于文件流的数据加工;发邮件、发微信等将文件部署应用。
除节点之外,可以与文件流相关节点、函数也有很多。如多列节点中的快速创建文件流功能。
多列节点创建文件流
字符串文件流,一种特殊的文件流,将文字以BLOB的方式存储,以便于后续的节点应用。文字的数据类型Bytes[]、字符串和Base64字符串之间,可以进行相互转换,如图所示。
字符串文件流
图中箭头标注的内容为数据类型转换的方向,扫描目录和数据项转存为节点,其它为函数。
三、 数据流的基本操作[2]
1.生成数据流的基本过程
数据流由一系列的节点组成,当数据通过每个节点时,节点对它进行定义好的操作。建立数据流通常遵循以下4个步骤:
(1) 向数据流区域增添新的节点;
(2) 将这些节点连接到数据流中;
(3) 设定数据节点或数据流的功能:
(4) 运行数据流。
2.向数据流区域添加,删除节点
当向数据流区域添加新的节点时,通过下面两种方法均可实现:
(1) 双击工具箱中待添加的节点。
(2) 单击待添加节点,按住鼠标不放,将其拖入数据流区域内。
通过上面两种方法都将发现选中的节点出现在了数据流区域内。当不再需要数据流区域内的某个节点时,可以通过以下两种方法来删除:
(1)单击待删除的节点,按Delete键删除。
(2)右击待删除的节点,在快捷菜单中选择delete命令。
注意,删除一个节点后,与之相连的所有连接也将一并被删除。
3.将节点连接到数据流中
上面介绍了将节点添加到数据流区域的方法,然而要使节点真正发挥作用,需要把节点连接到数据流中。以下有3种方法可将节点连接到数据流中:
(1) 双击节点。首先选中数据流中要连接新节点的节点(起始节点),然后双击选项板区中要添加到数据流的节点(目标节点),这样新节点会出现在数据流区域,并自动建立从起始节点到目标节点的连接。
(2) 通过Ctrl键连接。首先在数据流中选中连接起始节点,按住Ctrl键不放,然后用鼠标从起始节点拖曳到目标节点后放开,连接便自动生成。
(3) 鼠标中键连接。首先在数据流中选中连接起始节点,用鼠标中键从起始节点拖曳到目标节点后放开,连接便自动生成。
需要注意的是,并不是任何两个节点之间都可以建立连接。
4.将节点插入已存在的连接中
当需要在两个已连接的节点中再插入一个节点时,可以用鼠标将连接拖到要插入的节点上,即可将节点插入到连接中,如图所示。同时原来两个节点间的连接被删除。
将节点插入已存在的连接中
5.删除连接
当某个连接不再需要时,可以选择待删除的连接,右击,从弹出的快捷菜单中选择“删除连接”命令。
删除连接
6.数据流的执行
数据流构建好后要通过执行数据流数据才能从读入开始流向各个数据节点。执行数据流的方法有以下3种。
(1)单击工具栏中的▶按钮,数据流区域内的所有数据流将被执行。
(2)选择要执行的数据流中的输出节点,按F5,执行被选中的节点。
(2)选择要执行的数据流中的输出节点,右击,在弹出的快捷菜单中选择“浏览数据...”命令,执行被选中的节点。













网友评论