Java开发网 Java开发网
注册 | 登录 | 帮助 | 搜索 | 排行榜 | 发帖统计  

您没有登录

» Java开发网 » Database/JDBC/SQL/JDO/Hibernate  

按打印兼容模式打印这个话题 打印话题    把这个话题寄给朋友 寄给朋友    该主题的所有更新都将Email到你的邮箱 订阅主题
flat modethreaded modego to previous topicgo to next topicgo to back
作者 【讨论】关于“直销佣金计算系统”
太子



发贴: 0
积分: 0
于 2002-07-16 12:12 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
我现在在帮某一家外资公司写着一个“直销佣金计算系统”,系统要求可以提供最少1百万用户注册,每个月大约1千万张交易的计算系统,其中涉及的计算法十分复杂,之前的系统在处理大约一样多的数据时,需要约三天的时间来完成,我在参考了过后,觉得融合今日的硬件,加上代码的优化,相信可以把时间缩短到少过两天,但是还是不能有很好的idea来对会员等级进行管理,所以想问问看,有谁试过类似的工程?或有谁有比较好的idea??我现在的做法是,每一个会员的记录里,都有一个是记录“上线”的格,和一个记录自己本身等级的格,那么比如我要知道A是谁,他的上线和下线有谁,他的佣金,他整个线的销售量等等,就通过这两个格来查,这么做,在用户数不多时,的确可以很快的完成处理,但是如果多到1百万左右时,就真的很慢了……!

如果你不知道什么是直销,你可能不明白我在讲什么,如果你知道,我倒真的希望你可以来一起讨论,解决这种梯级树链形的问题,到底有什么好办法?



作者 回复: 【讨论】关于“直销佣金计算系统” [Re:太子]
Biubiu

Pure Java

总版主


发贴: 471
积分: 50
于 2002-07-16 18:21 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
问题看起来不是很复杂,但是要花很多功夫去做。可惜我最近比较忙,不然可以帮你...


In theory, there is no difference between theory and practice; in practice, however, there is.

If the only tool you have is a hammer, you tend to see every problem as a nail.
作者 回复: 【讨论】关于“直销佣金计算系统” [Re:太子]
rainman

阿熊

元老


发贴: 5644
积分: 454
于 2002-07-17 03:17 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
直销和传销差不多么?

树状的结构的保存不是问题,按你的方法已经可以了。
但你要计算每条线是什么意思?
还有能否在计算过程中优化,保存中间结果?



作者 回复: 【讨论】关于“直销佣金计算系统” [Re:太子]
C



发贴: 0
积分: 0
于 2002-07-17 08:20 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
我想你是这样做的:
每个用户有一个id,“上级”字段记录上级的id,“级别”字段记录本身的级别(在树里的层次)。对么?

我会给“上级”字段加一个B-树索引。需要查某用户整个线的时候,用connect by子句挖出全部下级,同样再挖出上级。但是否应该分步完成,要实际测试一下效果。

销售量是怎么弄的?要连接交易event的表么?

PS. 上次在CCF有人说用什么"1000101"之类的编码,那样实在是不可行的。你怎么知道最终有多少个级别呢?表示级别的字符串长度没法确定,所以不可行。


C edited on 2002-07-17 08:28

作者 回复: 【讨论】关于“直销佣金计算系统” [Re:太子]
太子



发贴: 0
积分: 0
于 2002-07-17 16:59 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
C老大这个办法确是可行,不过问题还是在“级别”储存方面,比如下图,E在第五组(最右)里是领头,可是在第一组里,他可是A的第四级下线!这个才是我最混乱的,不知有什么好的办法可以很好的管理会员等级?而且,会员的等级在理论上来说是没有限制的,它可能去到100代,也可能去到一万代!会员人数更是没有限制!嗯~~~~~~真是越来越头痛!



作者 回复: 回复: 【讨论】关于“直销佣金计算系统” [Re:rainman]
太子



发贴: 0
积分: 0
于 2002-07-17 17:04 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
rainman wrote:
直销和传销差不多么?

树状的结构的保存不是问题,按你的方法已经可以了。
但你要计算每条线是什么意思?
还有能否在计算过程中优化,保存中间结果?


每条线的意思就是“该会员的所有下属成员(无论几代)列表为整个家族线”。

计算过程优化,这个才是最重要的,不过该怎么优化,可是一个大问题。

现在是有保存中间结果的,每完成一位会员的计算,就会进行保存。



作者 回复: 回复: 【讨论】关于“直销佣金计算系统” [Re:太子]
C



发贴: 0
积分: 0
于 2002-07-17 23:20 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
太子 wrote:
而且,会员的等级在理论上来说是没有限制的,它可能去到100代,也可能去到一万代!会员人数更是没有限制!嗯~~~~~~真是越来越头痛!


omg,你的意思是树的级别还有交叉么(网状结构?!@_@)?不会说E既是D的下线,同时又是另一条支线上x的下线吧?

我的意思,存储的应该是绝对级别,就是该用户所处最低的级别。如你的表,如果A是最高级别的话,就是说E应该是第5级。后面的都是相对级别的问题。

你的那个表里面的是佣金的问题吧,那个是否应该是相对级别?相对级别可以用LEVEL伪列计算。比如说start with 'A',E的level就是5,start with 'B',E的level就是4……如此类推。或者在程序里控制也很简单的。


C edited on 2002-07-17 23:21


作者 回复: 【讨论】关于“直销佣金计算系统” [Re:太子]
太子



发贴: 0
积分: 0
于 2002-07-18 16:35 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
不是的,每个人只会有一个上线,但是可以有无限的下线。

我现在选的办法是,每个会员表里只记录自己第一上头和上头的ID,和自己在该线里的等级,那么如果开始计算时,只找最大的等级数(也就是最低级的会员)开始,由下往上,相信这样可以减少重算的可能性,重而缩短时间,不过无论如何,第一轮只能够计算该会员自己本身的盈利,第二轮才能够根据第一轮的结果来计算整条线代的盈利。

btw,你的Level伪列计算是什么意思?



作者 回复: 【讨论】关于“直销佣金计算系统” [Re:太子]
C



发贴: 0
积分: 0
于 2002-07-18 22:21 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
看这里
http://otn.oracle.com/products/oracle9i/daily/jun18.html




作者 回复: 回复: 【讨论】关于“直销佣金计算系统” [Re:C]
wishmaster



CJSDN高级会员


发贴: 942
积分: 62
于 2002-07-21 07:44 user profilesend a private message to usersend email to wishmastersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
C wrote:
看这里
http://otn.oracle.com/products/oracle9i/daily/jun18.html


Does he have 9i configured?

Maybe he can use object-oriented design of ERD to get the data model right before doing the performance tuning.


wishmaster edited on 2002-07-21 07:46

作者 回复: 【讨论】关于“直销佣金计算系统” [Re:太子]
C



发贴: 0
积分: 0
于 2002-07-21 11:12 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
不是9i才有的,8i已经有拉,只不过9i允许表连接罢了。

第二句不明白在说什么。



作者 回复: 【讨论】关于“直销佣金计算系统” [Re:太子]
coder



CJSDN高级会员


发贴: 140
积分: 110
于 2002-07-21 19:32 user profilesend a private message to usersend email to codersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
C老大提供的方案很好,可以解决你的问题。
connect by很适合解决树形结构的检索,过滤也很方便

想更多的了解,可以看Oracle Press的oracle 8i pl/sql开发手册,有机械版的
从oracle 7.2就看到这个的啦



作者 回复: 【讨论】关于“直销佣金计算系统” [Re:太子]
太子



发贴: 0
积分: 0
于 2002-08-09 14:53 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
可惜俺用的是MSSQL2000。呵呵!


作者 回复: 回复: 【讨论】关于“直销佣金计算系统” [Re:太子]
C



发贴: 0
积分: 0
于 2002-08-13 11:23 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
太子 wrote:
可惜俺用的是MSSQL2000。呵呵!


老大,connect by是标准的SQL语句呢。MSSQL2000号称完全支持ANSI-SQL92,应该也有才对。


C edited on 2002-08-13 11:24


作者 回复: 【讨论】关于“直销佣金计算系统” [Re:太子]
itsyh



发贴: 0
积分: 0
于 2002-08-16 21:36 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
我看现在的直销,都是有固定的多少层之内才能算是
你的下层的。
如果,这样的话,就好办多了。





flat modethreaded modego to previous topicgo to next topicgo to back
  已读帖子
  新的帖子
  被删除的帖子
Jump to the top of page

   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923