欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

網(wǎng)絡數(shù)據(jù)的處理方法及裝置、網(wǎng)絡數(shù)據(jù)的發(fā)布方法及系統(tǒng)的制作方法

文檔序號:7981341閱讀:256來源:國知局
網(wǎng)絡數(shù)據(jù)的處理方法及裝置、網(wǎng)絡數(shù)據(jù)的發(fā)布方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明提供了一種網(wǎng)絡數(shù)據(jù)的處理方法及裝置、網(wǎng)絡數(shù)據(jù)的發(fā)布方法及系統(tǒng),其中,該網(wǎng)絡數(shù)據(jù)的處理方法包括:根據(jù)第一配置信息從不同形式的網(wǎng)絡應用程序接口API獲取待發(fā)布的原始網(wǎng)絡數(shù)據(jù),其中,第一配置信息包括:用于獲取原始網(wǎng)絡數(shù)據(jù)的來源信息;根據(jù)第二配置信息將原始網(wǎng)絡數(shù)據(jù)處理為不同發(fā)布形式的網(wǎng)絡數(shù)據(jù)文件。本發(fā)明解決了相關(guān)技術(shù)中第三方客戶端需要編寫不同的代碼來處理不同網(wǎng)絡API數(shù)據(jù)的問題,從而在提高數(shù)據(jù)處理效率的同時,減少了代碼編寫人員的工作量。
【專利說明】網(wǎng)絡數(shù)據(jù)的處理方法及裝置、網(wǎng)絡數(shù)據(jù)的發(fā)布方法及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信領(lǐng)域,具體而言,涉及一種網(wǎng)絡數(shù)據(jù)的處理方法及裝置、網(wǎng)絡數(shù)據(jù)的發(fā)布方法及系統(tǒng)。
【背景技術(shù)】
[0002]在網(wǎng)絡的發(fā)展中,出現(xiàn)了網(wǎng)絡應用程序接口(Application Program Interface,簡稱為API)即由數(shù)據(jù)提供者(網(wǎng)站)通過網(wǎng)絡API發(fā)布數(shù)據(jù),各種客戶端(桌面客戶端、移動終端客戶端、第三方網(wǎng)站)通過網(wǎng)絡API獲得數(shù)據(jù)并再處理呈現(xiàn)給最終用戶。即:數(shù)據(jù)被存儲在它的提供者那里,用網(wǎng)絡API獲得,而數(shù)據(jù)的傳播和呈現(xiàn)則由第三方負責。
[0003]網(wǎng)絡API的形式是多種多樣的,一般是提供一個統(tǒng)一資源定位符(UniformResource Locator,簡稱為URL)地址,和約定傳入?yún)?shù),當使用者訪問這個URL地址并傳入正確的參數(shù)時,服務器將網(wǎng)絡API的運算結(jié)果用可擴展標記語言(Extensible MarkupLanguage,簡稱為XML),JSON等格式返給使用者。其他的可以作為網(wǎng)絡API傳遞運算結(jié)果的格式還有 RSS Resource Sharing System 資源共享系統(tǒng) RSS、S0AP(Simple Object AccessProtocol,簡單對象訪問協(xié)議)SOAP等。RSS主要應用于新聞、博客等發(fā)布,是一種出現(xiàn)的較早的格式,有自己專用的閱讀器。SOAP主要用于服務器之間的網(wǎng)絡API調(diào)用,可以認為是服務器之間的“交互語言”。
[0004]網(wǎng)絡API很好用,但是也有自己的不足。我們從以下方面來說:
[0005]一、站在數(shù)據(jù)提供者的角度來說,第三方(客戶端)對它的服務器的并行訪問壓力很重。因此,建設一個能提供網(wǎng)絡API的網(wǎng)站的門檻很高。
[0006]一方面,要讓眾多的第三方使用網(wǎng)絡API,就需要數(shù)據(jù)提供者的服務器的并行訪問能力非常出眾,否則很容易死機。要構(gòu)建起能支撐巨大并行訪問量的服務器需要很多資金,這是普通網(wǎng)站建設者做不到的。所以現(xiàn)在能提供網(wǎng)絡API的主要是大型網(wǎng)站。另一方面,如果普通網(wǎng)站建設者依靠購買大型網(wǎng)站提供的云計算服務來提供網(wǎng)絡API,就必須將自己的代碼和數(shù)據(jù)都存放在大型網(wǎng)站那里,一旦大型網(wǎng)站出現(xiàn)問題,對于普通網(wǎng)站自己是非常不利的。
[0007]二、站在第三方的角度來說,因為第三方客戶端缺乏自動處理網(wǎng)絡數(shù)據(jù)的手段,所以用網(wǎng)絡API編寫程序做的重復工作較多,編程壓力重。
[0008]目前要使用網(wǎng)絡API,第三方程序員就必須要編寫代碼。這是因為各種網(wǎng)絡API的來源、數(shù)據(jù)格式定義和參數(shù)定義均不相同,所以每當需要使用一個新的網(wǎng)絡API時,就必須編寫相應的代碼來訪問和處理數(shù)據(jù),這對程序員的壓力很重。而且,如果需要將來自于多個網(wǎng)絡API提供者的數(shù)據(jù)進行融合時,更是必須要編寫代碼來完成。
[0009]針對相關(guān)技術(shù)中上述至少之一的問題,目前尚未提出有效的解決方案。

【發(fā)明內(nèi)容】

[0010]本發(fā)明提供了一種網(wǎng)絡數(shù)據(jù)的處理方法及裝置、網(wǎng)絡數(shù)據(jù)的發(fā)布方法及系統(tǒng),以至少解決相關(guān)技術(shù)中第三方客戶端需要編寫不同的代碼來處理不同網(wǎng)絡API數(shù)據(jù)的問題。
[0011]根據(jù)本發(fā)明的一個方面,提供了一種網(wǎng)絡數(shù)據(jù)的處理方法,其包括:根據(jù)第一配置信息從不同形式的網(wǎng)絡應用程序接口 API獲取待發(fā)布的原始網(wǎng)絡數(shù)據(jù),其中,第一配置信息包括:用于獲取原始網(wǎng)絡數(shù)據(jù)的來源信息;根據(jù)第二配置信息將原始網(wǎng)絡數(shù)據(jù)處理為不同發(fā)布形式的網(wǎng)絡數(shù)據(jù)文件。
[0012]優(yōu)選地,根據(jù)第一配置信息從不同形式的網(wǎng)絡API獲取待發(fā)布的原始網(wǎng)絡數(shù)據(jù)包括:根據(jù)來源信息從不同形式的網(wǎng)絡API獲取待發(fā)布的原始網(wǎng)絡數(shù)據(jù),其中,來源信息包括:原始網(wǎng)絡數(shù)據(jù)的格式、獲取原始網(wǎng)絡數(shù)據(jù)的統(tǒng)一資源定位符URL、訪問URL的預設參數(shù)。
[0013]優(yōu)選地,根據(jù)第一配置信息從不同形式的網(wǎng)絡API獲取待發(fā)布的原始網(wǎng)絡數(shù)據(jù)包括:根據(jù)來源信息中定義的路徑信息通過XML路徑語言(XML Path Language,簡稱為XPATH)方式獲取原始網(wǎng)絡數(shù)據(jù)。
[0014]優(yōu)選地,根據(jù)第一配置信息從不同形式的網(wǎng)絡API獲取待發(fā)布的原始網(wǎng)絡數(shù)據(jù)之后,上述網(wǎng)絡數(shù)據(jù)的處理方法還包括:根據(jù)第一配置信息中的存儲信息將原始網(wǎng)絡數(shù)據(jù)存儲到數(shù)據(jù)庫中,其中,存儲信息包括:原始網(wǎng)絡數(shù)據(jù)將要存儲在數(shù)據(jù)庫中的數(shù)據(jù)庫表的預表名、數(shù)據(jù)庫表的版本號、原始網(wǎng)絡數(shù)據(jù)在數(shù)據(jù)庫中存儲時的名稱、原始網(wǎng)絡數(shù)據(jù)的存儲類型。
[0015]優(yōu)選地,根據(jù)第一配置信息中的存儲信息將原始網(wǎng)絡數(shù)據(jù)存儲到數(shù)據(jù)庫中包括:預表名對應著至少兩個數(shù)據(jù)庫表,根據(jù)預表名從預表名與數(shù)據(jù)庫表的真實表名的預設映射關(guān)系中確定出存儲原始網(wǎng)絡數(shù)據(jù)的數(shù)據(jù)庫表的真實表名,其中,確定出的數(shù)據(jù)庫表的真實表名為數(shù)據(jù)庫表中未被映射的數(shù)據(jù)庫表的真實表名;根據(jù)版本號和確定出的真實表名將原始網(wǎng)絡數(shù)據(jù)文件存儲到數(shù)據(jù)庫中。
[0016]優(yōu)選地,根據(jù)第一配置信息中的存儲信息將原始網(wǎng)絡數(shù)據(jù)存儲到數(shù)據(jù)庫中包括:在存儲信息中的存儲類型為時間類型的情況下,獲取原始網(wǎng)絡數(shù)據(jù)的原始時間格式;根據(jù)原始時間格式解析獲得原始網(wǎng)絡數(shù)據(jù)的時間;以預設時間格式將原始網(wǎng)絡數(shù)據(jù)按照時間順序存儲到數(shù)據(jù)庫中。
[0017]優(yōu)選地,根據(jù)預設的第一配置信息從不同形式的網(wǎng)絡API獲取待發(fā)布的原始網(wǎng)絡數(shù)據(jù)之后,上述網(wǎng)絡數(shù)據(jù)的處理方法還包括:在原始網(wǎng)絡數(shù)據(jù)為二進制文件的情況下,根據(jù)獲取原始網(wǎng)絡數(shù)據(jù)的鏈接地址獲取原始網(wǎng)絡數(shù)據(jù);將原始網(wǎng)絡數(shù)據(jù)存儲在本地文件系統(tǒng)中,并存儲發(fā)布原始網(wǎng)絡數(shù)據(jù)的新鏈接地址。
[0018]優(yōu)選地,根據(jù)預設的第二配置信息將原始網(wǎng)絡數(shù)據(jù)處理為不同發(fā)布形式的網(wǎng)絡數(shù)據(jù)文件包括:根據(jù)第二配置信息中的數(shù)據(jù)獲取方式獲取原始網(wǎng)絡數(shù)據(jù),其中,數(shù)據(jù)獲取方式包括:從數(shù)據(jù)庫中獲取原始網(wǎng)絡數(shù)據(jù)、通過指定的第一配置信息來獲取原始網(wǎng)絡數(shù)據(jù);根據(jù)第二配置信息中的預設數(shù)據(jù)形式將原始網(wǎng)絡數(shù)據(jù)處理為不同發(fā)布形式的網(wǎng)絡數(shù)據(jù)文件。
[0019]優(yōu)選地,根據(jù)第二配置信息從數(shù)據(jù)庫中獲取原始網(wǎng)絡數(shù)據(jù)包括:根據(jù)第二配置信息中的參數(shù)獲取方式獲取用于獲得原始網(wǎng)絡數(shù)據(jù)的參數(shù)信息,其中,參數(shù)獲取方式包括以下之一:接收攜帶有參數(shù)信息的請求消息,查詢存儲原始網(wǎng)絡數(shù)據(jù)時的預設映射關(guān)系獲取原始網(wǎng)絡數(shù)據(jù)的存儲信息,并作為參數(shù)信息;根據(jù)參數(shù)信息生成結(jié)構(gòu)查詢語言(StructuredQuery Language,簡稱為SQL)語句來從數(shù)據(jù)庫中獲取原始網(wǎng)絡數(shù)據(jù)。
[0020]優(yōu)選地,根據(jù)查詢存儲原始網(wǎng)絡數(shù)據(jù)時的預設映射關(guān)系獲取的參數(shù)信息來從數(shù)據(jù)庫中獲取原始網(wǎng)絡數(shù)據(jù)包括:根據(jù)第二配置信息中的別名查詢預設映射關(guān)系確定獲取原始網(wǎng)絡數(shù)據(jù)的數(shù)據(jù)庫表的真實表名,其中,別名與存儲原始網(wǎng)絡數(shù)據(jù)時使用的預表名一致,在預設映射關(guān)系中與別名對應映射的數(shù)據(jù)庫表的名稱為獲取原始網(wǎng)絡數(shù)據(jù)的數(shù)據(jù)庫表的真實表名;使用確定出的真實表名生成SQL語句來從數(shù)據(jù)庫中獲取原始網(wǎng)絡數(shù)據(jù)。
[0021]優(yōu)選地,根據(jù)第二配置信息從指定的第一配置信息來獲取原始網(wǎng)絡數(shù)據(jù)包括:根據(jù)參數(shù)信息從指定的第一配置信息中確定原始網(wǎng)絡數(shù)據(jù)的來源信息;根據(jù)來源信息從不同形式的網(wǎng)絡API獲取原始網(wǎng)絡數(shù)據(jù)。
[0022]優(yōu)選地,預設數(shù)據(jù)形式包括以下之一:可擴展標記語言(Extensible MarkupLanguage,簡稱為XML)形式、輕量級數(shù)據(jù)交換語言(JavaScript Object Notation,簡稱為JSON)形式、超文件標記語言(Hypertext Markup Language,簡稱為HTML)形式。
[0023]優(yōu)選地,間隔預設時間周期根據(jù)第一配置信息從不同形式的網(wǎng)絡API獲取原始網(wǎng)絡數(shù)據(jù),并根據(jù)第二配置信息將原始網(wǎng)絡數(shù)據(jù)處理為不同發(fā)布形式的網(wǎng)絡數(shù)據(jù)文件。
[0024]根據(jù)本發(fā)明的另一方面,提供了一種網(wǎng)絡數(shù)據(jù)的發(fā)布方法,其包括:根據(jù)上述任一種方法網(wǎng)站的云服務器對不同形式的原始網(wǎng)絡數(shù)據(jù)處理為不同發(fā)布形式的網(wǎng)絡數(shù)據(jù)文件,并通過云服務器來發(fā)布網(wǎng)絡數(shù)據(jù)文件,其中,云服務器使用的URL與網(wǎng)站的URL相關(guān)。
[0025]優(yōu)選地,網(wǎng)絡數(shù)據(jù)包括:網(wǎng)站從除網(wǎng)站之外的其他網(wǎng)站獲得的網(wǎng)絡數(shù)據(jù)。
[0026]根據(jù)本發(fā)明的又一方面,提供了一種網(wǎng)絡數(shù)據(jù)的處理裝置,其包括:獲取模塊,用于根據(jù)第一配置信息從不同形式的網(wǎng)絡應用程序接口 API獲取待發(fā)布的原始網(wǎng)絡數(shù)據(jù),其中,第一配置信息包括:用于獲取原始網(wǎng)絡數(shù)據(jù)的來源信息;數(shù)據(jù)處理模塊,用于根據(jù)第二配置信息將原始網(wǎng)絡數(shù)據(jù)處理為不同發(fā)布形式的網(wǎng)絡數(shù)據(jù)文件。
[0027]優(yōu)選地,上述網(wǎng)絡數(shù)據(jù)的處理裝置還包括:存儲模塊,用于根據(jù)第一配置信息中的存儲信息將原始網(wǎng)絡數(shù)據(jù)存儲到數(shù)據(jù)庫中,其中,存儲信息包括:原始網(wǎng)絡數(shù)據(jù)將要存儲在數(shù)據(jù)庫中的數(shù)據(jù)庫表的預表名、數(shù)據(jù)庫表的版本號、原始網(wǎng)絡數(shù)據(jù)在數(shù)據(jù)庫中存儲時的名稱、原始網(wǎng)絡數(shù)據(jù)的存儲類型。
[0028]優(yōu)選地,數(shù)據(jù)處理模塊包括:獲取單元,用于根據(jù)第二配置信息中的數(shù)據(jù)獲取方式獲取原始網(wǎng)絡數(shù)據(jù),其中,數(shù)據(jù)獲取方式包括:從數(shù)據(jù)庫中獲取原始網(wǎng)絡數(shù)據(jù)、通過指定的第一配置信息來獲取原始網(wǎng)絡數(shù)據(jù);數(shù)據(jù)處理單元,用于根據(jù)第二配置信息中的預設數(shù)據(jù)形式將原始網(wǎng)絡數(shù)據(jù)處理為不同發(fā)布形式的網(wǎng)絡數(shù)據(jù)文件。
[0029]根據(jù)本發(fā)明的又一方面,提供了一種網(wǎng)絡數(shù)據(jù)的發(fā)布系統(tǒng),其包括:網(wǎng)站根據(jù)上述任一種裝置網(wǎng)站通過云服務器將不同形式的網(wǎng)絡數(shù)據(jù)處理為不同發(fā)布形式的網(wǎng)絡數(shù)據(jù)文件,并通過云服務器來發(fā)布網(wǎng)絡數(shù)據(jù)文件,其中,云服務器使用的URL與網(wǎng)站的URL相關(guān)。
[0030]優(yōu)選地,網(wǎng)絡數(shù)據(jù)包括:網(wǎng)站從除網(wǎng)站之外的其他網(wǎng)站獲得的網(wǎng)絡數(shù)據(jù)。
[0031]在本發(fā)明中,通過預設的第一配置信息,該第一配置信息包括:用于獲取原始網(wǎng)絡數(shù)據(jù)的來源信息,并根據(jù)根據(jù)第一配置信息從不同形式的網(wǎng)絡應用程序接口 API獲取待發(fā)布的原始網(wǎng)絡數(shù)據(jù),然后,根據(jù)預設的第二配置信息將上述原始網(wǎng)絡數(shù)據(jù)處理為不同發(fā)布形式的網(wǎng)絡數(shù)據(jù)文件,實現(xiàn)可以對不同的網(wǎng)絡API數(shù)據(jù)進行處理,并處理為不同形式的發(fā)布數(shù)據(jù),避免在處理不同網(wǎng)絡API數(shù)據(jù)時,編寫相應的代碼來完成數(shù)據(jù)的處理,從而在提高數(shù)據(jù)處理效率的同時,減少了代碼編寫人員的工作量。【專利附圖】

【附圖說明】
[0032]此處所說明的附圖用來提供對本發(fā)明的進一步理解,構(gòu)成本申請的一部分,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當限定。在附圖中:
[0033]圖1是根據(jù)本發(fā)明實施例的網(wǎng)絡數(shù)據(jù)的處理方法的流程圖;
[0034]圖2是根據(jù)本發(fā)明實施例的網(wǎng)絡數(shù)據(jù)的處理裝置的結(jié)構(gòu)框圖;
[0035]圖3是根據(jù)本發(fā)明實施例的另一種網(wǎng)絡數(shù)據(jù)的處理裝置的結(jié)構(gòu)框圖;
[0036]圖4是根據(jù)本發(fā)明實施例的網(wǎng)絡數(shù)據(jù)的處理并發(fā)布的系統(tǒng)的功能示意圖;
[0037]圖5是根據(jù)本發(fā)明實施例的生產(chǎn)者配置文件的示意圖;
[0038]圖6是根據(jù)本發(fā)明實施例的生產(chǎn)者處理模塊的處理流程的示意圖;
[0039]圖7是根據(jù)本發(fā)明實施例的消費者配置文件的示意圖;
[0040]圖8是根據(jù)本發(fā)明實施例的消費者處理模塊的處理流程的示意圖;
[0041]圖9是根據(jù)本發(fā)明實施例的系統(tǒng)一的結(jié)構(gòu)示意圖;以及
[0042]圖10是根據(jù)本發(fā)明實施例的系統(tǒng)二的結(jié)構(gòu)示意圖。
【具體實施方式】
[0043]下文中將參考附圖并結(jié)合實施例來詳細說明本發(fā)明。需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。
[0044]本實施例提供了一種網(wǎng)絡數(shù)據(jù)的處理方法,如圖1所示,該網(wǎng)絡數(shù)據(jù)的處理方法包括步驟S102至步驟S104。
[0045]步驟S102:根據(jù)第一配置信息從不同形式的網(wǎng)絡應用程序接口 API獲取待發(fā)布的原始網(wǎng)絡數(shù)據(jù),其中,第一配置信息包括:用于獲取原始網(wǎng)絡數(shù)據(jù)的來源信息。
[0046]步驟S104:根據(jù)第二配置信息將原始網(wǎng)絡數(shù)據(jù)處理為不同發(fā)布形式的網(wǎng)絡數(shù)據(jù)文件。
[0047]通過上述步驟,通過預設的第一配置信息,該第一配置信息包括:用于獲取原始網(wǎng)絡數(shù)據(jù)的來源信息,并根據(jù)第一配置信息從不同形式的網(wǎng)絡應用程序接口 API獲取待發(fā)布的原始網(wǎng)絡數(shù)據(jù),然后,根據(jù)預設的第二配置信息將上述原始網(wǎng)絡數(shù)據(jù)處理為不同發(fā)布形式的網(wǎng)絡數(shù)據(jù)文件,實現(xiàn)可以對不同的網(wǎng)絡API數(shù)據(jù)進行處理,并處理為不同形式的發(fā)布數(shù)據(jù),避免在處理不同網(wǎng)絡API數(shù)據(jù)時,編寫相應的代碼來完成數(shù)據(jù)的處理,從而在提高數(shù)據(jù)處理效率的同時,減少了代碼編寫人員的工作量。
[0048]為了準確地獲得原始網(wǎng)絡數(shù)據(jù),在本優(yōu)選實施例中,根據(jù)第一配置信息從不同形式的網(wǎng)絡API獲取待發(fā)布的原始網(wǎng)絡數(shù)據(jù)包括:根據(jù)來源信息從不同形式的網(wǎng)絡API獲取待發(fā)布的原始網(wǎng)絡數(shù)據(jù),其中,來源信息包括:原始網(wǎng)絡數(shù)據(jù)的格式、獲取原始網(wǎng)絡數(shù)據(jù)的統(tǒng)一資源定位符URL、訪問URL的預設參數(shù)。即通過訪問URL并輸入相應的參數(shù)來獲取原始網(wǎng)絡數(shù)據(jù),并對原始網(wǎng)絡數(shù)據(jù)的格式進行解析。
[0049]為了提高獲取原始網(wǎng)絡數(shù)據(jù)的效率、準確性,在本優(yōu)選實施例中,根據(jù)第一配置信息從不同形式的網(wǎng)絡API獲取待發(fā)布的原始網(wǎng)絡數(shù)據(jù)包括:根據(jù)上述來源信息中定義的路徑信息通過XPATH方式獲取上述原始網(wǎng)絡數(shù)據(jù)。例如,該路徑信息可以包括用XPATH指示的該原始網(wǎng)絡數(shù)據(jù)在以XML格式表示的原始數(shù)據(jù)文件中的位置信息,供XPATH使用的命名空間和根路徑。利用XPATH從原始數(shù)據(jù)文件獲取上述原始網(wǎng)絡數(shù)據(jù)的過程是:先通過根路徑定義的XPATH把包含數(shù)據(jù)的多個節(jié)點提取出來,再對每個節(jié)點用每個表項的來源信息中位置信息的XPATH找到具體數(shù)據(jù)。組成這些XPATH語句需要用到命名空間。
[0050]為了對上述原始網(wǎng)絡數(shù)據(jù)進行融合處理,在本優(yōu)選實施例中,根據(jù)第一配置信息從不同形式的網(wǎng)絡API獲取待發(fā)布的原始網(wǎng)絡數(shù)據(jù)之后,根據(jù)第一配置信息中的存儲信息將原始網(wǎng)絡數(shù)據(jù)存儲到數(shù)據(jù)庫中,其中,存儲信息包括:原始網(wǎng)絡數(shù)據(jù)將要存儲在數(shù)據(jù)庫中的數(shù)據(jù)庫表的預表名、上述數(shù)據(jù)庫表的版本號、原始網(wǎng)絡數(shù)據(jù)在數(shù)據(jù)庫中存儲時的名稱、原始網(wǎng)絡數(shù)據(jù)的存儲類型。將獲取的不同形式且擁有相同預表名的網(wǎng)絡原始數(shù)據(jù)寫入同一張數(shù)據(jù)表,做到數(shù)據(jù)的融合。
[0051]為了避免數(shù)據(jù)表中的讀寫沖突,在本優(yōu)選實施例中,根據(jù)第一配置信息中的存儲信息將原始網(wǎng)絡數(shù)據(jù)存儲到數(shù)據(jù)庫中包括:預表名對應著至少兩個數(shù)據(jù)庫表,根據(jù)預表名從預表名與數(shù)據(jù)庫表的真實表名的預設映射關(guān)系中確定出存儲原始網(wǎng)絡數(shù)據(jù)的數(shù)據(jù)庫表的真實表名,其中,確定出的數(shù)據(jù)庫表的真實表名為數(shù)據(jù)庫表中未被映射的數(shù)據(jù)庫表的真實表名;根據(jù)版本號和確定出的真實表名將原始網(wǎng)絡數(shù)據(jù)文件存儲到數(shù)據(jù)庫中。即預表名并不是真實的表名,可以另外維護著一張映射表(相當于上述映射關(guān)系),該映射表以上述預表名為主鍵,記錄了表的版本號和目前使用的真實表名,我們只需要用兩張真實的表就可以達到目的了。例如:假設預表名為“Tablel”,我們在其后加上建立兩張真實的表“Tablel_A”、“Tablel_B”。假設上次運行完成后,數(shù)據(jù)被存儲在“Tablel_A”,即目前使用的真實表名是“TabIe 1_A”,即映射關(guān)系表中預表名“Tablel”與“TabIe 1_A”是對應映射的,則我們將這次運行得到的數(shù)據(jù)寫入“Tablel_B”,等到寫入完成時,才將映射表中“Tablel”項對應的目前使用的真實表名更換成“Tablel_B”,而消費者處理模塊取數(shù)據(jù)也是先查映射表,找到目前使用的真實表名再取數(shù)據(jù),這樣保證消費者處理模塊永遠都能取到準備好了的數(shù)據(jù),圓滿解決了等待寫數(shù)據(jù)庫而發(fā)生阻塞的問題,避免了讀寫沖突的問題。
[0052]為了滿足不同應用場景的需求,在本優(yōu)選實施例中,根據(jù)第一配置信息中的存儲信息將原始網(wǎng)絡數(shù)據(jù)存儲到數(shù)據(jù)庫中包括:在存儲信息中的存儲類型為時間類型的情況下,獲取原始網(wǎng)絡數(shù)據(jù)的原始時間格式;根據(jù)原始時間格式解析獲得原始網(wǎng)絡數(shù)據(jù)的時間;以預設時間格式將原始網(wǎng)絡數(shù)據(jù)按照時間順序存儲到數(shù)據(jù)庫中。例如,在實際使用中,經(jīng)常需要將來自于不同來源的數(shù)據(jù)以時間順序排序,這就要求統(tǒng)一它們的時間格式,所以在存儲信息中,如果存儲類型是時間,就要給出數(shù)據(jù)來源中的時間格式(例如:yyyy-MM-ddHH:mm),就可以根據(jù)這個格式解析數(shù)據(jù)的時間,并用統(tǒng)一的時間格式(例如:yyyy-MM-dd HH:mm:ss)以時間為順序?qū)?shù)據(jù)存儲到數(shù)據(jù)庫中。
[0053]為了滿足不同應用需求,在本實施例中,根據(jù)預設的第一配置信息從不同形式的網(wǎng)絡API獲取待發(fā)布的原始網(wǎng)絡數(shù)據(jù)之后,在原始網(wǎng)絡數(shù)據(jù)為二進制文件的情況下,根據(jù)獲取原始網(wǎng)絡數(shù)據(jù)的鏈接地址獲取原始網(wǎng)絡數(shù)據(jù);將原始網(wǎng)絡數(shù)據(jù)存儲在本地文件系統(tǒng)中,并存儲發(fā)布原始網(wǎng)絡數(shù)據(jù)的新鏈接地址。即原始網(wǎng)絡數(shù)據(jù)為二進制文件的情況下,最典型的例子是圖片,原始數(shù)據(jù)文件給出的圖片一般是URL鏈接字串,如果需要將二進制文件從原始數(shù)據(jù)源取來并通過上述方法對數(shù)據(jù)進行處理,就要在第一配置信息中給出指示以及獲取數(shù)據(jù)的URL鏈接字串,在實施時就可以根據(jù)指示將二進制文件取回到本地文件系統(tǒng),并生成指向處理后的數(shù)據(jù)文件地址的URL鏈接字串存儲在第一配置信息中。為了節(jié)省流量,在取二進制文件時要支持HTTP304原因值的處理,這樣就不會重復地取內(nèi)容未改變的文件了。
[0054]為了提高本實施例的靈活性,在本優(yōu)選實施例中,根據(jù)預設的第二配置信息將原始網(wǎng)絡數(shù)據(jù)處理為不同發(fā)布形式的網(wǎng)絡數(shù)據(jù)文件包括:根據(jù)第二配置信息中的數(shù)據(jù)獲取方式獲取原始網(wǎng)絡數(shù)據(jù),其中,數(shù)據(jù)獲取方式包括:從數(shù)據(jù)庫中獲取原始網(wǎng)絡數(shù)據(jù)、通過指定的第一配置信息來獲取原始網(wǎng)絡數(shù)據(jù);根據(jù)第二配置信息中的預設數(shù)據(jù)形式將原始網(wǎng)絡數(shù)據(jù)處理為不同發(fā)布形式的網(wǎng)絡數(shù)據(jù)文件。即除了可以從數(shù)據(jù)庫中獲取上述原始網(wǎng)絡數(shù)據(jù)之夕卜,還可以指定一個第一配置信息,根據(jù)該指定的第一配置信息直接從原始數(shù)據(jù)文件中獲得數(shù)據(jù)并填入新生成文件的相應位置。不經(jīng)過數(shù)據(jù)庫中轉(zhuǎn),這種方式的好處是省下了數(shù)據(jù)庫的開銷,但是缺點是不能利用數(shù)據(jù)庫做較復雜的排序,只能按照數(shù)據(jù)在原始文件中的順序排序,但是因為一般原始文件中的數(shù)據(jù)就已經(jīng)是排了序的,所以新生成的文件仍然是有序的。
[0055]從數(shù)據(jù)庫中獲取原始網(wǎng)絡數(shù)據(jù)可以通過以下步驟來實現(xiàn),根據(jù)第二配置信息從數(shù)據(jù)庫中獲取原始網(wǎng)絡數(shù)據(jù)包括:根據(jù)第二配置信息中的參數(shù)獲取方式獲取用于獲得原始網(wǎng)絡數(shù)據(jù)的參數(shù)信息,其中,參數(shù)獲取方式包括以下之一:接收攜帶有參數(shù)信息的請求消息,查詢存儲原始網(wǎng)絡數(shù)據(jù)時的預設映射關(guān)系獲取原始網(wǎng)絡數(shù)據(jù)的存儲信息,并作為參數(shù)信息;根據(jù)參數(shù)信息生成SQL語句來從數(shù)據(jù)庫中獲取原始網(wǎng)絡數(shù)據(jù)。
[0056]為了準確地從數(shù)據(jù)庫中獲取數(shù)據(jù),在本優(yōu)選實施例中,根據(jù)查詢存儲原始網(wǎng)絡數(shù)據(jù)時的預設映射關(guān)系獲取的參數(shù)信息來從數(shù)據(jù)庫中獲取原始網(wǎng)絡數(shù)據(jù)包括:根據(jù)第二配置信息中的別名查詢預設映射關(guān)系確定獲取原始網(wǎng)絡數(shù)據(jù)的數(shù)據(jù)庫表的真實表名,其中,別名與存儲原始網(wǎng)絡數(shù)據(jù)時使用的預表名一致,在預設映射關(guān)系中與別名對應映射的數(shù)據(jù)庫表的名稱為獲取原始網(wǎng)絡數(shù)據(jù)的數(shù)據(jù)庫表的真實表名;使用確定出的真實表名生成SQL語句來從數(shù)據(jù)庫中獲取原始網(wǎng)絡數(shù)據(jù)。
[0057]還可以根據(jù)第二配置信息從指定的第一配置信息來獲取原始網(wǎng)絡數(shù)據(jù),例,根據(jù)參數(shù)信息從指定的第一配置信息中確定原始網(wǎng)絡數(shù)據(jù)的來源信息;根據(jù)來源信息從不同形式的網(wǎng)絡API獲取原始網(wǎng)絡數(shù)據(jù)。
[0058]為滿足不同的應用場景,上述預設數(shù)據(jù)形式包括以下之一:XML形式、JSON形式、HTML形式。可以將上述原始網(wǎng)絡數(shù)據(jù)處理為上述形式的數(shù)據(jù)文件。
[0059]為了實時地根據(jù)最新的配置信息來處理網(wǎng)絡數(shù)據(jù),在本優(yōu)選實施例中,間隔預設時間周期根據(jù)第一配置信息從不同形式的網(wǎng)絡API獲取原始網(wǎng)絡數(shù)據(jù),并根據(jù)第二配置信息將原始網(wǎng)絡數(shù)據(jù)處理為不同發(fā)布形式的網(wǎng)絡數(shù)據(jù)文件。
[0060]為了降低對提供數(shù)據(jù)的網(wǎng)站的訪問量,本優(yōu)選實施例提供了一種網(wǎng)絡數(shù)據(jù)的發(fā)布方法,該網(wǎng)絡數(shù)據(jù)的發(fā)布方法包括:根據(jù)上述網(wǎng)絡數(shù)據(jù)的處理方法網(wǎng)站的云服務器對不同形式的原始網(wǎng)絡數(shù)據(jù)處理為不同發(fā)布形式的網(wǎng)絡數(shù)據(jù)文件,并通過所述云服務器來發(fā)布所述網(wǎng)絡數(shù)據(jù)文件,其中,所述云服務器使用的URL與所述網(wǎng)站的URL相關(guān)。
[0061]通過上述步驟,網(wǎng)站通過云服務器對不同形式的原始網(wǎng)絡數(shù)據(jù)進行處理,生成不同發(fā)布形式的網(wǎng)絡數(shù)據(jù)文件,并通過云服務器來發(fā)布網(wǎng)絡數(shù)據(jù)文件,使得客戶端通過訪問云服務器來獲得發(fā)布數(shù)據(jù),大大地避免了客戶端對網(wǎng)站的訪問,以降低網(wǎng)站的并行訪問壓力,同時,可以實現(xiàn)網(wǎng)站的數(shù)據(jù)和代碼都存放在自身上,提高了網(wǎng)站自身的數(shù)據(jù)和代碼的安全性和保密性。例如,數(shù)據(jù)提供者的服務器提供的原始數(shù)據(jù)位置為URLl (不向用戶公開),處理后的數(shù)據(jù)文件的位置為URL2(向用戶公開),用戶只知道并訪問URL2,可見URLl幾乎沒有訪問壓力。所有的訪問壓力都在URL2上,因此,普通網(wǎng)站建設者只需要搭建一個普通性能的服務器,然后購買一家云計算服務,上傳這兩個配置文件,并告訴用戶訪問URL2即可。其代碼和數(shù)據(jù)都存放在網(wǎng)站建設者自己的服務器中,保密性很好,而且,一旦購買的云計算服務出現(xiàn)問題,可以很快的換另一家云計算服務,不影響URL2的訪問。
[0062]在上述系統(tǒng)的使用場景中,對于大網(wǎng)站來說,通過可以視為一種云計算服務的提供方式,可以在保證網(wǎng)站自身的數(shù)據(jù)和代碼的安全性和保密性的前提下,通過購買第三方云計算服務達到網(wǎng)站的快速擴容。在這種情況下,復雜計算和數(shù)據(jù)生成發(fā)生在己方服務器,通過動態(tài)DNS負載均衡技術(shù)和第三方云服務器建立起⑶N (內(nèi)容分發(fā)網(wǎng)絡)。對于普通網(wǎng)站而言,在可以在保證網(wǎng)站自身的數(shù)據(jù)和代碼的安全性和保密性的前提下,降低了提供網(wǎng)絡API的難度。
[0063]為了提高本優(yōu)選實施例的靈活性,在本優(yōu)選實施例中,上述網(wǎng)絡數(shù)據(jù)包括:網(wǎng)站從除該網(wǎng)站之外的其他網(wǎng)站獲得的網(wǎng)絡數(shù)據(jù)。
[0064]本優(yōu)選實施例提供了一種網(wǎng)絡數(shù)據(jù)的處理裝置,如圖2所示,該網(wǎng)絡數(shù)據(jù)的處理裝置包括:獲取模塊202,用于根據(jù)第一配置信息從不同形式的網(wǎng)絡應用程序接口 API獲取待發(fā)布的原始網(wǎng)絡數(shù)據(jù),其中,第一配置信息包括:用于獲取原始網(wǎng)絡數(shù)據(jù)的來源信息;數(shù)據(jù)處理模塊204,連接至獲取模塊202,用于根據(jù)第二配置信息將原始網(wǎng)絡數(shù)據(jù)處理為不同發(fā)布形式的網(wǎng)絡數(shù)據(jù)文件。
[0065]為了對上述原始網(wǎng)絡數(shù)據(jù)進行融合處理,在本優(yōu)選實施例中,如圖3所示,上述網(wǎng)絡數(shù)據(jù)的處理裝置還包括:存儲模塊206,用于根據(jù)第一配置信息中的存儲信息將原始網(wǎng)絡數(shù)據(jù)存儲到數(shù)據(jù)庫中,其中,存儲信息包括:原始網(wǎng)絡數(shù)據(jù)將要存儲在數(shù)據(jù)庫中的數(shù)據(jù)庫表的預表名、上述數(shù)據(jù)庫表的版本號、原始網(wǎng)絡數(shù)據(jù)在數(shù)據(jù)庫中存儲時的名稱、原始網(wǎng)絡數(shù)據(jù)的存儲類型。
[0066]為了提高本實施例的靈活性,在本優(yōu)選實施例中,上述數(shù)據(jù)處理模塊204包括:獲取單元,用于根據(jù)第二配置信息中的數(shù)據(jù)獲取方式獲取原始網(wǎng)絡數(shù)據(jù),其中,數(shù)據(jù)獲取方式包括:從數(shù)據(jù)庫中獲取原始網(wǎng)絡數(shù)據(jù)、通過指定的第一配置信息來獲取原始網(wǎng)絡數(shù)據(jù);數(shù)據(jù)處理單元,用于根據(jù)第二配置信息中的預設數(shù)據(jù)形式將原始網(wǎng)絡數(shù)據(jù)處理為不同發(fā)布形式的網(wǎng)絡數(shù)據(jù)文件。
[0067]為了降低對提供數(shù)據(jù)的網(wǎng)站的訪問量,本優(yōu)選實施例提供了一種網(wǎng)絡數(shù)據(jù)的發(fā)布系統(tǒng),網(wǎng)站通過云服務器將不同形式的網(wǎng)絡數(shù)據(jù)處理為不同發(fā)布形式的網(wǎng)絡數(shù)據(jù)文件,并通過云服務器來發(fā)布網(wǎng)絡數(shù)據(jù)文件,其中,云服務器使用的URL與網(wǎng)站的URL相關(guān)。
[0068]為了提高本優(yōu)選實施例的靈活性,在本優(yōu)選實施例中,上述網(wǎng)絡數(shù)據(jù)包括:網(wǎng)站從除該網(wǎng)站之外的其他網(wǎng)站獲得的網(wǎng)絡數(shù)據(jù)。
[0069]以下結(jié)合附圖對上述各個優(yōu)選實施例進行詳細地描述。
[0070]在以下實施例,上述第一配置信息以“數(shù)據(jù)生產(chǎn)者”配置文件為例,上述第二配置信息以“數(shù)據(jù)消費者”配置文件為例,來詳細地描述上述各個優(yōu)選實施例。
[0071]以下提供一種使用配置文件自動的對來自于不同來源的多種格式的網(wǎng)絡數(shù)據(jù)進行融合、再處理,生成可用多種格式呈現(xiàn)的新文件的方法,以及利用該方法實現(xiàn)的兩個系統(tǒng)。[0072]定義一個“數(shù)據(jù)生產(chǎn)者”配置文件,這個配置文件是用于將原始數(shù)據(jù)取回并存儲在數(shù)據(jù)庫中。在其中要說明數(shù)據(jù)來源的格式、URL和應傳入?yún)?shù);以及要存入的數(shù)據(jù)庫的表名、表項名、表項存儲類型、默認值(以及其他必要參數(shù)),并說明表項內(nèi)容的值應該在原始數(shù)據(jù)文件中哪個位置獲得。特別重要的,“數(shù)據(jù)生產(chǎn)者”可以說明多個數(shù)據(jù)來源,將它們不同格式不同名字但具有相同意義的數(shù)據(jù)歸一到同一個數(shù)據(jù)表的同一個表項下,這就做到了數(shù)據(jù)的融合。
[0073]定義一個“數(shù)據(jù)消費者”配置文件。這個配置文件用于從數(shù)據(jù)庫中取出之前由“數(shù)據(jù)生產(chǎn)者”存入的原始數(shù)據(jù),并按配置文件指定的順序進行排序,然后生成新的格式的文件。在其中要說明查詢數(shù)據(jù)庫的SQL語句,以及語句中應該替換的參數(shù)(如表名、排序參數(shù)等)。還要說明新生成文件的格式和應將數(shù)據(jù)填入新生成文件的哪個位置。“數(shù)據(jù)消費者”完成了數(shù)據(jù)的再處理。
[0074]“數(shù)據(jù)消費者”配置文件中說明的取數(shù)據(jù)的方式除了從數(shù)據(jù)庫取之外,還有另一種方式,就是指定一個“數(shù)據(jù)生產(chǎn)者”配置文件,直接從原始數(shù)據(jù)文件中獲得數(shù)據(jù)并填入新生成文件的相應位置。不經(jīng)過數(shù)據(jù)庫中轉(zhuǎn)。這種方式的好處是省下了數(shù)據(jù)庫的開銷,但是缺點是不能利用數(shù)據(jù)庫做較復雜的排序,只能按照數(shù)據(jù)在原始文件中的順序排序,但是因為一般原始文件中的數(shù)據(jù)就已經(jīng)是排了序的,所以新生成的文件仍然是有序的。
[0075]基于上述方案實現(xiàn)如下兩個系統(tǒng):
[0076]系統(tǒng)一:
[0077]將上述兩個配置文件寫好后,存儲在并行訪問能力強大的云服務器上,定時運行,生成新文件放在云服務器上供用戶訪問。我們說數(shù)據(jù)提供者的服務器提供的原始數(shù)據(jù)位置為URLl (不向用戶公開),新文件的位置為URL2 (向用戶公開),用戶只知道并訪問URL2,可見URLl幾乎沒有訪問壓力。所有的壓力都在URL2上。普通網(wǎng)站建設者只需要搭建一個普通性能的服務器,然后購買一家云計算服務,上傳這兩個配置文件,并告訴用戶訪問URL2即可。其代碼和數(shù)據(jù)都存放在網(wǎng)站建設者自己的服務器中,保密性很好,而且,一旦購買的云計算服務出現(xiàn)問題,可以很快的換另一家云計算服務,不影響URL2的訪問。
[0078]系統(tǒng)一可視為一種云計算服務的提供方式,它不僅對普通網(wǎng)站建設者是有用的,同樣對于大型網(wǎng)站也是有用的:因為它可以在保證己方數(shù)據(jù)和代碼不外泄的情況下,通過購買第三方云計算服務達到網(wǎng)站的快速擴容。在這種情況下,復雜計算和數(shù)據(jù)生成發(fā)生在己方服務器,通過動態(tài)DNS負載均衡技術(shù)和第三方云服務器建立起⑶N (內(nèi)容分發(fā)網(wǎng)絡)。
[0079]系統(tǒng)二:
[0080]同樣的,第三方程序員也可以利用上述兩個配置文件來自動處理數(shù)據(jù)。他們可以把能處理上述配置文件的模塊鏈接進程序中,之后就可以只修改配置文件而不用重寫代碼來獲得融合后再處理的網(wǎng)絡數(shù)據(jù),能大大提升工作效率。
[0081]圖4是根據(jù)本發(fā)明實施例的網(wǎng)絡數(shù)據(jù)的處理并發(fā)布的系統(tǒng)的功能示意圖,如圖4所示,101是多來源多格式的原始數(shù)據(jù)源;102是生產(chǎn)者處理模塊;103是生產(chǎn)者配置文件;104是數(shù)據(jù)庫;105是文件系統(tǒng);106是消費者處理模塊;107是消費者配置文件;108代表多種輸出格式的新文件;109是系統(tǒng)一中的云服務器;110是系統(tǒng)一的最終用戶;111是系統(tǒng)
二中的第三方應用。
[0082]通過上述系統(tǒng)可以實現(xiàn)以下的數(shù)據(jù)處理并發(fā)布的過程:102先讀入103,然后按照該配置文件從101讀入原始數(shù)據(jù),存入到由104和105組成的中間存儲模塊中。106讀入107,按照該配置文件從102、104、105讀入融合后的數(shù)據(jù),再處理成108。最終,利用109將108發(fā)布給110 (系統(tǒng)一);或者將108提供給111 (系統(tǒng)二)。
[0083]圖5是根據(jù)本發(fā)明實施例的生產(chǎn)者配置文件的示意圖,如圖5所示,生產(chǎn)者配置文件是由I個或多個表定義組成的,每個表定義由表名、版本號、來源和表項組組成。
[0084]表名是數(shù)據(jù)應該存入的數(shù)據(jù)庫表的名字(相當于上述存儲信息)。
[0085]版本號是該數(shù)據(jù)庫表目前的版本號(相當于上述存儲信息)。
[0086]來源(相當于上述來源信息)用于說明原始數(shù)據(jù)源,包括:格式、訪問用URL和參數(shù)。有了這三項信息就可以獲取原始數(shù)據(jù)。本發(fā)明能夠解析的原始數(shù)據(jù)格式有XML (包含HTML格式,下同)、JSON、SOAP、RSS四種。其中通過XML、SOAP、RSS獲得的原始數(shù)據(jù)文件本身就是XML格式的,本發(fā)明把JSON格式也轉(zhuǎn)化成XML格式。這樣原始數(shù)據(jù)文件就全部統(tǒng)一成XML格式的了(這樣就可以利用XPATH進行查找了)。
[0087]表項組說明數(shù)據(jù)庫表中有哪些表項。每一項表項要說明名稱(相當于上述存儲信息)、存儲類型(相當于上述存儲信息)、來源(相當于上述路徑信息)和默認值(以及其他必要參數(shù))。這其中,表項中的來源是用XPATH指示的該表項數(shù)據(jù)在以XML格式表示的原始數(shù)據(jù)文件中的位置。為此,表項組中還定義了供XPATH使用的命名空間和根路徑。
[0088]利用XPATH從原始數(shù)據(jù)文件取表項數(shù)據(jù)的過程是:先通過根路徑定義的XPATH把包含數(shù)據(jù)的多個節(jié)點提取出來,再對每個節(jié)點用每個表項的來源定義的XPATH找到具體數(shù)據(jù)。組成這些XPATH語句需要用到命名空間。
[0089]在講述生產(chǎn)者處理模塊(相當于上述獲取模塊202)的具體處理流程前,需要說明與該流程相關(guān)的幾個概念:
[0090]I)生產(chǎn)者處理模塊定時運行,每次運行時都讀取生產(chǎn)者配置文件,這樣一旦修改了生產(chǎn)者配置文件,下次運行時會使用新的配置文件工作;
[0091]2)雙緩沖機制:將原始數(shù)據(jù)寫入數(shù)據(jù)庫需要一定時間t,為了保證在時間t內(nèi)消費者處理模塊仍能正常工作而不會因為等待生產(chǎn)者寫數(shù)據(jù)庫而發(fā)生駐塞,生產(chǎn)者處理模塊使用了一種雙緩沖機制,即表定義中的表名并不是真實的表名,它另外維護著一張映射表,該映射表以表定義中的表名為主鍵,記錄了表的版本號和目前使用的真實表名,我們只需要用兩張真實的表就可以達到目的了。例如:假設表定義中的表名為“Tablel”,我們在其后加上“建立兩張真實的表“Tablel_A”、“Tablel_B”。假設上次運行完成后,數(shù)據(jù)被存儲在“Tablel_A”,即目前使用的真實表名是“Tablel_A”,則我們將這次運行得到的數(shù)據(jù)寫入“Tablel_B”,等到寫入完成時,才將映射表中“Tablel”項對應的目前使用的真實表名更換成“Tablel_B”,而消費者處理模塊取數(shù)據(jù)也是先查映射表,找到目前使用的真實表名再取數(shù)據(jù),這樣保證消費者處理模塊永遠都能取到準備好了的數(shù)據(jù),圓滿解決了等待寫數(shù)據(jù)庫而發(fā)生駐塞的問題;
[0092]3)表的自動重建:數(shù)據(jù)表在生產(chǎn)者處理模塊的第一次運行時就自動建好了,一般不需要重新建表。但是,因為表是根據(jù)配置文件中的表項組來建立的,如果表項組中的每一項表項的名稱和存儲類型不變,就不需要重建表;如果一旦發(fā)生變化了,就需要通知生產(chǎn)者處理模塊重建數(shù)據(jù)表。這是利用版本號來實現(xiàn)的,比較從映射表讀出的版本號和配置文件中的版本號,如果不一致,就重建表;[0093]4)取SOAP數(shù)據(jù):獲取XML、JSON、RSS數(shù)據(jù)都是用URL帶上參數(shù)即可獲得,只有SOAP特殊,它是用HTTP POST方法帶上特定的內(nèi)容發(fā)送到服務器端去獲取數(shù)據(jù),因此對于SOAP格式的數(shù)據(jù)來源,需要在來源中定義SOAP的POST請求應帶上的內(nèi)容soapbody和屬性值 SOAPAction ;
[0094]5)把JSON格式獲得的原始數(shù)據(jù)文件也轉(zhuǎn)化成XML格式:本發(fā)明能夠解析的原始數(shù)據(jù)格式有XML、JS0N、SOAP、RSS四種。其中通過XML、SOAP、RSS獲得的原始數(shù)據(jù)文件本身就是XML格式的,本發(fā)明把JSON格式也轉(zhuǎn)化成XML格式。這樣獲得的原始數(shù)據(jù)文件格式就都是XML的了。為了之后XPATH語句的書寫,必須強制規(guī)定從JSON轉(zhuǎn)化成的XML文件的根節(jié)點名、數(shù)組名、元素名、對象名,例如:規(guī)定根節(jié)點名為ztejson2xml,數(shù)組名為array,元素名為elem,對象名為object ;
[0095]6)時間格式歸一化:在實際使用中,經(jīng)常需要把來自于不同來源的數(shù)據(jù)以時間順序排序,這就要求統(tǒng)一它們的時間格式,所以在表項組的表項說明中,如果該表項類型是時間,就要給出數(shù)據(jù)來源中的時間格式(例如:yyyy-MM_dd HH:mm)。生產(chǎn)者處理模塊會根據(jù)這個格式解析數(shù)據(jù)為時間,用內(nèi)部統(tǒng)一的時間格式(例如:yyyy-MM-ddHH:mm:ss)存儲進數(shù)據(jù)庫;
[0096]7)用URL代表的二進制文件的存取:最典型的例子是圖片,原始數(shù)據(jù)文件給出的圖片一般是URL鏈接字串,如果需要將二進制文件從原始數(shù)據(jù)源取來通過本發(fā)明再發(fā)布,就要在表項說明中給出指示,生產(chǎn)者處理模塊會根據(jù)指示將二進制文件取回到本地文件系統(tǒng),生成指向新文件地址的URL鏈接字串作為表項值存儲進對應的表項。為了節(jié)省流量,在取二進制文件時要支持HTTP304原因值的處理,這樣就不會重復地取內(nèi)容未改變的文件了。
[0097]圖6是根據(jù)本發(fā)明實施例的生產(chǎn)者處理模塊的處理流程的示意圖,如圖6所示:該處理流程包括如下步驟:
[0098]步驟S301:讀取生產(chǎn)者配置文件;
[0099]步驟S302:根據(jù)表定義N,檢查是否需要創(chuàng)建或重建數(shù)據(jù)表;
[0100]步驟S303:從映射表中獲取本次操作可以寫入的(即雙緩沖中未使用)的真實表名A;
[0101]步驟S304:讀取原始數(shù)據(jù)源并解析數(shù)據(jù);
[0102]步驟S305:將解析后的數(shù)據(jù)寫入表A。但是要注意,在本次運行的第一次寫入時要清空A里原來的舊內(nèi)容,但是之后的寫入就不清空了,這樣做就能將從多個擁有相同表名的表定義獲取的解析后的數(shù)據(jù)寫入同一張數(shù)據(jù)表,做到數(shù)據(jù)的融合;
[0103]步驟S306:檢查是否還有未處理完的表定義,如果有,轉(zhuǎn)到步驟S302繼續(xù)處理;如果沒有,說明數(shù)據(jù)更新工作已經(jīng)全部完成,轉(zhuǎn)到步驟S307 ;
[0104]步驟S307:更新映射表中目前正在使用的真實表名為A。這樣消費者處理模塊就會從A中獲取融合后的新數(shù)據(jù)了。
[0105]圖7是根據(jù)本發(fā)明實施例的消費者配置文件的示意圖,如圖7所示,消費者配置文件是由數(shù)據(jù)來源(相當于上述數(shù)據(jù)獲取方式),參數(shù)表(相當于上述參數(shù)信息)和輸出說明組成。
[0106]數(shù)據(jù)來源有兩種:一種是SQL語句(使用數(shù)據(jù)庫);另一種是生產(chǎn)者配置文件(不使用數(shù)據(jù)庫直接取原始數(shù)據(jù))。但是注意,無論是SQL語句還是生產(chǎn)者配置文件都必須配合參數(shù)表使用,因為其中的參數(shù)變量是由參數(shù)表確定的。
[0107]參數(shù)表是由很多個參數(shù)項組成的,每個參數(shù)項要說明參數(shù)值名稱、來源、別名和默認值(其中默認值可省略)。參數(shù)值來源有兩種,一種是來自于用戶的請求消息(REQ),例如HTTPGET請求的URL中所帶參數(shù);另一種是來自于前述的數(shù)據(jù)庫映射表,例如表名,實際上該表是不存在的,為了組成可以執(zhí)行的SQL語句,只要指出其來源是數(shù)據(jù)庫,消費者處理模塊就會自動將這個表名去查映射表,獲得SQL語句真正需要查詢的真實表名組成完整的SQL語句。
[0108]注意:
[0109]I)在數(shù)據(jù)來源的SQL語句和生產(chǎn)者配置文件中,使用參數(shù)項的別名來占位(即:說明該處參數(shù)值需要根據(jù)參數(shù)表來替換);
[0110]2)如果該參數(shù)項在指定的參數(shù)值來源中找不到,就使用默認值。否則必須使用所找到的值。
[0111]輸出說明由輸出文件類型和輸出項組成。輸出文件類型有但不限于XML,JS0N,HTML三種(這是三種最常用類型,但是可以根據(jù)需要使用其他格式輸出)。輸出項由名稱、別名和默認值組成(可以沒有默認值),名稱對應著生產(chǎn)者配置文件表項組中那些表項的名稱,別名是用于輸出文件中的名稱。(為什么要在這里將名稱做轉(zhuǎn)化呢?這是為了縮短名稱,以便縮小輸出文件的大小,如果不愿意改名,將表項名和別名寫成一致即可)。
[0112]特別的,對于輸出文件類型為HTML的情況,還要定義html_header, html_body和html_footer。下面是一個例子:
[0113]
【權(quán)利要求】
1.一種網(wǎng)絡數(shù)據(jù)的處理方法,其特征在于,包括: 根據(jù)第一配置信息從不同形式的網(wǎng)絡應用程序接口 API獲取待發(fā)布的原始網(wǎng)絡數(shù)據(jù),其中,所述第一配置信息包括:用于獲取所述原始網(wǎng)絡數(shù)據(jù)的來源信息; 根據(jù)第二配置信息將所述原始網(wǎng)絡數(shù)據(jù)處理為不同發(fā)布形式的網(wǎng)絡數(shù)據(jù)文件。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,根據(jù)第一配置信息從不同形式的網(wǎng)絡API獲取待發(fā)布的原始網(wǎng)絡數(shù)據(jù)包括: 根據(jù)所述來源信息從不同形式的網(wǎng)絡API獲取待發(fā)布的所述原始網(wǎng)絡數(shù)據(jù),其中,所述來源信息包括:所述原始網(wǎng)絡數(shù)據(jù)的格式、獲取所述原始網(wǎng)絡數(shù)據(jù)的統(tǒng)一資源定位符URL、訪問所述URL的預設參數(shù)。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,根據(jù)第一配置信息從不同形式的網(wǎng)絡API獲取待發(fā)布的所述原始網(wǎng)絡數(shù)據(jù)包括: 根據(jù)所述來源信息中定義的路徑信息通過XML路徑語言XPATH方式獲取所述原始網(wǎng)絡數(shù)據(jù)。
4.根據(jù)權(quán)利要求1至3中任一項所述的方法,其特征在于,根據(jù)所述第一配置信息從不同形式的網(wǎng)絡API獲取待發(fā)布的原始網(wǎng)絡數(shù)據(jù)之后,還包括: 根據(jù)所述第一配置信息中的存儲信息將所述原始網(wǎng)絡數(shù)據(jù)存儲到數(shù)據(jù)庫中,其中,所述存儲信息包括:所述原始網(wǎng)絡數(shù)據(jù)將要存儲在所述數(shù)據(jù)庫中的數(shù)據(jù)庫表的預表名、所述數(shù)據(jù)庫表的版本號、所述原始網(wǎng)絡數(shù)據(jù)在所述數(shù)據(jù)庫中存儲時的名稱、所述原始網(wǎng)絡數(shù)據(jù)的存儲類型。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,根據(jù)所述第一配置信息中的存儲信息將所述原始網(wǎng)絡數(shù)據(jù)存儲到所述數(shù)據(jù)庫中包括: 所述預表名對應著至少兩個所述數(shù)據(jù)庫表,根據(jù)所述預表名從所述預表名與所述數(shù)據(jù)庫表的真實表名的預設映射關(guān)系中確定出存儲所述原始網(wǎng)絡數(shù)據(jù)的數(shù)據(jù)庫表的真實表名,其中,確定出的數(shù)據(jù)庫表的真實表名為所述數(shù)據(jù)庫表中未被映射的數(shù)據(jù)庫表的真實表名; 根據(jù)所述版本號和確定出的真實表名將所述原始網(wǎng)絡數(shù)據(jù)文件存儲到數(shù)據(jù)庫中。
6.根據(jù)權(quán)利要求4所述的方法,其特征在于,根據(jù)所述第一配置信息中的存儲信息將所述原始網(wǎng)絡數(shù)據(jù)存儲到數(shù)據(jù)庫中包括: 在所述存儲信息中的存儲類型為時間類型的情況下,獲取所述原始網(wǎng)絡數(shù)據(jù)的原始時間格式; 根據(jù)所述原始時間格式解析獲得所述原始網(wǎng)絡數(shù)據(jù)的時間; 以預設時間格式將所述原始網(wǎng)絡數(shù)據(jù)按照時間順序存儲到數(shù)據(jù)庫中。
7.根據(jù)權(quán)利要求1至3中任一項所述的方法,其特征在于,根據(jù)預設的第一配置信息從不同形式的網(wǎng)絡API獲取待發(fā)布的原始網(wǎng)絡數(shù)據(jù)之后,還包括: 在所述原始網(wǎng)絡數(shù)據(jù)為二進制文件的情況下,根據(jù)獲取所述原始網(wǎng)絡數(shù)據(jù)的鏈接地址獲取所述原始網(wǎng)絡數(shù)據(jù); 將所述原始網(wǎng)絡數(shù)據(jù)存儲在本地文件系統(tǒng)中,并存儲發(fā)布所述原始網(wǎng)絡數(shù)據(jù)的新鏈接地址。
8.根據(jù)權(quán)利要求4所述的方法,其特征在于,根據(jù)預設的第二配置信息將所述原始網(wǎng)絡數(shù)據(jù)處理為不同發(fā)布形式的網(wǎng)絡數(shù)據(jù)文件包括:根據(jù)所述第二配置信息中的數(shù)據(jù)獲取方式獲取所述原始網(wǎng)絡數(shù)據(jù),其中,所述數(shù)據(jù)獲取方式包括:從所述數(shù)據(jù)庫中獲取所述原始網(wǎng)絡數(shù)據(jù)、通過指定的第一配置信息來獲取所述原始網(wǎng)絡數(shù)據(jù); 根據(jù)所述第二配置信息中的預設數(shù)據(jù)形式將所述原始網(wǎng)絡數(shù)據(jù)處理為不同發(fā)布形式的網(wǎng)絡數(shù)據(jù)文件。
9.根據(jù)權(quán)利要求8所述的方法,其特征在于,根據(jù)所述第二配置信息從所述數(shù)據(jù)庫中獲取所述原始網(wǎng)絡數(shù)據(jù)包括: 根據(jù)所述第二配置信息中的參數(shù)獲取方式獲取用于獲得所述原始網(wǎng)絡數(shù)據(jù)的參數(shù)信息,其中,所述參數(shù)獲取方式包括以下之一:接收攜帶有所述參數(shù)信息的請求消息,查詢存儲所述原始網(wǎng)絡數(shù)據(jù)時的預設映射關(guān)系獲取所述原始網(wǎng)絡數(shù)據(jù)的存儲信息,并作為所述參數(shù)信息; 根據(jù)所述參數(shù)信息生成結(jié)構(gòu)查詢語言SQL語句來從所述數(shù)據(jù)庫中獲取所述原始網(wǎng)絡數(shù)據(jù)。
10.根據(jù)權(quán)利要求9所述的方法,其特征在于,根據(jù)查詢存儲所述原始網(wǎng)絡數(shù)據(jù)時的預設映射關(guān)系獲取的參數(shù)信息來從所述數(shù)據(jù)庫中獲取所述原始網(wǎng)絡數(shù)據(jù)包括: 根據(jù)所述第二配置信息中的別名查詢所述預設映射關(guān)系確定獲取所述原始網(wǎng)絡數(shù)據(jù)的數(shù)據(jù)庫表的真實表名,其中,所述別名與存儲所述原始網(wǎng)絡數(shù)據(jù)時使用的預表名一致,在所述預設映射關(guān)系中與所述別名對應映射的數(shù)據(jù)庫表的名稱為獲取所述原始網(wǎng)絡數(shù)據(jù)的數(shù)據(jù)庫表的真實表名; 使用確定出的真實表名生成SQL語句來從所述數(shù)據(jù)庫中獲取所述原始網(wǎng)絡數(shù)據(jù)。
11.根據(jù)權(quán)利要求9所述的方法,其特征在于,根據(jù)所述第二配置信息從指定的第一配置信息來獲取所述原始網(wǎng)絡數(shù)據(jù)包括: 根據(jù)所述參數(shù)信息從所述指定的第一配置信息中確定所述原始網(wǎng)絡數(shù)據(jù)的來源信息; 根據(jù)所述來源信息從不同形式的網(wǎng)絡API獲取所述原始網(wǎng)絡數(shù)據(jù)。
12.根據(jù)權(quán)利要求8所述的方法,其特征在于,預設數(shù)據(jù)形式包括以下之一:可擴展標記語言XML形式、輕量級數(shù)據(jù)交換語言JSON形式、超文件標記語言HTML形式。
13.根據(jù)權(quán)利要求1至3中任一項所述的方法,其特征在于,間隔預設時間周期根據(jù)所述第一配置信息從不同形式的網(wǎng)絡API獲取所述原始網(wǎng)絡數(shù)據(jù),并根據(jù)所述第二配置信息將所述原始網(wǎng)絡數(shù)據(jù)處理為不同發(fā)布形式的網(wǎng)絡數(shù)據(jù)文件。
14.一種網(wǎng)絡數(shù)據(jù)的發(fā)布方法,其特征在于,根據(jù)權(quán)利要求1至13中任一項所述的方法網(wǎng)站的云服務器對不同形式的原始網(wǎng)絡數(shù)據(jù)處理為不同發(fā)布形式的網(wǎng)絡數(shù)據(jù)文件,并通過所述云服務器來發(fā)布所述網(wǎng)絡數(shù)據(jù)文件,其中,所述云服務器使用的URL與所述網(wǎng)站的URL相關(guān)。
15.根據(jù)權(quán)利要求14所述的方法,其特征在于,所述網(wǎng)絡數(shù)據(jù)包括:所述網(wǎng)站從除所述網(wǎng)站之外的其他網(wǎng)站獲得的網(wǎng)絡數(shù)據(jù)。
16.一種網(wǎng)絡數(shù)據(jù)的處理裝置,其特征在于,包括: 獲取模塊,用于根據(jù)第一配置信息從不同形式的網(wǎng)絡應用程序接口 API獲取待發(fā)布的原始網(wǎng)絡數(shù)據(jù),其中,所述第一配置信息包括:用于獲取所述原始網(wǎng)絡數(shù)據(jù)的來源信息;數(shù)據(jù)處理模塊,用于根據(jù)第二配置信息將所述原始網(wǎng)絡數(shù)據(jù)處理為不同發(fā)布形式的網(wǎng)絡數(shù)據(jù)文件。
17.根據(jù)權(quán)利要求16所述的裝置,其特征在于,還包括: 存儲模塊,用于根據(jù)所述第一配置信息中的存儲信息將所述原始網(wǎng)絡數(shù)據(jù)存儲到數(shù)據(jù)庫中,其中,所述存儲信息包括:所述原始網(wǎng)絡數(shù)據(jù)將要存儲在所述數(shù)據(jù)庫中的數(shù)據(jù)庫表的預表名、所述數(shù)據(jù)庫表的版本號、所述原始網(wǎng)絡數(shù)據(jù)在所述數(shù)據(jù)庫中存儲時的名稱、所述原始網(wǎng)絡數(shù)據(jù)的存儲類型。
18.根據(jù)權(quán)利要求16或17所述的裝置,其特征在于,所述數(shù)據(jù)處理模塊包括: 獲取單元,用于根據(jù)所述第二配置信息中的數(shù)據(jù)獲取方式獲取所述原始網(wǎng)絡數(shù)據(jù),其中,所述數(shù)據(jù)獲取方式包括:從所述數(shù)據(jù)庫中獲取所述原始網(wǎng)絡數(shù)據(jù)、通過指定的第一配置信息來獲取所述原始網(wǎng)絡數(shù)據(jù); 數(shù)據(jù)處理單元,用于根據(jù)所述第二配置信息中的預設數(shù)據(jù)形式將所述原始網(wǎng)絡數(shù)據(jù)處理為不同發(fā)布形式的網(wǎng)絡數(shù)據(jù)文件。
19.一種網(wǎng)絡數(shù)據(jù)的發(fā)布系統(tǒng),其特征在于,網(wǎng)站根據(jù)權(quán)利要求16至18中任一項所述的裝置網(wǎng)站通過云服務器將不同形式的網(wǎng)絡數(shù)據(jù)處理為不同發(fā)布形式的網(wǎng)絡數(shù)據(jù)文件,并通過所述云服務器來發(fā) 布所述網(wǎng)絡數(shù)據(jù)文件,其中,所述云服務器使用的URL與所述網(wǎng)站的URL相關(guān)。
20.根據(jù)權(quán)利要求19所述的系統(tǒng),其特征在于,所述網(wǎng)絡數(shù)據(jù)包括:所述網(wǎng)站從除所述網(wǎng)站之外的其他網(wǎng)站獲得的網(wǎng)絡數(shù)據(jù)。
【文檔編號】H04L29/06GK103581123SQ201210259392
【公開日】2014年2月12日 申請日期:2012年7月20日 優(yōu)先權(quán)日:2012年7月20日
【發(fā)明者】陳璐, 鐘聲 申請人:中興通訊股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
天门市| 于都县| 潼南县| 德保县| 黔西县| 泽普县| 黄梅县| 土默特右旗| 会同县| 阳东县| 黄陵县| 静海县| 滁州市| 遵义县| 遵义市| 蛟河市| 喜德县| 青铜峡市| 新余市| 怀远县| 朝阳市| 台北市| 廉江市| 新巴尔虎右旗| 古蔺县| 桦南县| 湖口县| 安化县| 余江县| 秦皇岛市| 进贤县| 环江| 维西| 霞浦县| 靖州| 永福县| 麟游县| 财经| 阳朔县| 隆子县| 英吉沙县|