999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

分布式平臺數據同步軟件的分析與設計

2021-06-28 01:04:50謝劍
現代信息科技 2021年1期

摘? 要:分布式架構在互聯網企業中已得到廣泛應用,各平臺間的數據如何同步是應用中需解決的關鍵問題,結合“面向對象編程(高級)”課程內容,對通用數據同步軟件進行了分析與設計。該設計主要包含待同步記錄掃描、數據通知、數據接收、狀態查詢以及相應的數據庫操作、參數配置、日志記錄等功能,可實現數據的安全高效同步,以便匯總統計分析,支撐業務發展,具有較高實用價值。

關鍵詞:分布式平臺;數據同步;安全高效

中圖分類號:TP311.5? ? ? 文獻標識碼:A 文章編號:2096-4706(2021)01-0018-04

Analysis and Design of Data Synchronization Software on Distributed Platform

XIE Jian

(Hunan College of Information,Changsha? 410200,China)

Abstract:Distributed architecture has been widely used in internet enterprises. How to synchronize data among various platforms is the key issue that needs to be solved in application. Combined with the course content of the “Object-Oriented Programming(Advanced Level)”,general data synchronization software is analyzed and designed. The design mainly includes the following functions,such as scanning of records to be synchronized,data notification,data receiving,status inquiry,and corresponding database operations,parameter configuration,log records,etc.,which can achieve safe and efficient synchronization of data,so as to make summarization and statistical analysis,support business development,it has higher practical value.

Keywords:distributed platform;data synchronization;safe and efficient

0? 引? 言

分布式系統架構是指由多臺計算機和通信軟件通過計算機網絡連接組成的結構,是建立在網絡之上的軟件系統,具有高度的內聚性和透明性。在該系統中一臺服務器的系統崩潰不會影響到其他的服務器,且容易部署上線新功能,由于有多臺計算機的計算能力,該系統比其他系統的處理速度更快,正因為分布式系統的的這些優點,使其在互聯網企業中得到了廣泛的應用。但是由于其分布式的特性,也使得各個平臺的數據無法與其他平臺共享,不便于統計分析,易產生業務上的風險,因此需要一個數據同步軟件來將各個平臺上的數據匯總到一個總平臺,總平臺的數據更新也可以及時更新到各個分平臺,從而達到數據共享的目的。

作者通過對數據同步軟件的分析與設計,使學生加深對“面向對象編程(高級)”課程相關知識點的理解與掌握,增強軟件架構設計能力。

1? 系統需求分析

根據實際需求,將提供更新數據的系統稱為更新系統,將接收數據并更新自身數據的系統稱為被更新系統,同步軟件需要在兩個系統上都進行部署。軟件主要由掃描模塊、通知模塊、接收通知模塊、接收查詢模塊、數據庫操作模塊、配置模塊、日志模塊七個模塊組成。掃描模塊根據配置文件的配置信息掃描更新系統上指定表是否有符合時間要求的記錄更新,或插入并生成對應通知隊列表記錄等待通知;通知模塊根據通知隊列表記錄及配置信息,向被更新系統上的接收模塊發送同步數據,并對相應通知隊列記錄進行處理;接收通知模塊用于接收更新系統發送的同步數據,并在IP白名單檢查、表白名單檢測、簽名校驗等多重校驗通過后更新至數據庫保存;接收查詢模塊用于查詢通知隊列記錄同步狀態,以及掃描模塊是否運行正常;數據庫操作模塊負責數據庫相關增刪改查操作,實現及數據庫性能優化處理;配置模塊負責配置文件信息的讀取及修改操作;日志模塊主要負責記錄通知,及接收模塊中關鍵點的日志信息,便于在出現問題后及時查找并解決問題。

2? 系統詳細設計

2.1? 系統功能結構設計

軟件主要由7個功能模塊組成,功能結構圖如圖1所示,下文將從流程圖及類圖的角度對各個模塊進行闡述說明。

(1)掃描模塊。掃描模塊是一個定時執行程序,按照設定的時間定時啟動、執行,然后退出,該模塊部署在更新系統上。掃描模塊根據設定的規則掃描出指定表中符合條件的記錄,并生成對應的通知隊列記錄,以便由通知模塊完成數據的同步。分布式平臺涉及的業務往往具有多變性,短時間內某條記錄的狀態可能發生多次改變,為了避免由這種短時間內記錄多次變化,造成同一條記錄多次被同步的現象,對掃描進行了條件限制,即只有表中當前最新的記錄更新時間戳與配置文件中記錄的上次掃描時間戳間的差值大于指定間隔時間時才進行處理,否則不做任何操作,如此可在一定程度上降低資源消耗,提升性能。若需獲取表中當前最新的記錄更新時間戳,只需要將上次掃描時間戳作為查詢條件進行搜索,并將結果按更新時間降序排序即可,結果集中的第一條記錄中就有所需時間戳。當符合條件的記錄都生成對應的通知隊列記錄后,需要將配置文件中的上次掃描時間戳更新為本次掃描中記錄的最新更新記錄時間,以避免記錄的重復同步。模塊功能流程圖如圖2所示。

(2)通知模塊。通知模塊是個生產者—消費者模式程序,部署在更新系統上。生產者程序負責從通知隊列表中根據已通知次數及下次通知時間條件篩選出符合要求的記錄并分配給消費者程序處理,該模式下的生產者只有一個,其每次生產的最大記錄數可以通過配置文件配置,消費者可以有多個,其數目也可配置,以此提高并發處理效率,但是出于對系統的安全及穩定性考慮,最大數目一般不超過1 000。模塊可配置同步指定表中的所有字段或某些字段信息,但是若某字段設計為非空字段時則必須同步,考慮到實際環境下被更新系統中待同步的目標表的名稱和當前被掃描表的名稱可能不一致,對應字段也可能不一致,因此被掃描表中需同步字段、待同步目標表的名稱以及目標表待同步的字段都應可以通過配置文件進行設置,以便接收端能正常更新。由于通知隊列表中只會保存帶同步記錄的主鍵信息,因此還需要利用此主鍵信息去原始表中掃描需要同步的字段及其對應數值信息,并以鍵值對的形式拼接到字符串中,每次同步的記錄數較多,各個記錄之間以分號隔斷,以便接收模塊拆分解析。根據配置的地址發送數據,再根據返回的響應報文對通知隊列記錄進行處理。考慮到實際更新系統的記錄數據量大且增速快,為保證數據同步的時效性,在HTTP通信交互實現上采用完成端口異步IO模型實現,該模型是Windows平臺下效率最高的網絡通信模型,本模塊采用該網絡模型能最大限度地提升同步效率,避免產生性能瓶頸。模塊功能流程圖如圖3所示。

(3)接收通知模塊。接收通知模塊是一個HTTP請求服務端程序,用于接收并處理各個HTTP請求發送端發送的報文,此模塊部署在待更新系統上。為了處理高并發的HTTP請求,本模塊同樣采用完成端口來實現報文的交互處理。除了效率問題,安全問題也是本模塊需要重點考慮的因素。因此,接收通知模塊在啟動時就將IP白名單、同步表白名單、簽名秘鑰等校驗用信息讀取到內存,在收到同步數據后首先對來源IP進行白名單校驗,再對待同步的表名進行白名單校驗,然后根據接口協議進行簽名校驗,通過后再對數據串進行防SQL注入處理,無問題后最后將接收數據拼接成SQL語句進行數據庫操作,否則不做任何處理,無論是否成功都需按照接口協議返回相應響應數據。接收通知模塊功能流程圖如圖4所示。

(5)接收查詢模塊。接收查詢模塊也是一個服務端程序,負責監聽網絡端口,接收查詢請求并返回結果數據。查詢返回的數據有兩種,一種是通知隊列表中未通知和通知失敗的記錄條數,此類數據用于監控通知模塊是否工作正常,當上述兩類記錄達到一定數目時,就應進行檢查,及時發現并解決問題。其中未通知記錄的定義是:狀態為未通知且通知次數等于0,請求時間大于1分鐘的記錄;通知失敗記錄的定義是:通知次數大于等于6的記錄。另一種返回的數據是掃描模塊配置文件中的上次掃描時間戳,通過該時間戳是否正常更新來判斷掃描模塊是否假死。接收查詢模塊功能流程圖如圖5所示。

(6)數據庫操作模塊。數據庫操作模塊實現與MySQL數據庫連接、增刪改查功能以及高并發情況下性能優化處理,相關類主要有兩個,如圖6所示,一個是CDataBase類,其中封裝了MySQL數據庫的基本API函數,實現基本的數據庫增刪改查等操作功能。另一個為CDBConncetPool類,該類繼承自CDataBase類,并在其基類基礎上增加了數據庫連接池的功能,即在程序啟動時就將數據庫連接對象都創建好,并保存到隊列中,直到程序退出再釋放,避免頻繁的進行數據庫連接及釋放操作,降低在高并發的數據庫操作時造成性能瓶頸的風險,此類技術在實際工作中應用廣泛。

(7)配置及日志模塊。配置模塊主要負責各功能模塊配置文件信息的讀取與更新,避免將系統參數都固定在代碼中,造成代碼頻繁修改的問題,其類圖如圖7所示,定義了幾個主要的配置文件操作函數。

日志模塊用于在關鍵操作的節點進行日志的記錄,比如網絡請求的發送與接收處、數據庫的相關操作處等,便于分析和解決問題,對后臺程序以及業務功能模塊異常時的問題排查及解決有重要作用。日志的級別可配置,分為危險、錯誤、信息、調試等級別,可根據需要靈活調用,日志信息的記錄時間可以精確到毫秒,以便于精確查找問題發生的時間點,其類圖如圖8所示。

2.2? 系統數據庫設計

軟件主要功能是同步已有表的數據,未涉及其他業務,因此設計的表只有通知隊列記錄表,用于管理指定表的待同步記錄,主要字段有待同步記錄的主鍵信息、已通知次數、下次通知時間等。

3? 結? 論

本文分析了分布式平臺數據同步軟件的需求,并對軟件設計進行了詳細描述。若實現后投入使用,可幫助企業解決分布式架構下各個平臺之間的數據同步問題,高效安全地完成數據匯總,以便統計分析,為企業決策制定提供依據。本案例應用在了“面向對象編程高級”專業課程中,通過講解數據同步軟件的分析和設計過程,促進學生對知識點的掌握與理解,提高實踐動手能力。

參考文獻:

[1] 吳潔明,方英蘭.軟件工程實例教程 [M].北京:清華大學出版社,2010.

[2] 王英英.MySQL 8從入門到精通 [M].北京:清華大學出版社,2019.

[3] 王琦.電子辦稅服務系統中數據同步軟件的設計與實現 [D].南京:南京理工大學,2011.

[4] 羅智華.新時期計算機通信軟件架構設計與分析 [J].數字通信世界,2015(10):25.

[5] 史陽,楊坤德,楊益新,等.水聲數據采集與分析軟件的設計與實現 [J].電聲技術,2012,36(9):49-51+78.

作者簡介:謝劍(1987.06—),男,漢族,湖南長沙人,專任教師,初級職稱,碩士,研究方向:計算機應用,圖像處理。

主站蜘蛛池模板: 第一页亚洲| 99re视频在线| 免费毛片网站在线观看| 欧美成人aⅴ| 女人18一级毛片免费观看| 免费无遮挡AV| 成人午夜福利视频| 日韩AV手机在线观看蜜芽| 亚洲精品视频免费| 亚洲国产成熟视频在线多多| 精品久久久无码专区中文字幕| 日韩中文无码av超清| 国产免费精彩视频| 丝袜高跟美脚国产1区| 亚洲AⅤ波多系列中文字幕 | 日韩二区三区无| 孕妇高潮太爽了在线观看免费| 任我操在线视频| 熟女日韩精品2区| 一区二区偷拍美女撒尿视频| 国产成人精品午夜视频'| 蜜桃视频一区| 免费国产一级 片内射老| 色综合久久无码网| 亚洲有无码中文网| 欧美一级片在线| 九九九九热精品视频| 日韩久草视频| 91精品啪在线观看国产91| 最新痴汉在线无码AV| 色久综合在线| 中文字幕佐山爱一区二区免费| 亚洲免费福利视频| 8090成人午夜精品| 日韩高清一区 | 成年网址网站在线观看| 无码视频国产精品一区二区| 亚洲无码精彩视频在线观看| a级免费视频| 国产精品护士| 亚洲专区一区二区在线观看| 91精品久久久无码中文字幕vr| 亚洲精品无码专区在线观看| 2020最新国产精品视频| 91精品专区| 99视频全部免费| 欧美精品色视频| 日韩123欧美字幕| 久久国产V一级毛多内射| 国产真实自在自线免费精品| 久草视频福利在线观看| 日韩精品久久无码中文字幕色欲| 国产农村妇女精品一二区| 激情乱人伦| 成人福利免费在线观看| 国产福利拍拍拍| 在线无码私拍| 91亚瑟视频| 欧美yw精品日本国产精品| 亚洲精品视频在线观看视频| 欧美高清视频一区二区三区| a亚洲视频| 亚洲综合色婷婷中文字幕| 国产精品爆乳99久久| 一级爱做片免费观看久久| 欧美不卡二区| 欧美成a人片在线观看| 久久午夜夜伦鲁鲁片无码免费| 尤物在线观看乱码| 欧美另类精品一区二区三区| 国产福利小视频高清在线观看| 免费播放毛片| 国精品91人妻无码一区二区三区| 国产一级毛片在线| 亚洲天堂伊人| 9丨情侣偷在线精品国产| 精品91视频| 国产精品毛片一区| 精品久久久久成人码免费动漫 | 国产爽歪歪免费视频在线观看 | 欧美日本二区| 1级黄色毛片|