Tags:

กูเกิลเปิดเผยซอร์สโค้ดของ Protocol Buffers ภาษาที่ใช้แลกเปลี่ยนข้อมูลกันภายในกูเกิลเอง

กูเกิลมีแอพพลิเคชันสำหรับประมวลผลข้อมูล-สารสนเทศเป็นจำนวนมาก จึงต้องมีภาษาสำหรับแลกเปลี่ยนข้อมูลระหว่างกัน แต่ XML นั้นมี overhead สูงเมื่อต้องประมวลผลข้อมูลจำนวนมหาศาลแบบกูเกิล ทางออกของกูเกิลคือคิดค้นภาษาแลกเปลี่ยนข้อมูลแบบใหม่ขึ้นมาเองที่ไม่ซับซ้อน และเน้นประสิทธิผลในการส่งข้าม data center จึงออกมาเป็น Protocol Buffers

ตัวข้อมูลที่ส่งกันจริงๆ เรียกว่า message มีหน้าตาดังนี้ (ส่งข้อมูลชนิด int32 ค่า 1 เข้ารหัสแบบ Base 128 Varints)

08 96 01

ผู้ส่งต้องกำหนด schema ของ message (แบบเดียวกับ DTD หรือ XML Schema) ในไฟล์ .proto ซึ่งมีลักษณะเหมือน struct ของ C

message SearchRequest {
  required string query = 1;
  optional int32 page_number = 2;
  optional int32 result_per_page = 3;
}

สิ่งที่กูเกิลเปิดซอร์สออกมารอบนี้คือ ตัวภาษา Protocol Buffers และไลบรารีสำหรับเรียกใช้ผ่าน C++, Java และ Python

ที่มา - Google Open Source Blog ผ่าน PC World

Comments

By: GoblinKing
GoblinKing's blog
on 11/07/08 1:03 #58201 toggle
GoblinKing's picture

ตอนแรกอ่านชื่อข่าวผิดว่า "กูเปิดซอร์ส" -.-


เขาสูงอาจวัดวา กำหนด จิตมนุษย์นี้ไซร้ ยากแท้ หยั่งถึง

By: tekkasit
ContributorAndroidWindowsIn Love
tekkasit's blog
on 11/07/08 6:27 #58221 toggle
tekkasit's picture

สะกดว่า variants รึเปล่าครับ

By: mk
FounderAndroidRed HatWindows
mk's blog
on 11/07/08 15:08 #58250 Reply to:58221 toggle
mk's picture

สะกดแบบนี้จริงๆ ครับ ตอนแรกผมก็เข้าใจว่า variants


my disclaimer

By: hereblur
hereblur's blog
on 12/07/08 10:10 #58353 Reply to:58221 toggle
hereblur's picture

Var Int(eger)s มั้งครับ

By: ipats
ContributorWindows PhoneAndroidExteen Official
ipats's blog
on 11/07/08 15:53 #58258 toggle
ipats's picture

นั่งงงเอกสารมันอยู่พักใหญ่ ได้ความว่า... จริงๆ แล้ว 08 96 01 คือ ข้อมูล varint (มันแปลว่าอะไรเนี่ย) เทียบค่าได้ (int32) 150 และมีแท็ก (id) เป็น 1 ที่เรียกว่า base 128 เพราะ 1 byte จะใช้ 7bit (คือ 128 ความเป็นไปได้นั่นเอง) ส่วนอีกบิตที่เป็น msb จะใช้บอกว่ายังมีข้อมูลมาต่ออีกหรือเปล่า (หลักการคล้ายๆ utf แต่ซับซ้อนน้อยกว่า)

---------- iPAtS


iPAtS

By: sugree
FounderWriterAndroidBlackberry
sugree's blog
on 11/07/08 22:07 #58303 toggle
sugree's picture

เล็กขนาดนี้น่าเอามาใส่ mpi