本發明涉及文件傳輸技術領域,尤其涉及一種分布式文件傳輸方法及傳輸平臺。
背景技術:
信息化系統之間的數據傳輸主要通過WebService應用程序進行,但不能解決10M以上非結構化數據文件傳輸的相關業務,而且也無法支持非WebService應用程序的集成文件;對于集成類項目中大量的非結構化數據,在國防保密單位限制文件傳輸協議(File Transfer Protocol,FTP)使用的情況下,其非結構化數據的文件傳輸更是舉步維艱;在大數據的發展趨勢下,數據中心的建設更是大勢所趨,其中必然包含大量非結構化數據的采集、存儲和應用,因此將文件數據采集到數據中心需要依賴文件傳輸系統的支持,對于集團型企業構建多級數據中心并實現多級數據中心之間的非結構化數據傳輸,更加需要依賴傳輸性能高、功能靈活的文件傳輸系統來解決非結構化數據的傳輸。
目前的文件傳輸系統,大部分利用依靠文件傳輸協議(File Transfer Protocol,FTP)進行文件傳輸,但是這種文件傳輸服務效率低,而且只能針對10M以下的非結構化文件的傳輸;為滿足當今大數據時代批量文件傳輸服務的需求,文件傳輸服務必須提高服務效率、支持大批量包括結構化和非結構化的文件同時上傳、下載服務,并且可下載到固定目錄中,該目錄也可以人為維護更改;另外,為應對國防企業等特殊環境需求的安全性,在企業數據傳輸工作中包括大量的非結構化文件需要在系統之間傳輸,目前尚沒有單位研發出支持10M以上文件并能嚴格奉行國防保密且支持非結構化數據傳輸的系統。
技術實現要素:
針對上述情況,本發明目的在于提供一種分布式文件傳輸方法及傳輸平臺,它利用管理中心進行系統管理、節點管理和任務管理實現文件傳輸從而克服了現有技術不能進行10M以上非結構化數據文件傳輸和傳輸效率低等問題;并且整體結構科學合理,安裝和操作方便,提升了數據傳輸的穩定性和安全性,市場前景廣闊,便于推廣使用。
為實現上述任務,一種分布式文件傳輸方法,它包括以下步驟:
①上傳文件:源業務系統通過客戶端開發包提供的應用程序編程接口API獲取管理中心安排的節點、文件包目錄和事件,然后將文件上傳到服務端對應的源節點上;
②產生任務:目標業務系統通過管理中心調用xfire程序配置文件傳輸任務;
③文件傳輸:服務端的服務程序可獲取管理中心配置的任務,并完成源節點到目標節點的文件傳輸;
④文件下載:目標業務系統通過客戶端開發包中提供的應用程序編程接口API獲取服務端目標節點并下載相關文件。
為實現本發明結構、效果優化,其進一步的措施:所述步驟④中文件下載包括目標業務系統通過客戶端開發包中提供的應用程序編程接口API獲取服務端目標節點并完成單文件下載或批量文件下載。
所述步驟②中產生任務包括管理中心調用xfire程序配置文件刪除任務,并由服務端完成文件刪除。
本發明還提供一種分布式文件傳輸平臺,它包括源業務系統、目標業務系統、服務端和管理中心并經局域網相互連接;所述管理中心包括相互連接的系統管理模塊、節點管理模塊、任務管理模塊、日志管理模塊和事件管理模塊;所述源業務系統和目標業務系統包括客戶端開發包。
所述系統管理模塊包括用戶管理、角色管理、資源管理和端口管理子件,主要完成對分布式文件傳輸系統中資源權限的管理,根據不同的角色管理不同的系統資源,為不同的人員分配不同的角色,實現對資源的細顆粒度的權限配置。
所述節點管理模塊包括新增節點、修改節點、刪除節點和查詢節點子件,主要完成對服務端中各個節點的管理。
所述任務管理模塊包括新增任務、修改任務、刪除任務和查詢任務子件,主要完成對服務端中各個節點之間的任務配置,包括根據定時后者事件機制配置文件傳輸任務。
所述日志管理模塊包括查詢日志、刪除日志和查看日志子件,主要完成管理業務系統和服務端的業務級及系統級日志。
所述事件管理模塊包括新增事件、修改事件、刪除事件和查詢事件子件,主要完成配置應用系統和文件傳輸系統之間的事件觸發。
本發明提供一種分布式文件傳輸方法及傳輸平臺,它包括源業務系統通過客戶端開發包提供的應用程序編程接口API獲取管理中心安排的節點、文件包目錄和事件,然后將文件上傳到服務端對應的源節點上;目標業務系統通過管理中心調用xfire程序配置文件傳輸任務;服務端的服務程序可獲取管理中心配置的任務,并完成源節點到目標節點的文件傳輸;目標業務系統通過客戶端開發包中提供的應用程序編程接口API獲取服務端目標節點并下載相關文件的技術方案;它利用管理中心進行系統管理、節點管理和任務管理實現文件傳輸從而克服了現有技術不能進行10M以上非結構化數據文件傳輸和傳輸效率低等問題,并且整體結構科學合理,安裝和操作方便,提升了數據傳輸的穩定性和安全性,具有顯著的經濟效益和社會效益。
本發明相比現有技術所產生的有益效果:
Ⅰ、本發明采用管理中心實現文件傳輸的技術方案,可實現管理中心進行統一的資源目錄定義,并對服務端節點進行目錄授權、目錄同步,管理中心還可按照目錄、服務端節點、定時器設定目錄傳輸機制,包括全量更新、增量更新;
Ⅱ、本發明采用采用管理中心實現文件傳輸的技術方案,每一個服務端節點設定為一個獨立的文件服務器,采用管理中心分配的資源目錄,服務端節點所在的服務器通過業務系統客戶端進行文件的上傳、下載、瀏覽、檢索,服務端節點的權限由管理中心進行統一授權管理(例如同一目錄下的文件應該由一個服務端來負責上傳、更新);
Ⅲ、本發明采用采用管理中心實現文件傳輸的技術方案,服務端節點根據管理中心設定的任務與其他服務端的目錄(含子目錄以及下屬文件)進行傳輸,可以一對一傳輸,也可以實現一對多傳輸;
Ⅳ、本發明采用管理中心實現文件傳輸的技術方案,業務系統客戶端提供API包與應用程序實現文件/文件包采集、文件/文件包分發的接口集成,而應用程序通過API可實現事件觸發的文件傳輸,從而實現主數據系統與外部系統的“數據+文件”傳輸;
Ⅴ、本發明采用管理中心實現文件傳輸的技術方案,解決了目前企業數據集成、文件傳輸的窘境,填補了大型非結構化數據傳輸軟件缺失的空白,完全切合企業信息化數據傳輸的業務需求,符合信息化飛速發展的需求;
Ⅵ、本發明整體結構科學合理,安裝和操作方便,提升了數據傳輸的穩定性和安全性,經各模塊和軟件的協調配合,從而實現10M以上結構化和非結構化的文件傳輸,并且傳輸效率高,具有顯著的經濟效益和社會效益。
本發明廣泛適用于各種結構化和非結構化的文件傳輸服務使用。
下面將參照圖,對本發明作進一步詳細的說明。
附圖說明
構成本申請的一部分的附圖用來提供對本發明的進一步理解,本發明的示意性實施例及其說明用于解釋本發明,并不構成對本發明的不當限定。
圖1為本發明的業務流程結構示意圖。
圖2為本發明的數據傳輸結構示意圖。
圖3為本發明的應用技術結構示意圖。
圖4為本發明的功能模塊結構示意圖。
圖5為本發明的硬件連接結構示意圖。
具體實施方式
如圖1和圖2所示,本發明的業務流程主要包括源業務系統調用客戶端API完成文件上傳,獲取節點及文件包目錄、事件,應用系統調用xfire完成任務下達,目標業務系統調用客戶端API完成單文件下載,目標業務系統調用客戶端API批量文件下載,應用系統調用API刪除文件。
參照附圖,本發明主要目的是實現用戶通過客戶端軟件下載局域網內的文件服務器上的文件,文件按類別可分為NX模板文件、NX材料文件、ProE模板文件、ProE材料文件、Ansys模板文件、Ansys材料文件、Altium模板文件、Altium元器件文件、Altium接插件文件和AutoCAD模板文件,用戶可以選擇下載某一類或者多類文件;下載的文件存放在用戶本地,存放的目錄可以配置,實現自動化的歸集要求文件,從而實現包括“文件管理中心--文件應用終端節點”的地址/目錄間文件傳輸;“系統--系統”的點對點文件傳輸包括文件傳輸的發起方是系統通過接口提供需要發送的文件,文件的接收方同樣通過接口實現文件接收;“系統--目錄”或“目錄--系統”的傳輸包括輸入或輸出一方為目錄、另一方為系統接口的模式;“數據+文件傳輸”包括針對主數據與外部系統的集成,不僅是單純的文件傳輸,需要將結構化的數據內容與文件數據內容進行組合、關聯,實現傳輸結構化數據與文件數據的匹配;并且支持大于10M以上結構化與非結構化文件的傳輸。
如圖3所示,本發明分布式系統管理中心采用瀏覽器/服務器模式(Browser/Server)結構,用戶通過瀏覽器對分布式文件傳輸平臺進行管理;數據庫采用Oracle 11g、Web開發采用Springmvc+Mybatis整合;服務端的節點服務程序使用C++編寫,基于TCP/IP協議,使用Socket完成節點間文件傳輸;業務系統客戶端開發包使用C++編寫,基于TCP/IP協議,使用Socket向服務端節點上傳或下載文件。
如圖4所示,本發明中源業務系統上傳文件到節點、節點之間進行文件傳輸、目標業務系統在節點下載文件,實現系統的自由配置需要管理中心具有系統、節點、任務、事件和日志管理功能,該管理中心的各功能模塊如下:1)系統管理模塊包括用戶管理、角色管理、資源管理和端口管理等子件,主要完成對分布式文件傳輸系統中資源權限的管理,根據不同的角色管理不同的系統資源,為不同的人員分配不同的角色,實現對資源的細顆粒度的權限配置;2)節點管理模塊包括新增節點、修改節點、刪除節點和查詢節點等子件,主要完成對服務端中各個節點的管理;3)任務管理模塊包括新增任務、修改任務、刪除任務和查詢任務等子件,主要完成對服務端中各個節點之間的任務配置,包括根據定時后者事件機制配置文件傳輸任務;4)日志管理模塊包括查詢日志、刪除日志和查看日志等子件,主要完成管理業務系統和服務端的業務級及系統級日志;5)事件管理模塊包括新增事件、修改事件、刪除事件和查詢事件等子件,主要完成配置應用系統(如PDM、MES、主數據)和文件傳輸系統之間的事件觸發。
如圖5所示,本發明分布式文件傳輸平臺包括源業務系統、目標業務系統、服務端和管理中心并經局域網相互連接;所述管理中心包括相互連接的系統管理模塊、節點管理模塊、任務管理模塊、日志管理模塊和事件管理模塊;所述源業務系統和目標業務系統包括客戶端開發包;所述服務端可設置一個或多個,既可以通過一個服務端同時為多個源業務系統和目標業務系統上傳或下載文件,也可以通過多個服務端一一對應為源業務系統和目標業務系統上傳或下載文件。
結合附圖,本發明的實施例一:在源業務系統中導入tp-api.jar包,在環境變量PATH中添加該包具體路徑,接著源業務系統通過客戶端tp-api.jar包中提供的API將文件上傳到服務端對應的源節點上,具體操作為:int i=TPClient.uploadFile(①"191.168.2.205",②45678,③"mdm",④downcode,⑤savePath);參數說明:①TPNODE所在服務器IP,②局域網定義的端口號,③上傳文件所放目錄,④使用者指定不重復的下載碼(若為空不指定則表示分布式系統幫你生成并返還下載碼),⑤上傳文件所在應用服務磁盤目錄(例如:ERP系統中附件123.doc在D:/erp/files/123.doc)。
結合附圖,本發明的實施例二:管理中心會根據具體業務需求新增對應節點,每一個節點對應TPNODE中唯一文件夾,例如PDM節點對應TPNODE中PDM文件夾,源業務系統客戶端上傳附件會放在指定的源節點中,在“事件管理”中配置應用系統(如PDM、MES、主數據)和文件傳輸系統之間的事件觸發,具體操作為:PDM向MES系統中添加人員信息的分發事件,在“任務管理”中進行文件傳輸的任務配置功能,例如:當PDM中新增人員信息時,會將信息附件放到PDM節點中,同時會觸發“任務管理”中具體任務,PDM節點中人員信息附件會自動同步傳輸到MES節點中,實現服務端平臺節點間的文件傳輸。
結合附圖,本發明的實施例三:在目標業務系統中導入tp-api.jar包,在環境變量PATH中添加該包具體路徑,接著目標業務系統通過客戶端tp-api.jar包中提供的API將文件從服務端對應的目標節點下載相關文件,具體操作為:1)單文件下載,int i=TPClient.downSingleFile(①"191.168.2.205",②45678,③"mdm",④"123.GIF",⑤"D:/apache-tomcat-6.0.35/webapps/dfta/down");2)多文件下載,int i=TPClient.downBatchFile(①"191.168.2.205",②45678,③"mdm",④"D:/apache-tomcat-6.0.35/webapps/dfta/down");參數說明:①TPNODE所在服務器IP,②局域網定義的端口號,③文件所在節點包,④文件名稱(例如:123.doc--根據主數據接口文檔中約定好附件的標示進行下載),⑤下載到本地目錄保存。
本發明在文件傳輸過程中采用node節點加密,在node節點上的文件采用RC4對稱算法用變長密鑰對大數據進行加密,一般通過調用API上傳文件完畢后對文件進行RC4對稱算法加密,而系統可通過調用API在node節點上下載文件進行解密;所述node節點支持集群功能并配置主服務節點及子服務節點,當主服務節點掛掉后子服務節點自動承擔主服務節點繼續接受附件請求服務;為了防止入侵或檢測,客戶端API與服務端node節點通訊時客戶端API會生成一個32位驗證碼(md5+123+321生成碼)和服務端生成的32位驗證碼進行匹配,若相同則認證通過才可上傳或下載文件。
以上所述僅為本發明的優選實施例而已,并不用于限制本發明,對于本領域的技術人員來說,本發明可以有各種更改和變化;凡在本發明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發明的保護范圍之內。