1

入力文字列に正規表現のセットを適用することにより、入力文字列を出力文字列に (いくつかの順序で) 分割する必要があります。正規表現と入力文字列を分散させて文字列を収集するような方法で、この機能を akka アクターのクラスターで実装することを考えています。ただし、処理された文字列を収集しながら、順序を追跡する方法を知りたいです。「Scatter-Gather」が正しいアプローチであるかどうかはわかりませんが、他に適しているものがあれば提案してください。

4

1 に答える 1

2

ひもを順番に組み立てる方法について、収集者にヒントを提供する必要があると思います。注文がどのように確立されるかについては言及していません。最初の分割で注文を定義できるかどうか、または正規表現処理で注文を定義するかどうかです。

どちらの場合も、次の 3 つのことを追跡する必要があります: - 最初のソース - 各ピースの順序 - ピースの合計量

次のようなメッセージを使用できます。

case class StringSegment(id:String, total:Int, seqNr:Int, payload:String)

スキャッタはStringSegment、入力に基づいて を生成します。

def scatter(s:String):List[StringSegment] ...
scatter(input).foreach(msg => processingActor ! msg)

収集者は、 を使用してそれらを組み立てseqNr、順序totalを知り、すべてのピースがいつ存在するかを知ることができます。

于 2013-09-19T13:44:22.233 に答える