DataScraper的核心是自研的工作流引擎,顺序调度信息提取(页面抓取/抽取)工作流指令文件中定义的工作流处理器。系统还提供一个全局的上下文容器,供处理器之间交换数据或者获得控制指令。
每个处理器的实现框架是一样的,对外接口有:
- 从上下文容器获得其他处理器或者系统产生的数据
- 向上下文容器输出数据供其他处理器使用
- 从上下文容器中获得系统和其他处理器发出的控制指令,例如,是否停止整个工作流、是否跳过本处理器等等。一个最重要的控制指令是令牌,令牌决定了工作流中处理器的调度。每个处理器被调度时要检查令牌,判断自己应该怎样运行,在向下一处理器传递令牌时可以修改令牌的内容