求一个搜索 关键字

2019-03-24 18:13:40 +08:00
 FrailLove
比如 我有 a b c d 这 4 个动作,
c 动作 依赖 a 和 b,
d 依赖 c,
但是 a 和 b 没有关系 所以 a 和 b 可以并行处理 并且需要做完 才能做后面的,
然后做完了 d,随时可以重新操作 a b 或 c 只是 如果做 b 的话 之前操作的 a 数据应该保留可以不做 但是 c 必须重新操作,

不知道我讲清楚了没有,请问这个在编程领域叫做 什么算法 数据结构还是 什么操作,不知道搜索引擎可以搜索什么关键字可以知道这样的流程设计思路
提前谢谢!
1183 次点击
所在节点    问与答
8 条回复
xiri
2019-03-24 18:34:46 +08:00
感觉有点像 AOE 网?
580a388da131
2019-03-24 18:37:24 +08:00
勾子?
Cbdy
2019-03-24 18:40:14 +08:00
进程 /线程同步
delectate
2019-03-24 18:41:13 +08:00
楼主是不是看了李智慧写的《大型网站技术架构》,或者类似名字的书籍?

没有专门的设计思路,就是解构,去耦。
Cbdy
2019-03-24 18:46:52 +08:00
@Cbdy 并发部分涉及到进程 /线程同步,剩下的就是一个简单的状态机
zwh2698
2019-03-24 22:11:42 +08:00
简单的状态,上升就图论
Xbluer
2019-03-24 23:13:15 +08:00
一个实现思路:维护两张表。

一张表定义各个动作的完成状态,字段:记录 ID,动作 A 状态,动作 B 状态,动作 C 状态,,动作 D 状态。状态包含:未完成、执行中、完成、失败、不涉及等等。
另一张是配置表表,定义动作 X 开始的前提条件,字段:目标动作、前置动作、前置动作状态。按你说的,动作 C 需要维护两条记录: [C, A, 完成] [C, B, 完成] 。

任何一条记录完成指定动作后,都更新第一张表中对应操作的状态。通过两张表的关联即可获取对应动作是否可以开始执行了。

需要扫描数据库,数据库压力可能会有点大。
caqiko
2019-03-25 08:31:13 +08:00
有向无环图?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/548029

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX