線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:10674
推到 Plurk!
推到 Facebook!
[<<] [1] [2] [>>]

一家公司兩個地點做資料同步

答題得分者是:carstyc
holydisciple
一般會員


發表:3
回覆:24
積分:10
註冊:2009-11-06

發送簡訊給我
#1 引用回覆 回覆 發表時間:2009-11-06 20:02:24 IP:220.128.xxx.xxx 訂閱
各位大大,

小弟急著要解決一個相同公司兩個地點的同步問題,詳述如下。
公司在基隆,有一個部門在台北,Sql Server 2005 在基隆,基隆的員工有七、八十位,台北三、四十位。公司原先希望台北員工靠一條中華電信提供的專線連到基隆來,由於系統還沒全部上線,無法得知基隆全部七、八十位員工同時使用,加上台北三、四十人同時連到基隆時,伺服器的效能會有多大影響,會變多慢。公司評估這樣可能不行,會太慢,考慮在台北裝一台主機,資料庫跟基隆的一模一樣,兩台主機用資料庫的複寫功能,互相保持資料相同,而且不能在晚上做複寫,要在白天,而且每隔兩個小時左右做一次複寫,因為台北員工負責接單,基隆員工負責後續,資料必須很快同步,否則沒有用。我擔心資料庫的負荷會很大,請大家發表一下意見。

謝謝
------
有沒有可能,上帝使用程式操作世界?
P.D.
版主


發表:603
回覆:4038
積分:3874
註冊:2006-10-31

發送簡訊給我
#2 引用回覆 回覆 發表時間:2009-11-07 10:59:48 IP:118.169.xxx.xxx 未訂閱
1.不知道你要我們發表什麼樣的意見?
2.你是所有系統已完成開發上線運作了呢? 還是準備要開發
3.如果是前者, 看來無法修改程式, 只能用sql的資料異地差異覆寫比對, 相關資訊直接參考市售參考書
如果是後者, 那建議用多層架構系統來做
herbert2
尊榮會員


發表:58
回覆:640
積分:894
註冊:2004-04-16

發送簡訊給我
#3 引用回覆 回覆 發表時間:2009-11-08 02:25:22 IP:211.72.xxx.xxx 訂閱
若建立新資料(新客戶、新商品、新訂單等)都由台北執行,
且台北打訂單時不必管基隆是否有庫存,則或許兩台主機的
資料庫可以不必同步。否則最好共用一台主機,以免運作時發生混亂。

若兩台主機用資料庫的複寫功能,互相保持資料相同,而且每隔兩個小時
左右做一次複寫,且兩單位允許在複寫時暫停作業(可停多久?),
則用此方式也可行。但小弟耽心當資料庫資料愈來愈多時,複寫的時間
過長,將導致無法運作。
holydisciple
一般會員


發表:3
回覆:24
積分:10
註冊:2009-11-06

發送簡訊給我
#4 引用回覆 回覆 發表時間:2009-11-09 09:16:52 IP:220.128.xxx.xxx 訂閱
大大您好,

1.發表意見是指我所擔心的效能問題,或者資一致性的問題。
2.系統核心功能已完成,且已運作中,其他次要功能一直在擴張。
3.我們考慮兩種可能性,一是用中華電信的專總連接台北和基隆,兩者視同內部網路,主機放在基隆。這受限於專線的月租費,現用 1.5 M 月租幾千元,要昇到 10M,需 2 萬,如果昇到 10M 可解決效能的問題,那就 Ok,如果不行就要再加頻寬,下一等級是每月 租金 [ 三十萬 ] 以上,這樣的價碼不用考慮了,不如多請十個人多打單,還比較划算。另一種方法就是讓兩台主機互相複寫,這就是一大問題了,因為兩邊主機都有員工在輸入資料,台北和基隆的員工可以針對相同的單子修改資料,到兩邊一先一後針對相同單子互相複寫後,那張單子會變什錦炒飯,這就是最大困擾,主管要兩邊主機互相複寫,一天四次左右,都在白天進行,但同時間,兩邊主機在白天都有人在輸入資料,一邊有人打單,一邊複寫,更慘的是主要作業的單子,資料表很複雜,資料量可多可少,主表有三百多個欄位,關連五、六個資料表,下一層項次資料表也有三百個欄位,項次可能有一筆,也可能有兩千多筆,就算只有一百個項次,100*300=30000 個資料,如果2000 的話,就是 2000*300=600000,項次資料表下面還牽著五個資料,欄位數不多,算四個就好,項次若有 1000 的話,底下子表各有一筆,就是 (1000 * 300) (5*1000*4)=352000,這只是一張單子,共有十幾個資料表,還有財務資料,整個資料庫三百多個資料表,這樣的系統要兩邊不休息的情形下,用複寫和專線保持兩邊資料完全一致,是否有可能呀?
------
有沒有可能,上帝使用程式操作世界?
holydisciple
一般會員


發表:3
回覆:24
積分:10
註冊:2009-11-06

發送簡訊給我
#5 引用回覆 回覆 發表時間:2009-11-09 09:53:24 IP:220.128.xxx.xxx 訂閱
大大您好,

其他請參考給另一位大大的回應文

這是一個報關系統,第一階段是聯絡單,由台北員工輸入,第二階段是報單,由基隆員工輸入,並進行實際工作。台北負責接受客戶的單子,是客戶的窗口,必須有最新的報單資料,才能知道報關的結果,要也知道財務的資料(繳關稅),好通知客戶,這就是為什麼用兩台主機的話,必須保持兩台主機同步的原因。表面上是兩個工作場所,但在營運結構上,必須視為一個工作,都連到同一台或用兩台主機保持資料一致。

解法:
1.只用一台主機,主機放基隆,對基隆員工不會有效能問題,算是內線,有 100M 可用,但對台北而言,中華電信的專線要昇到 10M,每月兩萬元,對一家公司而言,可以了,但如果 10M 不行,再昇級的話每個月要幾十萬元,根本不可能花這種錢。
2.台北、基隆各用一台主機,現用 Sql Server 2005,用複寫保持兩邊資料庫內容相同。我很擔心對使用中的主機進行複寫,會有甚麼結果?新增資料可能沒有問題,但如是是修改資料呢?另外是兩邊互相複寫,同一張單子由 A 主機送到 B 主機,在 B 主機經過一些處理後,再送回 A 主機,看似 OK,但如果 B 主機來不及複寫回 A 主機,而是 A 主機再一次複寫到 B 主機,這張單子在 B 主機上的修改不就不見了嗎?又如單子主表以下的項次原有 10筆,由 A 複寫至 B 後,在 B 有人刪除了一筆,再複寫回 A 主機,結果是 9 筆還是 10?還是 19 筆?更慘的是單子從 A 複寫到 B,A 和 B 各有人去修改這張單子,單子由 B 再複寫回 A 後,這張單子在 A 主機會是甚麼結果?兩邊主機在不休息的情形下互相複寫,是一種可行方案嗎?

***我總覺得第一種方法才可行。

謝謝

------
有沒有可能,上帝使用程式操作世界?
HikaruGo
中階會員


發表:22
回覆:69
積分:88
註冊:2007-12-09

發送簡訊給我
#6 引用回覆 回覆 發表時間:2009-11-09 10:08:01 IP:61.62.xxx.xxx 訂閱
Database Mirroring架構http://technet.microsoft.com/en-us/library/cc917680.aspx
應該可以克服你的問題?


carstyc
資深會員


發表:16
回覆:254
積分:329
註冊:2003-07-18

發送簡訊給我
#7 引用回覆 回覆 發表時間:2009-11-09 10:13:17 IP:203.79.xxx.xxx 訂閱
個人覺得最好的做法是AP 採用WEB Base的系統,這樣只要使用單一資料庫,這應該會是最簡便且效能不會很差的solution。

但你說你的AP已經大致開發好了,此作法可能是白談了。

建議另一個作法,用Terminal Serivce,在基隆端弄一台 Terminal Service Server,讓台北的人用 Terminal Service Client連到這台主機操作系統。

我想這樣的作法,Lincese的費用應該不會比多一台SQL Server貴,而且作法上也比較單純。只是使用者的操作習慣上要稍為做適應。

以上僅供參考,謝謝




===================引 用 holydisciple 文 章===================
大大您好,

1.發表意見是指我所擔心的效能問題,或者資一致性的問題。
2.系統核心功能已完成,且已運作中,其他次要功能一直在擴張。
3.我們考慮兩種可能性,一是用中華電信的專總連接台北和基隆,兩者視同內部網路,主機放在基隆。這受限於專線的月租費,現用 1.5 M 月租幾千元,要昇到 10M,需 2 萬,如果昇到 10M 可解決效能的問題,那就 Ok,如果不行就要再加頻寬,下一等級是每月 租金 [ 三十萬 ] 以上,這樣的價碼不用考慮了,不如多請十個人多打單,還比較划算。另一種方法就是讓兩台主機互相複寫,這就是一大問題了,因為兩邊主機都有員工在輸入資料,台北和基隆的員工可以針對相同的單子修改資料,到兩邊一先一後針對相同單子互相複寫後,那張單子會變什錦炒飯,這就是最大困擾,主管要兩邊主機互相複寫,一天四次左右,都在白天進行,但同時間,兩邊主機在白天都有人在輸入資料,一邊有人打單,一邊複寫,更慘的是主要作業的單子,資料表很複雜,資料量可多可少,主表有三百多個欄位,關連五、六個資料表,下一層項次資料表也有三百個欄位,項次可能有一筆,也可能有兩千多筆,就算只有一百個項次,100*300=30000 個資料,如果2000 的話,就是 2000*300=600000,項次資料表下面還牽著五個資料,欄位數不多,算四個就好,項次若有 1000 的話,底下子表各有一筆,就是 (1000 * 300) (5*1000*4)=352000,這只是一張單子,共有十幾個資料表,還有財務資料,整個資料庫三百多個資料表,這樣的系統要兩邊不休息的情形下,用複寫和專線保持兩邊資料完全一致,是否有可能呀?
暗黑破壞神
版主


發表:9
回覆:2301
積分:1627
註冊:2004-10-04

發送簡訊給我
#8 引用回覆 回覆 發表時間:2009-11-09 10:46:29 IP:114.46.xxx.xxx 未訂閱
我是不知道你們怎麼規劃的啦.不過, 以30-40人在遠地輸入的資料.
如果只是手打的字.每分鐘能打幾個字呢.
以一分鐘100中文.也只有200bytes.40人全速來輸入.也只有一分鐘.....8000bytes
好吧.假設你的系統用了很笨的 XML 來做傳送. 那你的文字的tag 數是它的5倍好了.
也不過40KBytes 而已.
以一分鐘 40KBytes 的東西來看..你的線路.用個 512K 對稱的 adsl 就很夠了.

如果你真的要做覆寫.那應是備份用吧.
那就不會去扯到效率問題不是嗎?

===================引 用 holydisciple 文 章===================
各位大大,

小弟急著要解決一個相同公司兩個地點的同步問題,詳述如下。
公司在基隆,有一個部門在台北,Sql Server 2005 在基隆,基隆的員工有七、八十位,台北三、四十位。公司原先希望台北員工靠一條中華電信提供的專線連到基隆來,由於系統還沒全部上線,無法得知基隆全部七、八十位員工同時使用,加上台北三、四十人同時連到基隆時,伺服器的效能會有多大影響,會變多慢。公司評估這樣可能不行,會太慢,考慮在台北裝一台主機,資料庫跟基隆的一模一樣,兩台主機用資料庫的複寫功能,互相保持資料相同,而且不能在晚上做複寫,要在白天,而且每隔兩個小時左右做一次複寫,因為台北員工負責接單,基隆員工負責後續,資料必須很快同步,否則沒有用。我擔心資料庫的負荷會很大,請大家發表一下意見。

謝謝
holydisciple
一般會員


發表:3
回覆:24
積分:10
註冊:2009-11-06

發送簡訊給我
#9 引用回覆 回覆 發表時間:2009-11-09 11:39:11 IP:220.128.xxx.xxx 訂閱
版主大大,

這個系統無法以字數判斷傳輸量,因為報單有十幾個資料表,全部使用 ltBatchOptimistic 批次更新模式,存檔時十幾個資料表才一次回存到資料庫,不是打一筆存一筆,我是不知道 Delphi 的 TAdoDataSet 如可處理回存,是每個欄位都回存?還是只有異動的欄位才回存?如果是後者,效率就好太多了。

而且不只是存檔會佔用很大流量,就算輸入資料時也會如此,例如使用者輸入過程中會按某個按鍵去打開基本資料供選擇,海關的稅則資料就好,就有一萬多筆,每筆好幾十個欄位,Memo 欄位有四個,光是選一下這個稅則,就傳回約 12000*40 個欄位內容。
------
有沒有可能,上帝使用程式操作世界?
heartgame0
一般會員


發表:2
回覆:29
積分:11
註冊:2008-07-28

發送簡訊給我
#10 引用回覆 回覆 發表時間:2009-11-09 12:27:32 IP:220.131.xxx.xxx 訂閱
(不是經驗說,是理論說)---給小程式經驗說。

首先----最大的問題,同一張單改來改去,最後以誰為主!通常是最後一個改的一定會蓋掉前一個。

這個地方是要明確的離清的!a改完存檔,b改完存檔,b到底會不會改到a的部份呢?

不會,比較好辦(看的到,改不到),會,就比較麻煩(但不是不行)。

筆數不是問題,主機暫存消化,主機夠強就很快消化。a地存檔,馬上要b地叫出來,但是三、四十個人,

像網頁情形,你也要等它完全跑完,才可以斷續下一個動作,網頁就要等十多秒以上的常常吧,在拍賣網站上就會等。

又不是萬能電腦。一張單應該容忍2、3分鐘改一次,這樣的想法應該不是問題。(還要能顯示,別地正在編輯,才是最佳)。
--------------------------------
目前賣的pos軟體有這功能,但不是一直改,只是互改產品價格、客戶資料,接收出貨單是不常改的,進貨單也不會常改,

所以傳輸一張單,要傳幾分鐘才會完成。他的做法是5秒鐘傳一次,50筆指令。

對這一行業,只要網路不斷線,不要積太多指令,應該都合用。
------
資訊業是永遠不能停止學習的行業!
但是進步都只是一點點一點點!
==可以不用理我!因為我的程度只有2成,或許不到!!
==我只會拉拉元件,打打迴圈,打打條件判斷,連連資料庫,rs232送送訊號,印表機簡單列印。
只有寫寫小小的點餐軟體(為何想寫,因為叫人家改的小東西,都ooxx,是會付錢的又不是沒錢,但是理由還是一堆)
暗黑破壞神
版主


發表:9
回覆:2301
積分:1627
註冊:2004-10-04

發送簡訊給我
#11 引用回覆 回覆 發表時間:2009-11-09 12:48:47 IP:114.46.xxx.xxx 未訂閱
老大. 稅則資料.....這個異動性大嗎?
還是由它出生到死都是同一份?
如果後者. 你還要去遠端的 database 拉下來, 只為了讓使用者選其中之一嗎?
還是你要由 local 的 ini...etc 去 load 進來讓使用者選擇呢?

找出你的動作瓶頸. 然後去處理它.

===================引 用 holydisciple 文 章===================
版主大大,

這個系統無法以字數判斷傳輸量,因為報單有十幾個資料表,全部使用 ltBatchOptimistic 批次更新模式,存檔時十幾個資料表才一次回存到資料庫,不是打一筆存一筆,我是不知道 Delphi 的 TAdoDataSet 如可處理回存,是每個欄位都回存?還是只有異動的欄位才回存?如果是後者,效率就好太多了。

而且不只是存檔會佔用很大流量,就算輸入資料時也會如此,例如使用者輸入過程中會按某個按鍵去打開基本資料供選擇,海關的稅則資料就好,就有一萬多筆,每筆好幾十個欄位,Memo 欄位有四個,光是選一下這個稅則,就傳回約 12000*40 個欄位內容。
enta
一般會員


發表:34
回覆:43
積分:15
註冊:2003-09-29

發送簡訊給我
#12 引用回覆 回覆 發表時間:2009-11-09 13:56:41 IP:121.254.xxx.xxx 訂閱
1.可以改善主機設備
2.改用主機os-linux-postgresql,即不限人數又免費,每個人使用主機資源約 3mb,主機夠強應就可以.
------
chang yung chin
holydisciple
一般會員


發表:3
回覆:24
積分:10
註冊:2009-11-06

發送簡訊給我
#13 引用回覆 回覆 發表時間:2009-11-09 17:11:53 IP:220.128.xxx.xxx 訂閱
版主大大,

稅則(根據貨品內容決定一種稅則編號,根據這個稅則編號來決定各種徵收的稅費)是常更新的東西,那是海關公佈的,三不五時更新一下,我們都從海關下載轉檔資料,有時一個月更新兩三次。把基本資料存一份在近遠主機,即採用分散式,也不是方法,首先光是報關的單子,叫做報單,輸入時隨時要查詢的基本檔,甚麼稅則呀,單位呀,海關關區,貨櫃場呀,加起來有七十個左右,而且有另一個盲點導致不能使用分散式,因為工作可能把系統裝在筆記型電腦,帶著到處走,隨時查閱公司通關資料,不可能種每一始筆電都裝一套 SQL
------
有沒有可能,上帝使用程式操作世界?
holydisciple
一般會員


發表:3
回覆:24
積分:10
註冊:2009-11-06

發送簡訊給我
#14 引用回覆 回覆 發表時間:2009-11-09 17:21:17 IP:220.128.xxx.xxx 訂閱
game 大大,

我非常擔心兩台主機互相複寫 ,除非兩台都在同一個地點,複寫時間很短,如果兩主機距離的話,一次複寫需要半小時,就沒有玩了,因為單子打一半,複寫時候到了,半張單子 (一張單子項次多的話,打以打一整天),就送到另一台電腦,這看起來很奇怪,而且同一張單子出現在兩台主機裡,資料有不同的話,真不知那一邊的資料才是對的。

我比較希望用一台主機,放在基隆,只需要解決台北那邊的人就好,那邊人比較少,比較好解決,而且有些人是外勤人員,早上出門和晚上回來才會打電腦,專線昇線,部份用 Terminal,甚至用 Citrix 解決。

有人用過 Citrix 嗎?不知要花多少銀兩?

謝謝

------
有沒有可能,上帝使用程式操作世界?
holydisciple
一般會員


發表:3
回覆:24
積分:10
註冊:2009-11-06

發送簡訊給我
#15 引用回覆 回覆 發表時間:2009-11-09 17:26:05 IP:220.128.xxx.xxx 訂閱
大大,

公司的有其他系統也是用 Terminal Service Server,這是可行的,唯一個問題是,程式讀取 .db 檔時,使用者之間常有衝突,報表會跑不出來,因為驅動程式有共用到。至於價錢 microsoft 不算貴,幾百塊而已。我有向公司建議,把始北的員工一分為二,一半用專線連基隆,一半用 Terminal Service Server。
------
有沒有可能,上帝使用程式操作世界?
heartgame0
一般會員


發表:2
回覆:29
積分:11
註冊:2008-07-28

發送簡訊給我
#16 引用回覆 回覆 發表時間:2009-11-09 17:56:05 IP:220.131.xxx.xxx 訂閱
兩岸三地的進銷存,有出現用網頁連資料庫,大家打資料都是開網頁模式。

sql server 2005,可以用網頁連結編輯資料。另外寫網頁程式了。



Terminal Services是不錯的方式,程式可寫有人編輯通知,無法存檔等等。頻寬夠,也不會太慢。

================寫廢話
電腦超好用!絕對不行同時編輯,同時寫入。
所以多人一起用,就是人的問題,寫程式避開先後讀取、寫入問題。
==或許寫一個即時小公告區,那些單號、那些基本資料有人編輯。
------
資訊業是永遠不能停止學習的行業!
但是進步都只是一點點一點點!
==可以不用理我!因為我的程度只有2成,或許不到!!
==我只會拉拉元件,打打迴圈,打打條件判斷,連連資料庫,rs232送送訊號,印表機簡單列印。
只有寫寫小小的點餐軟體(為何想寫,因為叫人家改的小東西,都ooxx,是會付錢的又不是沒錢,但是理由還是一堆)
編輯記錄
heartgame0 重新編輯於 2009-11-09 17:57:59, 註解 無‧
heartgame0 重新編輯於 2009-11-09 17:58:57, 註解 無‧
heartgame0 重新編輯於 2009-11-09 18:01:55, 註解 無‧
暗黑破壞神
版主


發表:9
回覆:2301
積分:1627
註冊:2004-10-04

發送簡訊給我
#17 引用回覆 回覆 發表時間:2009-11-09 19:17:42 IP:114.46.xxx.xxx 未訂閱
不難呀.
程式開始就做個資料版本的確認動作.

主機端只要有這種"基本資料"的變動.就要求單機要更新才能使用.
這個技術並不難實做.

一個月更新三次. 總比你每次一張報單就對資料庫查一次還要好吧.

===================引 用 holydisciple 文 章===================
稅則(根據貨品內容決定一種稅則編號,根據這個稅則編號來決定各種徵收的稅費)是常更新的東西,那是海關公佈的,三不五時更新一下,我們都從海關下載轉檔資料,有時一個月更新兩三次。
holydisciple
一般會員


發表:3
回覆:24
積分:10
註冊:2009-11-06

發送簡訊給我
#18 引用回覆 回覆 發表時間:2009-11-10 09:17:54 IP:220.128.xxx.xxx 訂閱
game 大大,

網頁方式也是我們公司很希望的一種做法,因為有時候員工有事情沒做完,但又不想加班,就在星期六、日打開公司網頁打資料,不必出門,不同分公司的員工可以互相支援對方打單,又或是幾年前 SARS 之類的情形員工無法進入公司,還可以在其他分公司或家裡照樣打單,但奈何我們程式的 [報單] 部份非常龐大又複雜,打一張單涉及到七十幾個基本建檔隨時備查,例如海關關區、度量衝單位等等,最多的基本檔有一萬多筆,在輸入欄位裡面按一下 F.. 功能鍵,都要三秒鐘內叫出來,單子有十幾個資料表要存檔,所有介面元件包含 DBGrid 全部都在一個主 Form 裡面用多個 PageControl 切換顯示,不可以跳出獨立視窗來顯示,要做到一目了然的效果,而且,TEdit 元件有兩百多個,TDBGrid 十幾個,從畫面打開、編輯到存檔,全程要求可以做到不使用滑鼠,就是要模擬出 Dos 環境,減少用手模滑鼠的次數以提昇打單效率,這都是網頁所無法做到的。
------
有沒有可能,上帝使用程式操作世界?
holydisciple
一般會員


發表:3
回覆:24
積分:10
註冊:2009-11-06

發送簡訊給我
#19 引用回覆 回覆 發表時間:2009-11-10 09:27:31 IP:220.128.xxx.xxx 訂閱
版主大大,

有困難,因為打一張單涉及到七十多個基本建檔,真的太多了。而且有員工會用筆記型電腦連進公司主機,不是只有台北員工連基隆的問題,有可能從大陸連進來,程式可以從世界任何地方連到任何公司的資料庫,這非當容易,但如果基本建檔是檔案型,如 .ini 就變得很困難了。
------
有沒有可能,上帝使用程式操作世界?
暗黑破壞神
版主


發表:9
回覆:2301
積分:1627
註冊:2004-10-04

發送簡訊給我
#20 引用回覆 回覆 發表時間:2009-11-10 09:29:47 IP:114.46.xxx.xxx 未訂閱
web page 還是可以做到這個動作.
是你看的不夠多吧.
去看看無障礙網站的設計指導.
它裏面就有教你怎麼做到了.

我說過了.不要把"基本資料"也放在 server 而讓它忙死了. 只為了一直丟一些重複的動作. 你的效率自然就會出來了.

試想.一個 web page 很動態, 可以去依資料庫產生網頁.
可是一天只更新一次資料庫. 而一天卻有數百次的點閱率.
請問.這台資料庫主機忙翻了.如何解決?
最後做的解決是. 在更新資料庫後, 去觸發更新網頁的程式. 而使用者來查的, 都是這個更新的"靜態網頁"
順利解決問題.
以上案例發生在中華電信某個子站台.

系統.不是以課本教你的, 或是文件教你的那個部份就埋頭去做.
你要做"整合"而這個整合,不是業界的整合. 還包括了各項軟體工程的整合.
否則. 做出的系統 無法達到效能. 也讓人無法接手維護

===================引 用 holydisciple 文 章===================
全程要求可以做到不使用滑鼠,就是要模擬出 Dos 環境,減少用手模滑鼠的次數以提昇打單效率,這都是網頁所無法做到的。
holydisciple
一般會員


發表:3
回覆:24
積分:10
註冊:2009-11-06

發送簡訊給我
#21 引用回覆 回覆 發表時間:2009-11-10 09:36:45 IP:220.128.xxx.xxx 訂閱
各位大大,

我還想用一台主機放在基隆總公司就好,專線加頻寬,再用任何遠端連接的方式,這樣好像比較好,今天主管問過 Citrix 的價格,一個帳戶一萬多塊,半個員工的薪水,台北四十人,每個月就要六十幾萬,錢太多了,同樣的錢可以再請二十個人來打單,根本不可行,哪位大大知道有沒有其他類似的解決方案?
------
有沒有可能,上帝使用程式操作世界?
holydisciple
一般會員


發表:3
回覆:24
積分:10
註冊:2009-11-06

發送簡訊給我
#22 引用回覆 回覆 發表時間:2009-11-10 10:12:16 IP:220.128.xxx.xxx 訂閱
版主大大,

我們也是打算朝編頁方向走,現在用 Delphi 2006 開發,.net 版本自然是 1.1,就麻煩了,根本不敢昇級到更高版本的 Delphi,因為 .net 會變成 2.0,不敢冒險昇級,否則程式不能跑就麻煩了,網頁就不會有這種問題,因為網頁語法只能增加但不能刪除或更改。

主要作業的報單(海關申報用),用網頁做真的很難。全程用滑鼠外,我們是按 Enter 移焦點,不是按 Tab,PageControl 的 TabSheet 切換按 PageUp, PageDown,就連進入 DBGrid 打字,也一樣按 Enter,例如焦點在某個 TEdit 元件,按 Enter 後要跳入某個 TDBGrid 左上角的格子開始輸入,DBGrid 的 memo 欄位特別處理,要直接在 DBGrid 上面輸入 Memo 欄位,例如 Memo 欄位在第二欄,焦點在第一欄,此時按 Enter 焦點會移入第二欄,並顯示一個TMemo 元件,寬度跟 DBGrid 第二欄同寬,左上角對齊,就像是 DBGrid 內建的 Memo 元件一樣,此時文字全選,按 ESC 取消全選就可以開始輸入,剛顯示 TMemo 時文字是全選,此時按 Enter,並不會在 TMemo 裡面加入跳行,而是關閉 TMemo 並使焦點移到 DBGrid 的第三欄,等於越過 Memo 欄位,以文字是否為全選來判斷,最後在 TMemo 裡面打完字,也是按 Enter 關閉 TMemo 和移到 DBGrid 第三欄,這通通加起來,就是用 Delphi 就已經非常難做,用 Visual Studio 2005, 2008 更難,用網頁做的話,光是技術研究就不知道要花多少時間,更何況是完全實作所需的時間。
------
有沒有可能,上帝使用程式操作世界?
heartgame0
一般會員


發表:2
回覆:29
積分:11
註冊:2008-07-28

發送簡訊給我
#23 引用回覆 回覆 發表時間:2009-11-10 10:44:47 IP:220.131.xxx.xxx 訂閱
太多預設問題!!並沒有說你錯!----台灣人都是帶球跑!馬上要修改上去用,當然不可能,
研究是一定要花。---還是要用別的系統去試!

-----真的能解決您的問題,我看,只有找別人已經在用的方式,買人家的完成品,只要多花幾遍操作時間練習而已。
問問ibm、微軟、等等大龍頭,看有沒有現有例子可以買的,再修改修改就可以用的。

-----
網頁只是把程式放進去,所以程式可以做的,網頁都可以做(我目前看到、知道的)。。技術是一定要花時間學的、練的,
==不然就只能到處問、買別人寫好的系統。像手機系統,像醫院系統、、、等等

----網頁,找個老手,先做些demo給你們看要的功能。再看要請他當你們的員工,還是買他設計好來自已人修改。
網頁不是用像delphi程式下去寫的,就我目前寫的看到的(不多啦,我只是小小小的,連業餘都稱不上),
我要表達的是,網頁不會像程式難學,只是要會多查指令,會寫程式,要放上網頁不難!!

====我這樣想會不會太天真,就不知道了!
一個網頁,可以無限長,你要放上千個欄位都沒問題吧
不能用舊的操作介面去想像,
只要達到你要的功能,而非要一定照你的排版吧!這樣局限太多。

網頁可以按enter跳下一個欄位(如果沒記錯),但是要在BGrid上輸入就,一定必要嗎?它是資料表,
不能用dbedit連出來的欄位輸入,只要儲對地方就好!

真的不懂,所以不知道它的難易度!!!!聽起來,真的很難!不是我小蝦米可以想像的。

===================引 用 holydisciple 文 章===================
版主大大,

我們也是打算朝編頁方向走,現在用 Delphi 2006 開發,.net 版本自然是 1.1,就麻煩了,根本不敢昇級到更高版本的 Delphi,因為 .net 會變成 2.0,不敢冒險昇級,否則程式不能跑就麻煩了,網頁就不會有這種問題,因為網頁語法只能增加但不能刪除或更改。

主要作業的報單(海關申報用),用網頁做真的很難。全程用滑鼠外,我們是按 Enter 移焦點,不是按 Tab,PageControl 的 TabSheet 切換按 PageUp, PageDown,就連進入 DBGrid 打字,也一樣按 Enter,例如焦點在某個 TEdit 元件,按 Enter 後要跳入某個 TDBGrid 左上角的格子開始輸入,DBGrid 的 memo 欄位特別處理,要直接在 DBGrid 上面輸入 Memo 欄位,例如 Memo 欄位在第二欄,焦點在第一欄,此時按 Enter 焦點會移入第二欄,並顯示一個TMemo 元件,寬度跟 DBGrid 第二欄同寬,左上角對齊,就像是 DBGrid 內建的 Memo 元件一樣,此時文字全選,按 ESC 取消全選就可以開始輸入,剛顯示 TMemo 時文字是全選,此時按 Enter,並不會在 TMemo 裡面加入跳行,而是關閉 TMemo 並使焦點移到 DBGrid 的第三欄,等於越過 Memo 欄位,以文字是否為全選來判斷,最後在 TMemo 裡面打完字,也是按 Enter 關閉 TMemo 和移到 DBGrid 第三欄,這通通加起來,就是用 Delphi 就已經非常難做,用 Visual Studio 2005, 2008 更難,用網頁做的話,光是技術研究就不知道要花多少時間,更何況是完全實作所需的時間。
------
資訊業是永遠不能停止學習的行業!
但是進步都只是一點點一點點!
==可以不用理我!因為我的程度只有2成,或許不到!!
==我只會拉拉元件,打打迴圈,打打條件判斷,連連資料庫,rs232送送訊號,印表機簡單列印。
只有寫寫小小的點餐軟體(為何想寫,因為叫人家改的小東西,都ooxx,是會付錢的又不是沒錢,但是理由還是一堆)
編輯記錄
heartgame0 重新編輯於 2009-11-10 10:56:06, 註解 無‧
heartgame0 重新編輯於 2009-11-10 21:56:29, 註解 無‧
enta
一般會員


發表:34
回覆:43
積分:15
註冊:2003-09-29

發送簡訊給我
#24 引用回覆 回覆 發表時間:2009-11-10 16:08:32 IP:121.254.xxx.xxx 訂閱
它是透過 odbc連線,client只須裝odbc-driver及執行檔即可(.exe),夠 easy.
------
chang yung chin
編輯記錄
enta 重新編輯於 2009-11-10 16:12:17, 註解 無‧
enta 重新編輯於 2009-11-10 16:13:30, 註解 無‧
ko
資深會員


發表:28
回覆:785
積分:444
註冊:2002-08-14

發送簡訊給我
#25 引用回覆 回覆 發表時間:2009-11-10 16:45:34 IP:61.66.xxx.xxx 訂閱
基本上我不建議您一次搞定~
只要程式跑的動,LOADING是以後的事情!!
也許他會擴編到7-800人所以如果只是外包的廠商
建議您 [點到為止]

原則上只要SQL架構明確主機可以負荷其他的網路傳輸不關程式的的事情!!


===================引 用 holydisciple 文 章===================
大大您好,

1.發表意見是指我所擔心的效能問題,或者資一致性的問題。
2.系統核心功能已完成,且已運作中,其他次要功能一直在擴張。
3.我們考慮兩種可能性,一是用中華電信的專總連接台北和基隆,兩者視同內部網路,主機放在基隆。這受限於專線的月租費,現用 1.5 M 月租幾千元,要昇到 10M,需 2 萬,如果昇到 10M 可解決效能的問題,那就 Ok,如果不行就要再加頻寬,下一等級是每月 租金 [ 三十萬 ] 以上,這樣的價碼不用考慮了,不如多請十個人多打單,還比較划算。另一種方法就是讓兩台主機互相複寫,這就是一大問題了,因為兩邊主機都有員工在輸入資料,台北和基隆的員工可以針對相同的單子修改資料,到兩邊一先一後針對相同單子互相複寫後,那張單子會變什錦炒飯,這就是最大困擾,主管要兩邊主機互相複寫,一天四次左右,都在白天進行,但同時間,兩邊主機在白天都有人在輸入資料,一邊有人打單,一邊複寫,更慘的是主要作業的單子,資料表很複雜,資料量可多可少,主表有三百多個欄位,關連五、六個資料表,下一層項次資料表也有三百個欄位,項次可能有一筆,也可能有兩千多筆,就算只有一百個項次,100*300=30000 個資料,如果2000 的話,就是 2000*300=600000,項次資料表下面還牽著五個資料,欄位數不多,算四個就好,項次若有 1000 的話,底下子表各有一筆,就是 (1000 * 300) (5*1000*4)=352000,這只是一張單子,共有十幾個資料表,還有財務資料,整個資料庫三百多個資料表,這樣的系統要兩邊不休息的情形下,用複寫和專線保持兩邊資料完全一致,是否有可能呀?
------
======================
昏睡~
不昏睡~
不由昏睡~
RootKit
資深會員


發表:16
回覆:358
積分:419
註冊:2008-01-02

發送簡訊給我
#26 引用回覆 回覆 發表時間:2009-11-10 22:06:25 IP:122.126.xxx.xxx 訂閱
3 Tier +1
可以用 Web 架構,但用戶介面可以不是網頁。
暗黑破壞神
版主


發表:9
回覆:2301
積分:1627
註冊:2004-10-04

發送簡訊給我
#27 引用回覆 回覆 發表時間:2009-11-11 01:31:00 IP:114.46.xxx.xxx 未訂閱
假如說要換寫法.你也覺得太難.或是要再學習太久.
而要你加頻寬, 遠端登入. 你又覺得太貴.
那真的對不起了.沒辦法了.


我看了你的發言. 我可以發現到你會去算"預算"
那很好呀. 你很清楚你的決策, 會導致後面的每個月的花費多了多少錢.
什麼一個月多了幾十萬的開銷.等等
那換另一個角度. 如果可以讓公司不要一個月付那幾十萬呢?
要額外花你三個月,五個月去改那樣的東西.
如果我是你的老闆. 說句難聽的話, 你一個月的薪水多少.
五個月才多少. 你給我想辦法寫出來就是了.
我幹嘛一個月去付那麼多錢?

可是, 現在的問題就是卡在.你目前不想寫也不想改它.
所以你才來問這個問題.

結論其實就那樣.
要嘛改變自己接受事實. 去學新的東西. 去改新的做法.
不然, 就是辭職回家,
holydisciple
一般會員


發表:3
回覆:24
積分:10
註冊:2009-11-06

發送簡訊給我
#28 引用回覆 回覆 發表時間:2009-11-11 09:13:14 IP:220.128.xxx.xxx 訂閱
一次回應...
ko 大大,Loading 對我們而言,是第一個要解決的問題,因為這是一個報關系統,有時效的問題,客戶給資料供報關,必須要在指定時間前報關完成,不然貨主可能沒有原料提供給生產線,或者貨主無法在合約最後期限準時交貨給他們的客戶,還試過慢了一天申報,因為前後的美元匯率有差,客戶多付了十幾萬元關稅,要我們陪錢,因為是大客戶,所以我們也陪給他了。
版主大大,程式不可能改的,光說海關申報的報單就好,有六種,其中四種,它們的主 Form,都接近一萬行程式碼,引用的單元檔(自行撰寫,Delphi 提供的不算),有六十個,主 Form 上面 DataSet DataSource 貼了二十對以上,十幾個 DBGrid,存檔或 Build 都要半分鐘以上,而且公司不接受資料分表頭、項次各自輸入、各自存檔,而是必須全部進入編輯狀態,全部一起存檔,存檔又用 loBatchOptimistic,存檔時又必須做一些複雜的資料檢查和修正動作,其他如財務的東西也如此,存檔和核准時都是大堆檢查和拋轉要做,所以已經無法從軟體架構來提昇效率了,只有從網路架構、資料庫入手,如兩台主機互相複寫(可能不是很好的做法)。
------
有沒有可能,上帝使用程式操作世界?
P.D.
版主


發表:603
回覆:4038
積分:3874
註冊:2006-10-31

發送簡訊給我
#29 引用回覆 回覆 發表時間:2009-11-11 13:33:55 IP:118.169.xxx.xxx 未訂閱
由你的回應來看, 當初規劃設計的系統根本就是一大錯誤, 才會導致現在的後果, 如果核心已定, 大概只剩加大頻寬, 加快pc處理速度下手, 換sql系統, 看樣子也行不通, 
我最後意見,
1.趕快離職, 因為最後這套系統會死的很難看
2.真的如你所言, 找上帝來改程式
3.要不如果可能的話, 請李維大師出馬, 看能否有更好的解決方法, 畢竟他是Delphi大中華地區的代表

抱歉, 不是說風涼話, 因為大家能建議的也大概如此了吧! 如果看來有讓你覺得不舒服的地方, 先向你說對不起囉!
===================引 用 holydisciple 文 章===================
一次回應...
ko 大大,Loading 對我們而言,是第一個要解決的問題,因為這是一個報關系統,有時效的問題,客戶給資料供報關,必須要在指定時間前報關完成,不然貨主可能沒有原料提供給生產線,或者貨主無法在合約最後期限準時交貨給他們的客戶,還試過慢了一天申報,因為前後的美元匯率有差,客戶多付了十幾萬元關稅,要我們陪錢,因為是大客戶,所以我們也陪給他了。
版主大大,程式不可能改的,光說海關申報的報單就好,有六種,其中四種,它們的主 Form,都接近一萬行程式碼,引用的單元檔(自行撰寫,Delphi 提供的不算),有六十個,主 Form 上面 DataSet DataSource 貼了二十對以上,十幾個 DBGrid,存檔或 Build 都要半分鐘以上,而且公司不接受資料分表頭、項次各自輸入、各自存檔,而是必須全部進入編輯狀態,全部一起存檔,存檔又用 loBatchOptimistic,存檔時又必須做一些複雜的資料檢查和修正動作,其他如財務的東西也如此,存檔和核准時都是大堆檢查和拋轉要做,所以已經無法從軟體架構來提昇效率了,只有從網路架構、資料庫入手,如兩台主機互相複寫(可能不是很好的做法)。
編輯記錄
P.D. 重新編輯於 2009-11-11 13:35:49, 註解 無‧
holydisciple
一般會員


發表:3
回覆:24
積分:10
註冊:2009-11-06

發送簡訊給我
#30 引用回覆 回覆 發表時間:2009-11-11 13:54:14 IP:220.128.xxx.xxx 訂閱
ko 大大,

內部網路打都比較沒問題,線路有 100M,只在遠端打才有問題,例如用 ADSL 連進來,都慢很多。至於當初規劃設計,基本建檔很多,這是沒有辦法的,因為這是配合海關的,逃不掉的,介面是客戶的要求,一定要照做,如今軟體方面唯一能做的是儘量瘦身,抽一些脂肪出來,應該會比較好。。
------
有沒有可能,上帝使用程式操作世界?
ko
資深會員


發表:28
回覆:785
積分:444
註冊:2002-08-14

發送簡訊給我
#31 引用回覆 回覆 發表時間:2009-11-11 17:58:31 IP:61.66.xxx.xxx 訂閱
[慢]不是重點,重點是程式可以動作而且0失誤
如果是因為時間不是程式要掌控的~(即使瘦身程式也不能減少10%傳輸資料量)
原因不在程式,而是網路連線導致的

既然是網路~那應該不用程式設計師去煩惱吧!!
應該找對方的網管之類的協調!!

還有一個方式可能可以做做看,就是二端都裝sql主機 N-USER就單純是[網內]作業
再每格一段時間(1小時)將資料匯入>>PROC或程式,將二端資料匯集到第三台sql主機
(當然不要同一個時段,二台一起匯,而是分開,如單點匯A台雙點匯B台)
時間差就控制在2小時以內,........也可以是分鐘(要看資料量)
那原則上第三台sql主機就是完整的資料了,要列印還是查詢都用第三台來進行
唯一的問題是修改,也是二小時才會更新,這樣的時差海關若能接受就OK
老實說:2小時已經很快了,及時KEYIN及時處理根本是..impossible
別忘您在[台灣]而且海關是公家單位耶


===================引 用 holydisciple 文 章===================
ko 大大,

內部網路打都比較沒問題,線路有 100M,只在遠端打才有問題,例如用 ADSL 連進來,都慢很多。至於當初規劃設計,基本建檔很多,這是沒有辦法的,因為這是配合海關的,逃不掉的,介面是客戶的要求,一定要照做,如今軟體方面唯一能做的是儘量瘦身,抽一些脂肪出來,應該會比較好。。
------
======================
昏睡~
不昏睡~
不由昏睡~
[<<] [1] [2] [>>]
系統時間:2024-05-06 9:32:41
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!