Pantip.com Pantip-TechExchange | Pantip-Cafe | PantipMarket.com | Chat | PanTown.com | BlogGang.com| Torakhong.org| GameRoom
 




อยากถามผู้รู้ java หน่อยครับ ว่าจะมีวิธีการใดบ้างที่ช่วยแก้ปัญหานี้ได้อะคับ

โปรแกรมที่ผมสร้างขึ้นเป็นแบบ Socket (java.net.Socket) ใช้ส่งข้อมูลภายในหน่วยงานครับ ที่ผมทำจะเป็นส่วนของ Client รูปแบบทำงานจะเป็นแบบนี้ครับ

01. ส่งข้อมูลไปให้ Server แล้วรอการตอบกลับจาก Server ว่าได้รับข้อมูลนี้หรือยัง ถูกต้องครบ format หรือไม่, การส่งข้อมูลไปให้ ser ver นี้จะมี group id ของข้อมูลส่งไปให้ด้วย group id นี้เอาไว้ใช้ในการเปิด Connection ไปรับข้อมูลที่ผ่านกระบวนการต่างๆเสร็จสิ้นแล้ว(จะเกิดขึ้นในข้อที่ 2)

02. หลังจากส่งข้อมูลไปให้ Server แล้ว เราจะเปิด Connection กับ server เพื่อรอรับข้อมูลของกลุ่มนั้นๆกลับมา โดยการเปิด Connection ยิงไปหา Server นั้น ได้มีการส่ง group id ไปด้วย เพื่อให้ server ดึงข้อมูลเฉพาะ group id นี้ส่งกลับมาเท่านั้น (นั่นหมายถึงว่า ถ้ามี group id 5 ตัว เราก็จะเปิด Connection 5 อัน)

ระบบนี้เป็นการนำข้อมูลส่งไปประมวลผลที่ Server อื่น ข้อมูลที่จะส่งไปนั้น เริ่มแรกเป็น file .txt ข้อมูลใน .txt  จะถูกนำเข้าสู่ table แล้วโดยมี คีย์เป็น filename ครับ แต่การส่งข้อมูลไป-กลับ กับ Server นี้จะไม่มีชื่อ filename ไปเกี่ยวข้องด้วย แต่การแสดงผลให้ end-user ดูนั้น ต้องให้ดูได้ว่า filename นี้มีการส่ง - รับ ไปเป็นจำนวนกี่ reccord แล้ว ซึ่งการส่ง - รับกลับมานั้นจะมีค่า PK ครับ เป็นตัวบอกอีกที

การส่งข้อมูลแบบนี้ จะมี data ที่ต้องทำในหนึ่งวันประมาณ 400,000 เรคคอร์ดครับ นั่นคือ หากนับภายใน 8 ชั่วโมง, จะได้ว่าใน 1 ชั่วโมงต้องส่งให้ได้ 50,000 เรคคอร์ด ครับ ระบบที่ผมสร้างขึ้นมา ผมอาศัย Thread เข้าช่วยครับ การส่งตามกระบวนการข้อ 1 และ 2 นั้น จะใช้จำนวน 3 และ 4 Thread ตามลำดับ

ปัญหาที่พบคือ OutOfMemory ครับ ผู้รู้มีคำแนะนำหรือมีข้อสงสัยเพิ่มเติม หลังไมค์ได้เลยนะครับ

ปล. ผมอาจจะอธิบายไม่ได้ความ งง ยังไงก็ขออภัยไว้ ณ ที่นี้ด้วยครับ ขอบคุณครับ



จากคุณ : Exception -[ 26 พ.ค. 51 - 17:57:47 ]




ข้อความหรือรูปภาพที่ปรากฏในกระทู้ที่ท่านเห็นอยู่นี้ เกิดจากการตั้งกระทู้และถูกส่งขึ้นกระดานข่าวโดยอัตโนมัติจากบุคคลทั่วไป ซึ่ง PANTIP.COM มิได้มีส่วนร่วมรู้เห็น ตรวจสอบ หรือพิสูจน์ข้อเท็จจริงใดๆ ทั้งสิ้น หากท่านพบเห็นข้อความ หรือรูปภาพในกระทู้ที่ไม่เหมาะสม กรุณาแจ้งทีมงานทราบ เพื่อดำเนินการต่อไป
Considering the real-time nature of this webboard, it is impossible for us to review all messages/post. Please remember that we do not actively monitor the contents of and are not responsible for any messages posted. Anyone who feels that a posted message is inappropriate, Please encouraged to contact us immediately by email at kratoo@pantip.com , and We will remove objectionable messages within a reasonable time frame.



Pantip-Cafe | Pantip-TechExchange | PantipMarket.com | PanTown.com | BlogGang.com