ZL160721 发表于 2016-7-23 20:12:10

求教高手

    最近在做一个模型遇到了问题,想不出好的办法解决,求教一下各位集思广益。
    Source每周生产一定数量的实体。其中,一部分的状态变量State=1,一部分的State=0,现在要把它们transfer到下游的几个Server里,想让state不同的实体分开在不同的Server里。要把这些实体分开到不同的Server里,各位有什么好的想法么?

quanneng 发表于 2016-7-24 21:02:15

在transfer Node里面加process,用decide根据state来决定ModelEntity的下一个节点是哪里!
不过我不太明白你说的几个server,具体是什么意思,是Server也分为2类么!还是。。。

不过用process来做,会比较简单!你也可以有其他的方法,看你对那种比较熟练吧!:victory:

asax 发表于 2016-7-25 10:18:50

quanneng说的方法是最常用的了,要我自己做应该也会这样走。我就补充一下其他方法,可以选择在data中对两种实体建立表格,表格里面记录实体相关属性,在source中选行。
这种方法适合于节点(node)里面除了判断外没有其他太多的过程,而关于实体自身有很多不同的属性,比如说加工时间、类型等等。
最后补上模型,上面使用表格方法,下面使用process方法。

ZL160721 发表于 2016-7-25 11:19:19

quanneng 发表于 2016-7-24 21:02 static/image/common/back.gif
在transfer Node里面加process,用decide根据state来决定ModelEntity的下一个节点是哪里!
不过我不太明白 ...

    我表述漏了一些东西,实际上当state=0时实体是没有生病的,当state=1时指实体生病了,现在有假如说有两个接纳实体的server它们有不同的容量,实体按照距离最近的规则选择server,现在想让有病的实体和没有病的实体分开在不同的server里,我不知道怎么做
    我之前尝试分开进行选择,但需要判断server里的实体是有病的还是没有病的,我就想让有病的进入后server的状态改变,这样就可以通过判断server的状态值来判断这个server里容纳的是什么类型的实体,但我没有找到诸如modentity.picture这样的状态变量,所以不知道还有没有别的处理方法

ZL160721 发表于 2016-7-25 11:38:26

asax 发表于 2016-7-25 10:18 static/image/common/back.gif
quanneng说的方法是最常用的了,要我自己做应该也会这样走。我就补充一下其他方法,可以选择在data中对两种 ...

谢谢了,但我现在的问题主要是不知道怎么判断server里的实体类型,从而使状态变量不同的实体不会混合进入同一server内,我补充了问题的描述,不知道你还有没有什么新的想法?

asax 发表于 2016-7-25 21:21:27

ZL160721 发表于 2016-7-25 11:38 static/image/common/back.gif
谢谢了,但我现在的问题主要是不知道怎么判断server里的实体类型,从而使状态变量不同的实体不会混合进入 ...

我不知道我有没有理解错你的问题,在例子里面,实体一产生已经分配好了不同类型,你也可以理解成不同颜色(或者可以理解成你说的状态变量),后面实体已经是根据类型选择进入了不同server了(可以看到一个server只会处理一种颜色),所以不存在状态变量不同的实体混合进入同一server内。

如果你的意思是一定要根据距离远近进入server,然后再在server里面选择状态变量不同的实体,那就是另外一个问题了。如果还是存在问题需要紧密交流的,可以加我qq 694744863

ZL160721 发表于 2016-7-25 21:35:19

asax 发表于 2016-7-25 21:21 static/image/common/back.gif
我不知道我有没有理解错你的问题,在例子里面,实体一产生已经分配好了不同类型,你也可以理解成不同颜色 ...

嗯嗯,就是必须按照距离远近选择server,然后还需要把不同类型的实体分开,但我现在做出了按距离远近选择但不知道怎么把实体分开。因为当实体分开进行选择时由于它们不能进入同一个server内,对距离选择也会有影响。

asax 发表于 2016-7-25 22:33:58

本帖最后由 asax 于 2016-7-25 22:38 编辑

ZL160721 发表于 2016-7-25 21:35 static/image/common/back.gif
嗯嗯,就是必须按照距离远近选择server,然后还需要把不同类型的实体分开,但我现在做出了按距离远近选择 ...

这个就有点难以理解了,这里包含两个判断,一个是距离的判断,一个是状态的判断。我先假设距离判断优先,那就是先找最近的,之后再进行状态判断选择适合的server。
这种情况下,按照你之前说的你就需要有4个不同的server(根据选择二叉树),在process的decide里面设定多个条件即可,问题是不同server对实体的作用是什么,如果只是处理时间不同或者为了统计则完全不需要建立多个server。
我建议不要纠结在这个问题上,往前说说你需要构造的实际情况,有需要再私聊吧。

ZL160721 发表于 2016-7-26 09:41:53

asax 发表于 2016-7-25 22:33 static/image/common/back.gif
这个就有点难以理解了,这里包含两个判断,一个是距离的判断,一个是状态的判断。我先假设距离判断优先, ...

非常感谢,我再缕缕思路
页: [1]
查看完整版本: 求教高手