关于使用 scala 为 akka actor 模型划分子问题
About dividing into subproblems for akka actor model using scala
我正在做一个项目,涉及查找给定前缀的后缀字符串——例如,"aaa",以便其散列值 (SHA256) 具有特定模式——例如,以“ 123".
我找到所需哈希键的方法是按顺序生成后缀字符串:首先尝试所有具有一个字符的字符串——基本上它通过ASCII 可打印代码图表,总共尝试95 次。如果找不到所需的散列键,则尝试所有包含两个字符的字符串(95*95 尾迹)...等等。
我还需要使用akka actor模型让多个actor同时参与解决这个问题。 (演员的数量是一个输入)
知道如何使用此模式有效地将整个问题分配给多个参与者吗?或者谁有更好的办法解决这个问题?
您可以将您的工作人员分组在 BalancingPool which will automatically distribute work to idle actors, with the manager and worker actors using work pulling 下,以防止邮箱变得太大。
- 管理员接受两种消息类型:
work-request
和 work-complete
。 Work-request
由工人在完成 X
任务时调用(其中 X
是,比方说,10),通知经理向 [= 添加 X
更多任务16=]。 Work-complete
在 worker 找到合适的字符串前缀时调用,此时管理器向 BalancingPool
发送 stop
命令,指示它立即终止并终止其 worker。除此之外,管理器负责最初用足够的前缀填充 BalancingPool
供工作人员测试(例如,20 * workerCount),并在每次收到 work-request
消息时重新填充池。
- 工作人员接受一种消息类型:
test-prefix
,其中包含供工作人员测试的字符串前缀。它还需要维护已接收和处理的消息计数,当此计数达到 X
时,它会被清零,工作人员会向管理器发送 work-request
消息。
我正在做一个项目,涉及查找给定前缀的后缀字符串——例如,"aaa",以便其散列值 (SHA256) 具有特定模式——例如,以“ 123".
我找到所需哈希键的方法是按顺序生成后缀字符串:首先尝试所有具有一个字符的字符串——基本上它通过ASCII 可打印代码图表,总共尝试95 次。如果找不到所需的散列键,则尝试所有包含两个字符的字符串(95*95 尾迹)...等等。
我还需要使用akka actor模型让多个actor同时参与解决这个问题。 (演员的数量是一个输入)
知道如何使用此模式有效地将整个问题分配给多个参与者吗?或者谁有更好的办法解决这个问题?
您可以将您的工作人员分组在 BalancingPool which will automatically distribute work to idle actors, with the manager and worker actors using work pulling 下,以防止邮箱变得太大。
- 管理员接受两种消息类型:
work-request
和work-complete
。Work-request
由工人在完成X
任务时调用(其中X
是,比方说,10),通知经理向 [= 添加X
更多任务16=]。Work-complete
在 worker 找到合适的字符串前缀时调用,此时管理器向BalancingPool
发送stop
命令,指示它立即终止并终止其 worker。除此之外,管理器负责最初用足够的前缀填充BalancingPool
供工作人员测试(例如,20 * workerCount),并在每次收到work-request
消息时重新填充池。 - 工作人员接受一种消息类型:
test-prefix
,其中包含供工作人员测试的字符串前缀。它还需要维护已接收和处理的消息计数,当此计数达到X
时,它会被清零,工作人员会向管理器发送work-request
消息。