我正在编写工作计划程序。我的作业调度程序的功能之一是处理作业依赖性。例如:作业A可以定义在另一个作业B完成之前不运行我,或者作业A可以定义在磁盘中存在某个文件F等之前不运行我。
总而言之,我正在处理两种类型的依赖项
一个工作对另一个工作的依赖性。
作业在某些基础架构上的依赖性。
这里的要求是在任何时间有人可以要求生成某些作业的依赖图。为了有效地生成该图,我正在寻找一种格式,用于存储这些作业依赖项。请注意,持久性是一个文件系统。
答案 0 :(得分:1)
您需要有向无环图(DAG)。
我想那么所有需要知道的是如何存储图形。
IIRC,确保图的非循环性质的一种方法是在后台运行另一种算法,该算法定期检查当前图是否具有循环且是否死锁。
为了完整起见,您的图形顶点可以存储以下内容:
此外,由于可能存在一个不依赖于任何其他工作的工作或工作组,因此您可能会有一组DAG,而不仅仅是一个DAG。