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—),男,漢族,湖南長沙人,專任教師,初級職稱,碩士,研究方向:計算機應用,圖像處理。

主站蜘蛛池模板: 久久不卡国产精品无码| 中文字幕无码中文字幕有码在线| 四虎成人免费毛片| 毛片免费观看视频| 最新亚洲人成网站在线观看| 在线国产你懂的| 成人蜜桃网| 六月婷婷激情综合| 夜夜操天天摸| a免费毛片在线播放| 亚洲人成网7777777国产| 亚洲综合色区在线播放2019| 欧美亚洲一区二区三区在线| 亚洲欧洲日产国产无码AV| 手机精品视频在线观看免费| 99人体免费视频| 国产va在线观看免费| 美女被躁出白浆视频播放| 日韩视频福利| 久久综合成人| 欧美日本在线播放| 亚洲一区毛片| 亚洲国产中文欧美在线人成大黄瓜 | 久久免费视频播放| 久久久久夜色精品波多野结衣| 日韩欧美色综合| 中国毛片网| 成人在线观看一区| 欧美日韩一区二区三| 免费99精品国产自在现线| 久久国产精品嫖妓| 蜜臀AV在线播放| 中文字幕欧美成人免费| 日韩最新中文字幕| 国产一级无码不卡视频| 精品综合久久久久久97超人| 97国产成人无码精品久久久| 99热这里都是国产精品| 亚洲精品动漫| 成人av专区精品无码国产| 国产黄色视频综合| 亚洲综合亚洲国产尤物| 精品人妻一区二区三区蜜桃AⅤ| 亚洲av日韩av制服丝袜| 天天摸夜夜操| 欧美三级不卡在线观看视频| 女人一级毛片| 99热这里只有精品在线观看| 中文天堂在线视频| 国产91小视频| 亚洲欧美一区二区三区麻豆| 亚洲成人播放| 国产精品成人AⅤ在线一二三四| 四虎永久免费地址在线网站| 久久成人免费| 日韩无码黄色| 国产一在线| 国产精品综合久久久 | 热这里只有精品国产热门精品| 波多野结衣一区二区三区AV| 一区二区午夜| 无码综合天天久久综合网| 国产黄网永久免费| 精品国产一区91在线| 中文字幕欧美日韩高清| 亚洲av无码片一区二区三区| 91久久偷偷做嫩草影院电| 黄色在线网| 婷婷激情五月网| 99re免费视频| 国产福利小视频高清在线观看| 欧美精品亚洲精品日韩专区| 2018日日摸夜夜添狠狠躁| 亚洲成a人片在线观看88| 国产69精品久久久久妇女| 黄色一级视频欧美| 色婷婷综合在线| 国内99精品激情视频精品| 亚洲日韩久久综合中文字幕| 国产精彩视频在线观看| 久久黄色小视频| 91精品久久久无码中文字幕vr|