SAMD SYNCHRONIZATION ALGORITHM
A. Objective of SAMD
In order to guarantee independence of database vender and synchronization solution vender in a mobile
business environment that has diverse mobile devices, mobile databases, and RDBMS, the SAMD synchronization
algorithm satisfies the following objectives.
O1) Independence of venders.
- Does not use metadata or internal functions dedicated to a particular database.
O2) Synchronization using only standard SQL statements.
- Perform synchronization using only standard SQL queries and data manipulation language specified in
ISO standard. Therefore, any data processing using trigger is not allowed.
O3) Disallows schematic modification of data table of the server-side database.
- The data table schema cannot be modified to add data necessary for synchronization. In other words,
synchronization must be performed independent from the existing data table schema. Therefore, additional
information such as time stamps cannot be added to the data table.
O4) Disallows adding restrictions in implementing applications.- There can be no restrictions such as performing
additional works to an application code or having to use a specific library in order to perform synchronization.
B. SAMD Synchronization Algorithm
Fig. 3 displays the table schema of the server-side databaseand the mobile database where the SAMD
synchronizationalgorithm is applied. Both databases have a data table (DSDT:Database Server Data Table, MCDT:
Mobile Client DataTable) and a message digest table (DSMDT: Database ServerMessage Digest Table, MCMDT:
Mobile Client MessageDigest Table). The data table contains the business data, andthe message digest table stores
the message digest value fromthe data table. The message digest table consists of a PKcolumn of data table, message
digest value (MDV) column,flag (F) column and mobile device ID (Mid) column. The flagcolumn signals an
inconsistency that has occurred in thecorresponding column; therefore, the flag column is used toidentify a row that
requires synchronization. The mobiledevice ID is a unique number of the mobile device, so thiscolumn is used to
identify a mobile device that requiressynchronization.
In Fig. 3, if a row's PK value is A1, this value is identical tothe two message digest values and there is no need
forsynchronization. However, if a row has a PK value of C1, thevalue of MDV in MCMDT is different from the
value of MDVin DSMDT and the MCMDT flag value is 1. Consequently,synchronization is necessary. The
synchronization process isperformed for each row to resolve all of the inconsistenciesmentioned in Section II/B. For
example, if there is aninconsistency in row C1, synchronization takes place from themobile database to the server -
side database and DSDT's PK C1row is replaced with the MCDT's C1 row.
The synchronization algorithm consists ofSynchronizations 1, 2 and 3, as shown in Fig. 3.Synchronizations 1 and 2
synchronize the data table andmessage digest table. Therefore, the two are identicalsynchronization algorithms
applied to different tables. Here,the message digest values that are created with each rowvalue of the data table, and
the message digest values of themessage digest table, are compared. If the values areidentical, there has been no
change in the data andsynchronization is not necessary. If the values are different,it means that the data table value
has been changed, inwhich case the message digest table has to be updated withnew message digest values and the
flag has to be set to 1.The flag value is used to identify a row that needssynchronization. The server-side database
has one DSMDTfor every DSDT. Although the size of the MCMDT issmaller than that of the DSMDT, there is an
MCMDT forevery mobile device that has a unique ID. It is veryinefficient to perform Synchronization 2 for every
row ofthe DSDT every time there is a synchronization requestfrom a mobile device. Therefore when the mobile
devicerequests synchronization, the mobile device ID value is sentto the server-side database and then the SAMD
algorithmsselect the row from DSMDT whose value of Mid column isthe same as the mobile device ID value
andSynchronization 2 is only applied to the selected rows. Forexample, a mobile device whose mobile device ID
value is„md1‟ requests synchronization, the rows whose value ofMid column is „md1‟ are selected and then only
used inSynchronization 2.
After SAMD algorithms analyze the type of inconsistencyusing the flag values of both messages digest
tables,primary key, which is used to identify the row. Therefore, Synchronization 3 is performed between two data
tables foreach inconsistent type. Upon completion of synchronization,the flag of the synchronized row is set to 0 in
the messagedigest table.Most mobile devices have limited resources, and the loadon the device should be minimized
during the synchronizationprocess. Accordingly, all message digest tables are located inthe server-side database to
economize storage space of themobile device, as shown in Fig. 3, while there is the loadcaused by accessing the
network in Synchronization 1 but thedata size of MCDT is smaller than the server. Furthermore,the MCDT data
necessary for Synchronization 1 is sent to theserver-side database in a single transmission over a wirednetwork
using an SQL query capable of batch processing.After this point, there is no load on the mobile device,
whichreduces the load caused by network access in theSynchronization 1 stage.The SAMD synchronization
algorithm must keep the following restrictions.
SAMD ประสานอัลกอริทึม
A. วัตถุประสงค์ของการ SAMD
เพื่อรับประกันความเป็นอิสระของผู้ขายฐานข้อมูลและการแก้ไขปัญหาการประสานผู้ขายในมือถือของ
สภาพแวดล้อมทางธุรกิจที่มีโทรศัพท์มือถือที่มีความหลากหลายฐานข้อมูลมือถือและ RDBMS, ประสาน SAMD
ขั้นตอนวิธีการตอบสนองวัตถุประสงค์ดังต่อไป.
O1) ความเป็นอิสระของผู้ค้าริม.
- ไม่ ใช้ข้อมูลเมตาหรือฟังก์ชั่นภายในที่ทุ่มเทให้กับฐานข้อมูลโดยเฉพาะอย่างยิ่ง.
O2) ประสานข้อมูลโดยใช้เพียงมาตรฐานคำสั่ง SQL.
- การดำเนินการประสานโดยใช้มาตรฐานเท่านั้นแบบสอบถาม SQL และภาษาการจัดการข้อมูลที่ระบุไว้ใน
มาตรฐาน ISO . ดังนั้นข้อมูลใด ๆ ที่ประมวลผลโดยใช้ทริกเกอร์ไม่ได้รับอนุญาต
O3) ปิดการปรับเปลี่ยนแผนผังของตารางข้อมูลของฐานข้อมูลด้านเซิร์ฟเวอร์.
- สคีตารางข้อมูลไม่สามารถแก้ไขได้ในการเพิ่มข้อมูลที่จำเป็นสำหรับการประสาน ในคำอื่น ๆ
การประสานจะต้องดำเนินการเป็นอิสระจาก schema ของตารางข้อมูลที่มีอยู่ ดังนั้นเพิ่มเติม
ข้อมูลเช่นแสตมป์เวลาไม่สามารถเพิ่มเข้าไปในตารางข้อมูล.
O4) ไม่อนุญาตให้เพิ่มข้อ จำกัด ในการดำเนินการ applications.- จะไม่มีข้อ จำกัด เช่นการแสดง
ผลงานเพิ่มเติมเพื่อให้รหัสโปรแกรมหรือมีการใช้ห้องสมุดที่เฉพาะเจาะจงในการที่จะ ดำเนินการประสาน.
B. SAMD การประสานอัลกอริทึม
รูป 3 แสดง schema ของตาราง server-side databaseand ฐานข้อมูลมือถือที่ SAMD
synchronizationalgorithm ถูกนำไปใช้ ฐานข้อมูลทั้งสองมีตารางข้อมูล (DSDT: ฐานข้อมูลเซิร์ฟเวอร์ข้อมูลตาราง MCDT:
มือถือไคลเอ็นต์ DataTable) และข้อความตารางย่อย (DSMDT: ฐานข้อมูล ServerMessage สำคัญตาราง MCMDT:
มือถือของลูกค้า MessageDigest ตาราง) ตารางข้อมูลมีข้อมูลทางธุรกิจที่มีข้อความ andthe ย่อยร้านค้าโต๊ะ
ข้อความมูลค่าย่อย fromthe ตารางข้อมูล ประกอบด้วยตารางย่อยข้อความ PKcolumn ของตารางข้อมูลข้อความ
มูลค่าย่อย (MDV) คอลัมน์, ธง (F) คอลัมน์และโทรศัพท์มือถือส (กลาง) คอลัมน์ flagcolumn สัญญาณ
ที่ไม่สอดคล้องกันที่เกิดขึ้นในคอลัมน์ thecorresponding; ดังนั้นคอลัมน์ธงจะใช้ toidentify แถวที่
ต้องมีการประสาน ID mobiledevice เป็นหมายเลขที่ไม่ซ้ำของอุปกรณ์มือถือเพื่อ thiscolumn จะใช้ในการ
ระบุตัวตนของโทรศัพท์มือถือที่ requiressynchronization.
ในรูป 3 ถ้าแถวเป็นค่า PK A1 ค่านี้จะเหมือนกับ tothe สองค่าแยกแยะข้อความและไม่มีความจำเป็นที่จะต้อง
forsynchronization แต่ถ้าแถวมีค่า PK ของ C1, thevalue ของ MDV ใน MCMDT จะแตกต่างจาก
มูลค่าของ MDVin DSMDT และค่าสถานะ MCMDT คือ 1 ดังนั้นการประสานเป็นสิ่งที่จำเป็น
การประสาน isperformed สำหรับแต่ละแถวที่จะแก้ปัญหาทั้งหมดของ inconsistenciesmentioned ในมาตรา II / B สำหรับ
ตัวอย่างเช่นถ้ามี aninconsistency ใน C1 แถวตรงกันจะเกิดขึ้นจากฐานข้อมูล themobile ไปยังเซิร์ฟเวอร์ -
ฐานข้อมูลด้าน PK DSDT ของ C1row จะถูกแทนที่ด้วยแถว C1 MCDT ของ.
ขั้นตอนวิธีการประสานประกอบด้วย ofSynchronizations 1, 2 และ 3 ตามที่แสดงในรูป . 3.Synchronizations 1 และ 2
ประสานตารางข้อมูล andmessage ย่อยตาราง ดังนั้นทั้งสองขั้นตอนวิธี identicalsynchronization
นำไปใช้กับตารางที่แตกต่าง นี่คือข้อความค่าย่อยที่สร้างขึ้นด้วย rowvalue แต่ละตารางข้อมูลและ
ข้อความย่อยคุณค่าของ themessage ย่อยตารางจะถูกเปรียบเทียบ หากค่า areidentical ได้มีการไม่มี
การเปลี่ยนแปลงใน andsynchronization ข้อมูลที่ไม่จำเป็น หากค่าที่แตกต่างกันก็หมายความว่าค่าตารางข้อมูลที่
มีการเปลี่ยนแปลง inwhich กรณีตารางย่อยข้อความจะต้องมีการปรับปรุงข้อความ withnew ค่าแยกแยะและ
ธงจะต้องมีการตั้งค่าธง 1. ใช้ในการระบุแถว ที่ needssynchronization ฐานข้อมูลด้านเซิร์ฟเวอร์
มีหนึ่ง DSMDTfor DSDT ทุก แม้ว่าขนาดของ issmaller MCMDT กว่า DSMDT มี
MCMDT Forevery อุปกรณ์มือถือที่มี ID ที่ไม่ซ้ำ มันเป็น veryinefficient เพื่อดำเนินการประสาน 2 สำหรับทุก
แถว ofthe DSDT ทุกครั้งที่มีการประสาน requestfrom โทรศัพท์มือถือ ดังนั้นเมื่อมือถือ
ประสาน devicerequests, โทรศัพท์มือถือค่า ID sentto เป็นฐานข้อมูลด้านเซิร์ฟเวอร์และจากนั้น SAMD
algorithmsselect แถวจาก DSMDT มีค่าของคอลัมน์กลาง isthe เดียวกับโทรศัพท์มือถือค่า ID
andSynchronization 2 ถูกนำไปใช้เฉพาะแถวที่เลือก . Forexample, โทรศัพท์มือถือที่มีโทรศัพท์มือถือ ID
ค่าคือ "md1" ประสานการร้องขอ, แถวที่มีคอลัมน์ ofMid ค่า "md1" ถูกเลือกแล้วเท่านั้น
ใช้ inSynchronization 2.
หลังจากที่อัลกอริทึม SAMD วิเคราะห์ประเภทของ inconsistencyusing ค่าธงของข้อความทั้งสอง ย่อย
ตารางคีย์หลักที่ใช้ในการระบุแถว ดังนั้นการประสาน 3 จะดำเนินการระหว่างสองข้อมูล
ตาราง foreach ชนิดที่ไม่สอดคล้องกัน เมื่อเสร็จสิ้นการประสานธงของแถวตรงตั้งค่าเป็น 0 ใน
messagedigest table.Most อุปกรณ์มือถือที่มีทรัพยากรที่ จำกัด และ loadon อุปกรณ์ควรจะลดลง
ในช่วง synchronizationprocess ดังนั้นข้อความทั้งหมดย่อยตารางจะอยู่ inthe ฐานข้อมูลด้านเซิร์ฟเวอร์เพื่อ
ประหยัดพื้นที่จัดเก็บของอุปกรณ์ themobile ดังแสดงในรูปที่ 3 ในขณะที่มีการ loadcaused โดยการเข้าถึง
เครือข่ายในการประสาน 1 แต่ขนาดของ theData MCDT มีขนาดเล็กกว่าเซิร์ฟเวอร์ นอกจากนี้ข้อมูล MCDT
ที่จำเป็นสำหรับการทำข้อมูลให้ตรงกัน 1 จะถูกส่งไปยังฐานข้อมูล theserver ด้านการผลิตในการส่งที่เดียวมากกว่า wirednetwork
โดยใช้แบบสอบถาม SQL สามารถในการ processing.After ชุดจุดนี้มีการโหลดไม่เกี่ยวกับโทรศัพท์มือถือ
whichreduces ภาระที่เกิดจากการ การเข้าถึงเครือข่ายในการประสาน theSynchronization 1 stage.The SAMD
อัลกอริทึมต้องเก็บข้อ จำกัด ดังต่อไปนี้
การแปล กรุณารอสักครู่..
samd ประสานขั้นตอนวิธี
. วัตถุประสงค์ของ samd
เพื่อรับรองเอกราชของผู้ขาย ผู้ขายฐานข้อมูลและโซลูชั่นการประสานในสภาพแวดล้อมทางธุรกิจที่มีความหลากหลาย
มือถืออุปกรณ์มือถือ , ฐานข้อมูล , มือถือและ RDBMS , samd ขั้นตอนวิธีใดตรงกับวัตถุประสงค์ตรงกัน
.
01 ) ความเป็นอิสระของผู้ประกอบอาหาร
.- ไม่ใช้ข้อมูลภายใน หรือการทำงานที่ทุ่มเทให้กับฐานข้อมูลโดยเฉพาะ
O2 ) ประสานโดยใช้เพียงมาตรฐาน SQL งบ .
- ดำเนินการประสานโดยใช้เพียงมาตรฐาน SQL แบบสอบถามและข้อมูลการจัดการภาษาที่ระบุไว้ใน
มาตรฐาน ISO ดังนั้น ข้อมูลการประมวลผลการเรียกไม่ได้ .
O3 ) ไม่อนุญาตให้มีการปรับเปลี่ยนแผนผังของตารางข้อมูลในฝั่งเซิร์ฟเวอร์ฐานข้อมูล
- ตารางข้อมูล schema ไม่สามารถแก้ไขเพิ่มข้อมูลที่จำเป็นสำหรับการประสาน ในคำอื่น ๆ ,
ประสานต้องปฏิบัติอิสระจากที่มีอยู่ในตารางข้อมูลสคีมา ดังนั้น ข้อมูลเพิ่มเติม
เช่นช่วงเวลาไม่สามารถเพิ่มข้อมูลตาราง .
o4 ) ไม่อนุญาตให้เพิ่มข้อ จำกัด ในการใช้งาน - ไม่มีข้อ จำกัด เช่นการแสดง
งานเพิ่มเติมเพื่อการประยุกต์รหัส หรือมีการใช้ห้องสมุดเฉพาะ เพื่อดำเนินการประสาน
B
samd ขั้นตอนวิธีการประสานรูปที่ 3 แสดง schema ของตาราง ฝั่ง databaseand ฐานข้อมูลมือถือที่ samd
synchronizationalgorithm คือใช้ ทั้งฐานข้อมูลมีตารางข้อมูล ( dsdt : เซิร์ฟเวอร์ฐานข้อมูลข้อมูลตาราง mcdt :
datatable ลูกค้ามือถือ ) และตารางย่อยข้อความ ( dsmdt : ฐานข้อมูล servermessage ย่อยตาราง mcmdt :
ลูกค้ามือถือเมสเซสไดเจสต์โต๊ะ ) ตารางข้อมูลที่ประกอบด้วยข้อมูลทางธุรกิจ , ตารางและข้อความย่อยร้านค้า
ข้อความค่าย่อยข้อมูลจากตาราง การแยกแยะข้อความตารางประกอบด้วยตารางข้อมูลค่า pkcolumn , ผักไผ่
( . md ) คอลัมน์ธง ( F ) และคอลัมน์ ID ของอุปกรณ์มือถือ ( กลาง ) คอลัมน์ การ flagcolumn สัญญาณ
ความขัดแย้งที่เกิดขึ้นใน thecorresponding คอลัมน์ ดังนั้น ธง เสาที่ใช้ศึกษาแถวนั้น
ต้องประสาน การ mobiledevice ID คือ หมายเลขเฉพาะของอุปกรณ์มือถือ ดังนั้น thiscolumn ถูกใช้เพื่อระบุอุปกรณ์มือถือที่ requiressynchronization
.
ในรูปที่ 3 ถ้าค่า pk ของแถวคือ A1 ,ค่านี้เป็นค่าเหมือนกันกับสองข้อความย่อย และไม่ต้องมี
forsynchronization . แต่ถ้าแถวมี PK ค่า C1 , ค่า . md ใน mcmdt แตกต่างจากค่า
mdvin dsmdt และ mcmdt ธงค่าเป็น 1 จึงประสาน เป็นสิ่งที่จำเป็น
กระบวนการประสานการดำเนินการในแต่ละแถวที่จะแก้ปัญหาทั้งหมดของ inconsistenciesmentioned ในส่วนที่ ii / Bสำหรับ
ตัวอย่าง ถ้ามี aninconsistency แถว C1 , การใช้สถานที่จาก themobile ฐานข้อมูลไปยังเซิร์ฟเวอร์ฐานข้อมูลและ dsdt -
ข้างของ PK c1row ถูกแทนที่ด้วย mcdt C1
ของแถว การ ofsynchronizations อัลกอริทึมประกอบด้วย 1 , 2 และ 3 ดังแสดงในรูปที่ 3 . ซิงค์ 1 และ 2
ประสานตารางข้อมูล andmessage ย่อยตาราง ดังนั้นสองขั้นตอนวิธี identicalsynchronization
ใช้กับตารางที่แตกต่างกัน ที่นี่ , ผักไผ่ค่านิยมที่ถูกสร้างขึ้นในแต่ละ rowvalue ของตารางข้อมูล และ
ค่าข้อความย่อยย่อยของตารางการเปรียบเทียบ ถ้าค่าออกไม่มี
เปลี่ยนข้อมูล andsynchronization ไม่จําเป็น ถ้าค่าจะแตกต่างกันหมายถึงตารางข้อมูลค่า
ถูกเปลี่ยนโดยกรณีย่อยข้อความตารางได้มีการปรับปรุง withnew ข้อความย่อยส่วนค่า
ธงต้องตั้งค่าเป็น 1 . ค่าธงถูกใช้เพื่อระบุแถวที่ needssynchronization . ฝั่งเซิร์ฟเวอร์ฐานข้อมูล
มี dsmdtfor ทุก dsdt . แม้ว่าขนาดของ mcmdt น้อยกว่าที่ของ dsmdt มี
mcmdt ตลอดกาลอุปกรณ์มือถือที่มีเอกลักษณ์ประจำตัว คือ veryinefficient การดําเนินการทุก
2 แถวของ dsdt ทุกครั้งที่มีการประสาน requestfrom อุปกรณ์มือถือ ดังนั้น เมื่อมือถือ
devicerequests ประสานอุปกรณ์มือถือค่า ID จำนวนฝั่งเซิร์ฟเวอร์ฐานข้อมูลและจากนั้น samd
algorithmsselect แถวจาก dsmdt ที่มีค่าของคอลัมน์กลางเป็นเหมือนโทรศัพท์มือถือ ID ค่า
andsynchronization 2 ใช้เฉพาะแถวที่เลือก เช่น โทรศัพท์มือถือที่มีโทรศัพท์มือถือที่ ID
ค่า„ md1 ‟ขอประสานแถวที่มีค่า ofmid คอลัมน์„ md1 ‟ได้รับการคัดเลือกแล้วเท่านั้น
ใช้ insynchronization 2หลังจากขั้นตอนวิธี samd วิเคราะห์ประเภทของ inconsistencyusing ธงค่าของทั้งสองข้อความย่อย
ตาราง คีย์หลักที่ใช้ในการระบุแถว ดังนั้น การประสาน 3 จะดำเนินการระหว่างสองข้อมูล
ตารางละไม่พิมพ์ เมื่อเสร็จสิ้นการประสาน , ธงของตรงแถวถูกตั้งค่าเป็น 0 ใน
โต๊ะเมสเซสไดเจสต์ อุปกรณ์เคลื่อนที่ส่วนใหญ่มีทรัพยากรจำกัดและ loadon อุปกรณ์ควรจะลด
ในระหว่าง synchronizationprocess . ตามตารางทั้งหมดในฐานข้อมูลผักไผ่ตั้งอยู่ฝั่ง
ประหยัดพื้นที่จัดเก็บของอุปกรณ์ themobile ดังแสดงในรูปที่ 3 ในขณะที่มี loadcaused โดยการเข้าถึงเครือข่ายในการประสาน
1 แต่ขนาดจะเล็กกว่าของ mcdt ข้อมูลเซิร์ฟเวอร์ นอกจากนี้ mcdt ข้อมูล
ที่จำเป็นสำหรับการส่งเพื่อให้แต่ละ theserver 1 ฐานข้อมูลด้านในกระปุกเดียวผ่าน wirednetwork
โดยใช้แบบสอบถาม SQL มีความสามารถในการประมวลผลแบทช์ หลังจากจุดนี้ ไม่มีการโหลดบนอุปกรณ์มือถือ ,
แสดงโหลดที่เกิดจากการเข้าถึงเครือข่ายในเวที thesynchronization 1 . samd ประสาน
ขั้นตอนวิธีจะต้องเก็บข้อ จำกัด ดังต่อไปนี้
การแปล กรุณารอสักครู่..