2010-01-24 48 views
2

我們的計劃需要從/向不同程序導入/導出數據,每個程序都來自特定的獨立屬性。 這些公司大多會發送2個文本文件:第一個包含數據內容,第二個包含描述。 假設這個例子:我需要與文本格式的不同程序交換數據你有什麼建議?

內容文件:TheArtofDeceptionKevin11.53

Description file: offset[0..16] -> Book name 
        offset[17..21] -> Author 
        offset[22..27] -> Price 

爲了解決這個問題,我使用了一個基於傑森配置文件,每家公司,並以提取數據我會解析jason,提取偏移量信息和導入...但最近我想爲這個使用數據庫,讓我們說定義一個主鍵爲(公司,docType,fieldname)和列爲(開始,結束)

您對最後的設計有什麼看法? 我希望有人已經解決了這個問題,並幫助我想出一個好的解決方案。

謝謝

好,我居然通過使用數據庫,解析這些配置文件爲每個公司和商店說明在DB的事實意思。這樣我想,我不需要每次我想從一個特定的已知公司導入數據時都要解析配置文件。 因此,所有的交換文件只被解析一次並存儲到數據庫中,並且每當我需要從新的內容文件導入數據時,我只會查詢數據庫並提取偏移量。

回答

1

這取決於;)(我假定你的意思json和Jason不

的數據交換是XML,其中JSON是一個子集的主要使用情形之一的這樣一個共同的交換格式可以使用常用工具來操縱

但是,如果數據是定期的結構,那麼你可以使用數據庫如交換格式,但沒有好的格式,因此你不能複製MySql數據庫文件。分隔或CSV文件,但它們包含的數據不如XM定義的那麼好L - 例如非ASCII字符如何表示?而且這個文件不會包含主鍵信息。如果您可以同意所有參與者的確切格式,那麼此傳輸方法將使用比XML更小的文件,並且處理速度更快,但是如果您擁有大量數據,則這只是一個問題。

因此,我會堅持XML/JSON格式,除非傳輸或處理的速度會對流程造成顯着影響。

1

如果您想擁有永久性存儲,而我收集的不是您的目標,那麼使用數據庫系統主要非常有用。你可能感興趣的是某種消息排隊系統,它可以安排你的各種應用程序之間的可靠傳輸。至於數據格式,XML和JSON之間的決定主要是一個口味問題和一個問題,您的應用程序和傳輸機制可以處理得最好,除非您有興趣使用某種模式語言來驗證XML,這是目前沒有廣泛的JSON實踐。

+0

請您注重消息排隊系統! – ZeroCool 2010-01-24 18:47:41

相關問題