Redian新闻
>
你是否感觉到此次金融危机的影响?
avatar
你是否感觉到此次金融危机的影响?# ChemEng - 化学工程
b*e
1
要用java实现一个模块,数据存储于数据库,支持oracle和sql server,UI部分要支持
cache修
改。就是说用户打开某个domain object,可以修改这个domain object, 例如add item,
remove item, modify item, and similar to any descendent objects of this
domain object from UI. 在这个过程中,用户可以点击其他页面而离开这个页面,但
是用户做的
的change不能丢掉,当这个用户重新打开这个domain object,他能够继续上次的修改。
当用户点击
save按钮时,所有的修改才真正存储进数据库。如果点击discard,所作修改都丢弃。
我现在能想到的方法有两个,都需要temporary table,基本上的思路是用户的修改放到
临时表里,在
save时同步连个表。第一种办法最简单,就是在打开某一个domain object时把所有相
关数据都拷贝
到临时表,然后所有用户操作都发生在临时表上,另一种只把update操作数据放到临时
表里,add和
delete都在原表上。第一种方法简单但是性能问题很大,第二种性能好,但是实现起来
要复杂。
大家看看有没有其他的办法,其他技术能解决这种问题。如果relational database有
Limitation,可以尝试object oriented database。或者其他任何open source
project提
供这方面的解决方案。
另外要补充的是一次修改的数据量很大,可能涉及到几十万到百万records,所以内存cache可能不
行。
avatar
k*i
2
这次金融危机来势汹汹,不过好象暂时对化工领域还没有什么明显影响。
我开启了2个投票,欢迎大家就自己感受到的影响投票并介绍一下情况。
希望有兴趣的积极参与。
投票期限分别是10天/20天。
注意第二个投票是复选,每个人最多可以选4个。
投票过后可以作简短发言。
投票方法:在版面上,按Shift+V.
谢谢。
avatar
g*g
3
In memory caching with local disk IO turning on is your friend.
You can leverage lib like ehCache.Load the hot section in memory and the
rest of it in disk.Flush on save/discard
avatar
S*n
4
明明是shift+V

【在 k***i 的大作中提到】
: 这次金融危机来势汹汹,不过好象暂时对化工领域还没有什么明显影响。
: 我开启了2个投票,欢迎大家就自己感受到的影响投票并介绍一下情况。
: 希望有兴趣的积极参与。
: 投票期限分别是10天/20天。
: 注意第二个投票是复选,每个人最多可以选4个。
: 投票过后可以作简短发言。
: 投票方法:在版面上,按Shift+V.
: 谢谢。

avatar
b*e
5
如果需求要求系统重启后上次修改的数据还在,cache方法怎么解决temporary
persistence问
题?还有一个难点是UI要显示所有项,是paging的,backend的做法目前是通过query
table结合
cursor实现的。如果用cache,不知道怎么把这个结合到一起。

【在 g*****g 的大作中提到】
: In memory caching with local disk IO turning on is your friend.
: You can leverage lib like ehCache.Load the hot section in memory and the
: rest of it in disk.Flush on save/discard

avatar
k*i
6
晕,typo, typo
多谢提醒
avatar
g*g
7
For graceful shutdown, ehCache can flush the data before
JVM got shut down. And the data can be persisted between
restarts, it's just a configuration in ehCache.
Or you can have a file-based ad-hoc caching that you can
flush whenever you feel right.
In paging, you can use your old method to load data, and
use your local changes to override modified entries
before display.

【在 b******e 的大作中提到】
: 如果需求要求系统重启后上次修改的数据还在,cache方法怎么解决temporary
: persistence问
: 题?还有一个难点是UI要显示所有项,是paging的,backend的做法目前是通过query
: table结合
: cursor实现的。如果用cache,不知道怎么把这个结合到一起。

avatar
h*y
8
你还挺关心的。
我们没什么影响,不过,公司鸟人做事太拖拉。一天能做好的事情,能前后大会小会
拖一年屁进展都没。项目没开始做,就吹的天花乱坠,比国企还国企。
不过总算明白了个人是多么的渺小,管你干的如何,对于公司都不会是不可缺少的。
因为从根本上讲,所有的research对于公司都是可有可无的,与其说在研发,不如说
在洗钱。

【在 k***i 的大作中提到】
: 这次金融危机来势汹汹,不过好象暂时对化工领域还没有什么明显影响。
: 我开启了2个投票,欢迎大家就自己感受到的影响投票并介绍一下情况。
: 希望有兴趣的积极参与。
: 投票期限分别是10天/20天。
: 注意第二个投票是复选,每个人最多可以选4个。
: 投票过后可以作简短发言。
: 投票方法:在版面上,按Shift+V.
: 谢谢。

avatar
b*e
9
根据你说的大部分我想要的都可以用这种方法解决,但是最后还有个sorting或
filtering问题,我们
paging要求loading时不能全部Load进来,只从数据库load一个Page,如果用户选择了
sort或者
filter的话,原来我们可以append这些sort或者filter条件到query sql上,这样当前
page就可
以相应刷新了,但是现在由于修改内容在cache里,我们没有办法sort和filter了,因
为修改可能导
致其他record进入这个page。这个只有merge后再能知道,而不是query时知道。

【在 g*****g 的大作中提到】
: For graceful shutdown, ehCache can flush the data before
: JVM got shut down. And the data can be persisted between
: restarts, it's just a configuration in ehCache.
: Or you can have a file-based ad-hoc caching that you can
: flush whenever you feel right.
: In paging, you can use your old method to load data, and
: use your local changes to override modified entries
: before display.

avatar
c*r
10
那做research就没前途了?学mba怎么样

【在 h***y 的大作中提到】
: 你还挺关心的。
: 我们没什么影响,不过,公司鸟人做事太拖拉。一天能做好的事情,能前后大会小会
: 拖一年屁进展都没。项目没开始做,就吹的天花乱坠,比国企还国企。
: 不过总算明白了个人是多么的渺小,管你干的如何,对于公司都不会是不可缺少的。
: 因为从根本上讲,所有的research对于公司都是可有可无的,与其说在研发,不如说
: 在洗钱。

avatar
g*g
11
Use a slightly bigger page window than what you need to display
and adjust after merge,
or query and merge, calculate the missing entries and query/merge
again until it fills the page.
Users typically want them to be sorted, but they don't care if
the entries should be in page 35 or page 36. There are certain
inaccuracy you can get away with.

【在 b******e 的大作中提到】
: 根据你说的大部分我想要的都可以用这种方法解决,但是最后还有个sorting或
: filtering问题,我们
: paging要求loading时不能全部Load进来,只从数据库load一个Page,如果用户选择了
: sort或者
: filter的话,原来我们可以append这些sort或者filter条件到query sql上,这样当前
: page就可
: 以相应刷新了,但是现在由于修改内容在cache里,我们没有办法sort和filter了,因
: 为修改可能导
: 致其他record进入这个page。这个只有merge后再能知道,而不是query时知道。

avatar
k*i
12
没影响就好。
有人说这次金融危机是美国崩溃的开始,
可是世界尖端科技超过一半以上还是在美国,我倒要看看对美国实体经济影响有多大。

【在 h***y 的大作中提到】
: 你还挺关心的。
: 我们没什么影响,不过,公司鸟人做事太拖拉。一天能做好的事情,能前后大会小会
: 拖一年屁进展都没。项目没开始做,就吹的天花乱坠,比国企还国企。
: 不过总算明白了个人是多么的渺小,管你干的如何,对于公司都不会是不可缺少的。
: 因为从根本上讲,所有的research对于公司都是可有可无的,与其说在研发,不如说
: 在洗钱。

avatar
B*g
13
虽然现在不懂,但是这个看起来不错。

择了
当前
,因

【在 g*****g 的大作中提到】
: Use a slightly bigger page window than what you need to display
: and adjust after merge,
: or query and merge, calculate the missing entries and query/merge
: again until it fills the page.
: Users typically want them to be sorted, but they don't care if
: the entries should be in page 35 or page 36. There are certain
: inaccuracy you can get away with.

avatar
j*i
14
影响很大
8月份的时候派回国
原因是钱多得花不完
10月份通知
剩下几个月一切TRAVEL都要我们部门的头审批
原因是BUDGET紧张了

【在 k***i 的大作中提到】
: 这次金融危机来势汹汹,不过好象暂时对化工领域还没有什么明显影响。
: 我开启了2个投票,欢迎大家就自己感受到的影响投票并介绍一下情况。
: 希望有兴趣的积极参与。
: 投票期限分别是10天/20天。
: 注意第二个投票是复选,每个人最多可以选4个。
: 投票过后可以作简短发言。
: 投票方法:在版面上,按Shift+V.
: 谢谢。

avatar
B*g
15
多用户同时修改一个数据怎么解决?

择了
当前
,因

【在 g*****g 的大作中提到】
: Use a slightly bigger page window than what you need to display
: and adjust after merge,
: or query and merge, calculate the missing entries and query/merge
: again until it fills the page.
: Users typically want them to be sorted, but they don't care if
: the entries should be in page 35 or page 36. There are certain
: inaccuracy you can get away with.

avatar
b*e
16
不允许多用户同时修改一个domain object,一个用户打开时要Lock这个domain object.

【在 B*****g 的大作中提到】
: 多用户同时修改一个数据怎么解决?
:
: 择了
: 当前
: ,因

avatar
B*g
17
如果系统重启后,lock的用户再也不login unlock咋办?

object.

【在 b******e 的大作中提到】
: 不允许多用户同时修改一个domain object,一个用户打开时要Lock这个domain object.
avatar
g*g
18
This has nothing to do with this design.
This is one issue for any concurrent application accessing DB.
Typically you can adjust isolation level of Oracle according to
what you need.
Most applications will simply keep the read data local and allow
all writes going through.

【在 B*****g 的大作中提到】
: 多用户同时修改一个数据怎么解决?
:
: 择了
: 当前
: ,因

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。