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

生成描述信息的方法及裝置與流程

文檔序號:11199211閱讀:816來源:國知局
生成描述信息的方法及裝置與流程

本發(fā)明涉及計算機領域,具體而言,涉及一種生成描述信息的方法及裝置。



背景技術:

目前,隨著大數(shù)據(jù)技術的迅猛發(fā)展,如何便于業(yè)務人員快速分析數(shù)據(jù),是大數(shù)據(jù)應用需要解決的關鍵問題。

業(yè)務人員經(jīng)常需要基于基礎數(shù)據(jù)進行各種統(tǒng)計分析,該過程通常需要編寫sql語句在數(shù)據(jù)庫中運行。例如:對于基于多張數(shù)據(jù)表的統(tǒng)計分析,需要采用人工方式通過數(shù)據(jù)表的元信息來獲取數(shù)據(jù)表之間的連接關系。假設第一張數(shù)據(jù)表包含有3個字段,其分別為:設備標識(id)、日期以及設備狀態(tài);第二張數(shù)據(jù)表包含有2個字段,其分別為:設備id和公司id;第三張數(shù)據(jù)表包含有2個字段,其分別為:公司id和公司名稱,那么通過數(shù)據(jù)表的元信息可以獲知,第一張數(shù)據(jù)表和第二張數(shù)據(jù)表可以通過“設備id”加以連接,第二張數(shù)據(jù)表和第三張數(shù)據(jù)表可以通過“公司id”加以連接,通過連接這三張數(shù)據(jù)表,可以分析出每個公司在預設時間段內(nèi)(例如:最近1個月)發(fā)生的特定事件(例如:設備故障率)。

對于casebycase的統(tǒng)計分析,表連接語句可以根據(jù)特定案例來編寫,即業(yè)務人員需要為每個案例分別定制不同的sql語句。然而,正是由于casebycase的統(tǒng)計分析方式需要針對每個案例分別編寫sql語句,由此易造成此種操作方式不僅工作效率較低,而且發(fā)生錯誤的概率較高。

因此,相關技術中并沒有提供在給定若干張數(shù)據(jù)表且可獲知數(shù)據(jù)表之間的關系的情況下,如何通過采用自動生成合法的表連接sql語句的實現(xiàn)方式來完成數(shù)據(jù)分析。

針對上述的問題,目前尚未提出有效的解決方案。



技術實現(xiàn)要素:

本發(fā)明實施例提供了一種生成描述信息的方法及裝置,以至少解決相關技術中無法在給定若干張數(shù)據(jù)表且可獲知數(shù)據(jù)表之間的關系的情況下,通過采用自動生成合法的表連接sql語句的實現(xiàn)方式來完成數(shù)據(jù)分析的技術問題。

根據(jù)本發(fā)明實施例的一個方面,提供了一種生成描述信息的方法,包括:獲取多張數(shù)據(jù)表中每張數(shù)據(jù)表所包含的字段信息;根據(jù)字段信息確定多張數(shù)據(jù)表相互間的關聯(lián)關系;利用多張數(shù)據(jù)表相互間的關聯(lián)關系生成描述信息,其中,描述信息用于記錄多張數(shù)據(jù)表相互間的連接次序以及相鄰數(shù)據(jù)表之間所使用的連接條件。

可選地,根據(jù)字段信息確定多張數(shù)據(jù)表相互間的關聯(lián)關系包括:選取步驟:從多張數(shù)據(jù)表中選取任意一張待遍歷的數(shù)據(jù)表;查找步驟:查找與選取的數(shù)據(jù)表所包含的字段信息中具有一個或多個相同字段的數(shù)據(jù)表,并將查找到的數(shù)據(jù)表設置為選取的數(shù)據(jù)表的待連接數(shù)據(jù)表;在選取的數(shù)據(jù)表與待連接數(shù)據(jù)表之間建立關聯(lián)關系;返回選取步驟,直至多張數(shù)據(jù)表被全部遍歷。

可選地,利用多張數(shù)據(jù)表相互間的關聯(lián)關系生成描述信息包括:按照多張數(shù)據(jù)表相互間的關聯(lián)關系從初始遍歷的數(shù)據(jù)表開始依次獲取下一個遍歷的數(shù)據(jù)表的標識信息,與下一個遍歷的數(shù)據(jù)表相鄰接的數(shù)據(jù)表的標識信息以及下一個遍歷的數(shù)據(jù)表與鄰接的數(shù)據(jù)表之間的連接條件,其中,鄰接的數(shù)據(jù)表為已經(jīng)遍歷過的數(shù)據(jù)表;采用獲取到的下一個遍歷的數(shù)據(jù)表的標識信息,鄰接的數(shù)據(jù)表的標識信息以及下一個遍歷的數(shù)據(jù)表與鄰接的數(shù)據(jù)表之間的連接條件生成描述信息。

可選地,采用獲取到的下一個遍歷的數(shù)據(jù)表的標識信息,鄰接的數(shù)據(jù)表的標識信息以及下一個遍歷的數(shù)據(jù)表與鄰接的數(shù)據(jù)表之間的連接條件生成描述信息包括:先根據(jù)下一個遍歷的數(shù)據(jù)表的標識信息和鄰接的數(shù)據(jù)表的標識信息建立下一個遍歷的數(shù)據(jù)表與鄰接的數(shù)據(jù)表之間的關聯(lián)關系后,再記錄下一個遍歷的數(shù)據(jù)表與鄰接的數(shù)據(jù)表之間的連接條件,分別生成與已經(jīng)遍歷的數(shù)據(jù)表對應的分段連接信息;聯(lián)合全部分段連接信息,生成描述信息。

可選地,如果下一個遍歷的數(shù)據(jù)表同時與多個數(shù)據(jù)表相鄰接和/或下一個遍歷的數(shù)據(jù)表與部分相鄰接的數(shù)據(jù)表存在多個相同的字段時,則記錄的下一個遍歷的數(shù)據(jù)表與鄰接的數(shù)據(jù)表之間的連接條件是由下一個遍歷的數(shù)據(jù)表與多個數(shù)據(jù)表相鄰接所產(chǎn)生的連接條件和/或由下一個遍歷的數(shù)據(jù)表與部分相鄰接的數(shù)據(jù)表存在多個相同的字段所產(chǎn)生的連接條件的并集。

根據(jù)本發(fā)明實施例的另一方面,還提供了一種生成描述信息的裝置,包括:獲取模塊,用于獲取多張數(shù)據(jù)表中每張數(shù)據(jù)表所包含的字段信息;確定模塊,用于根據(jù)字段信息確定多張數(shù)據(jù)表相互間的關聯(lián)關系;生成模塊,用于利用多張數(shù)據(jù)表相互間的關聯(lián)關系生成描述信息,其中,描述信息用于記錄多張數(shù)據(jù)表相互間的連接次序以及相鄰數(shù)據(jù)表之間所使用的連接條件。

可選地,確定模塊包括:選取單元,用于從多張數(shù)據(jù)表中選取任意一張待遍歷的數(shù)據(jù)表;查找單元,用于查找與選取的數(shù)據(jù)表所包含的字段信息中具有一個或多個相同字段的數(shù)據(jù)表,并將查找到的數(shù)據(jù)表設置為選取的數(shù)據(jù)表的待連接數(shù)據(jù)表;建立單元,用于在選取的數(shù)據(jù)表與待連接數(shù)據(jù)表之間建立關聯(lián)關系;返回選取單元,直至多張數(shù)據(jù)表被全部遍歷。

可選地,生成模塊包括:獲取單元,用于按照多張數(shù)據(jù)表相互間的關聯(lián)關系從初始遍歷的數(shù)據(jù)表開始依次獲取下一個遍歷的數(shù)據(jù)表的標識信息,與下一個遍歷的數(shù)據(jù)表相鄰接的數(shù)據(jù)表的標識信息以及下一個遍歷的數(shù)據(jù)表與鄰接的數(shù)據(jù)表之間的連接條件,其中,鄰接的數(shù)據(jù)表為已經(jīng)遍歷過的數(shù)據(jù)表;生成單元,用于采用獲取到的下一個遍歷的數(shù)據(jù)表的標識信息,鄰接的數(shù)據(jù)表的標識信息以及下一個遍歷的數(shù)據(jù)表與鄰接的數(shù)據(jù)表之間的連接條件生成描述信息。

可選地,生成單元包括:第一生成子單元,用于先根據(jù)下一個遍歷的數(shù)據(jù)表的標識信息和鄰接的數(shù)據(jù)表的標識信息建立下一個遍歷的數(shù)據(jù)表與鄰接的數(shù)據(jù)表之間的關聯(lián)關系后,再記錄下一個遍歷的數(shù)據(jù)表與鄰接的數(shù)據(jù)表之間的連接條件,分別生成與已經(jīng)遍歷的數(shù)據(jù)表對應的分段連接信息;第二生成子單元,用于聯(lián)合全部分段連接信息,生成描述信息。

可選地,第一生成子單元,用于在下一個遍歷的數(shù)據(jù)表同時與多個數(shù)據(jù)表相鄰接和/或下一個遍歷的數(shù)據(jù)表與部分相鄰接的數(shù)據(jù)表存在多個相同的字段時,則記錄的下一個遍歷的數(shù)據(jù)表與鄰接的數(shù)據(jù)表之間的連接條件是由下一個遍歷的數(shù)據(jù)表與多個數(shù)據(jù)表相鄰接所產(chǎn)生的連接條件和/或由下一個遍歷的數(shù)據(jù)表與部分相鄰接的數(shù)據(jù)表存在多個相同的字段所產(chǎn)生的連接條件的并集。

在本發(fā)明實施例中,采用通過獲取多張數(shù)據(jù)表中每張數(shù)據(jù)表所包含的字段信息并根據(jù)字段信息確定多張數(shù)據(jù)表相互間的關聯(lián)關系的方式,利用多張數(shù)據(jù)表相互間的關聯(lián)關系生成用于記錄多張數(shù)據(jù)表相互間的連接次序以及相鄰數(shù)據(jù)表之間所使用的連接條件的描述信息,達到了不需要人工參與便可以自動生成上述描述信息(例如:合法的表連接sql語句)來完成數(shù)據(jù)分析的目的,從而實現(xiàn)了通過自動生成數(shù)據(jù)表之間相互關系的描述信息不僅提高了數(shù)據(jù)分析效率而且還提升了數(shù)據(jù)分析結(jié)果準確性的技術效果,進而解決了相關技術中無法在給定若干張數(shù)據(jù)表且可獲知數(shù)據(jù)表之間的關系的情況下,通過采用自動生成合法的表連接sql語句的實現(xiàn)方式來完成數(shù)據(jù)分析的技術問題。

附圖說明

此處所說明的附圖用來提供對本發(fā)明的進一步理解,構成本申請的一部分,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構成對本發(fā)明的不當限定。在附圖中:

圖1是本發(fā)明實施例的一種生成描述信息的方法的計算機終端的硬件結(jié)構框圖;

圖2是根據(jù)本發(fā)明實施例的生成描述信息的方法的流程圖;

圖3是根據(jù)本發(fā)明優(yōu)選實施例的在多張數(shù)據(jù)表的相互間建立完整的拓撲結(jié)構的示意圖;

圖4是根據(jù)本發(fā)明優(yōu)選實施例的生成描述信息的方法的示意圖;

圖5是根據(jù)本發(fā)明實施例的生成描述信息的裝置的結(jié)構框圖;

圖6是根據(jù)本發(fā)明優(yōu)選實施例的生成描述信息的裝置的結(jié)構框圖;

圖7是根據(jù)本發(fā)明實施例的一種計算機終端的結(jié)構框圖。

具體實施方式

為了使本技術領域的人員更好地理解本發(fā)明方案,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分的實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都應當屬于本發(fā)明保護的范圍。

需要說明的是,本發(fā)明的說明書和權利要求書及上述附圖中的術語“第一”、“第二”等是用于區(qū)別類似的對象,而不必用于描述特定的順序或先后次序。應該理解這樣使用的數(shù)據(jù)在適當情況下可以互換,以便這里描述的本發(fā)明的實施例能夠以除了在這里圖示或描述的那些以外的順序?qū)嵤4送?,術語“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或單元的過程、方法、系統(tǒng)、產(chǎn)品或設備不必限于清楚地列出的那些步驟或單元,而是可包括沒有清楚地列出的或?qū)τ谶@些過程、方法、產(chǎn)品或設備固有的其它步驟或單元。

實施例1

根據(jù)本發(fā)明實施例,還提供了一種生成描述信息的方法實施例,需要說明的是,在附圖的流程圖示出的步驟可以在諸如一組計算機可執(zhí)行指令的計算機系統(tǒng)中執(zhí)行, 并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。

本申請實施例一所提供的方法實施例可以在移動終端、計算機終端或者類似的運算裝置中執(zhí)行。以運行在計算機終端上為例,圖1是本發(fā)明實施例的一種生成描述信息的方法的計算機終端的硬件結(jié)構框圖。如圖1所示,計算機終端10可以包括一個或多個(圖中僅示出一個)處理器102(處理器102可以包括但不限于微處理器mcu或可編程邏輯器件fpga等的處理裝置)、用于存儲數(shù)據(jù)的存儲器104、以及用于通信功能的傳輸裝置106。本領域普通技術人員可以理解,圖1所示的結(jié)構僅為示意,其并不對上述電子裝置的結(jié)構造成限定。例如,計算機終端10還可包括比圖1中所示更多或者更少的組件,或者具有與圖1所示不同的配置。

存儲器104可用于存儲應用軟件的軟件程序以及模塊,如本發(fā)明實施例中的生成描述信息的方法對應的程序指令/模塊,處理器102通過運行存儲在存儲器104內(nèi)的軟件程序以及模塊,從而執(zhí)行各種功能應用以及數(shù)據(jù)處理,即實現(xiàn)上述的生成描述信息的方法。存儲器104可包括高速隨機存儲器,還可包括非易失性存儲器,如一個或者多個磁性存儲裝置、閃存、或者其他非易失性固態(tài)存儲器。在一些實例中,存儲器104可進一步包括相對于處理器102遠程設置的存儲器,這些遠程存儲器可以通過網(wǎng)絡連接至計算機終端10。上述網(wǎng)絡的實例包括但不限于互聯(lián)網(wǎng)、企業(yè)內(nèi)部網(wǎng)、局域網(wǎng)、移動通信網(wǎng)及其組合。

傳輸裝置106用于經(jīng)由一個網(wǎng)絡接收或者發(fā)送數(shù)據(jù)。上述的網(wǎng)絡具體實例可包括計算機終端10的通信供應商提供的無線網(wǎng)絡。在一個實例中,傳輸裝置106包括一個網(wǎng)絡適配器(networkinterfacecontroller,nic),其可通過基站與其他網(wǎng)絡設備相連從而可與互聯(lián)網(wǎng)進行通訊。在一個實例中,傳輸裝置106可以為射頻(radiofrequency,rf)模塊,其用于通過無線方式與互聯(lián)網(wǎng)進行通訊。

在上述運行環(huán)境下,本申請?zhí)峁┝巳鐖D2所示的生成描述信息的方法。圖2是根據(jù)本發(fā)明實施例的生成描述信息的方法的流程圖。如圖2所示,該方法可以包括以下處理步驟:

步驟s20:獲取多張數(shù)據(jù)表中每張數(shù)據(jù)表所包含的字段信息;

步驟s22:根據(jù)字段信息確定多張數(shù)據(jù)表相互間的關聯(lián)關系;

步驟s24:利用多張數(shù)據(jù)表相互間的關聯(lián)關系生成描述信息,其中,描述信息用于記錄多張數(shù)據(jù)表相互間的連接次序以及相鄰數(shù)據(jù)表之間所使用的連接條件。

相關技術中,以表連接語句為主的記錄多張數(shù)據(jù)表之間相互關系的描述信息需要 業(yè)務人員根據(jù)特定案例來進行手工編寫,即業(yè)務人員需要為每個案例分別定制不同的sql語句,由此不僅造成工作效率較低,而且發(fā)生錯誤的概率也較高。然而,通過本發(fā)明實施例所提供的技術方案,采用通過獲取多張數(shù)據(jù)表中每張數(shù)據(jù)表所包含的字段信息并根據(jù)字段信息確定多張數(shù)據(jù)表相互間的關聯(lián)關系的方式,利用多張數(shù)據(jù)表相互間的關聯(lián)關系生成用于記錄多張數(shù)據(jù)表相互間的連接次序以及相鄰數(shù)據(jù)表之間所使用的連接條件的描述信息,達到了不需要人工參與便可以自動生成上述描述信息(例如:合法的表連接sql語句)來完成數(shù)據(jù)分析的目的,從而實現(xiàn)了通過自動生成數(shù)據(jù)表之間相互關系的描述信息不僅提高了數(shù)據(jù)分析效率而且還提升了數(shù)據(jù)分析結(jié)果準確性的技術效果,尤其是對于批量的數(shù)據(jù)分析工作而言,其效率提升更為顯著,進而解決了相關技術中無法在給定若干張數(shù)據(jù)表且可獲知數(shù)據(jù)表之間的關系的情況下,通過采用自動生成合法的表連接sql語句的實現(xiàn)方式來完成數(shù)據(jù)分析的技術問題。

可選地,在步驟s22中,根據(jù)字段信息確定多張數(shù)據(jù)表相互間的關聯(lián)關系可以包括以下執(zhí)行步驟:

選取步驟s220:從多張數(shù)據(jù)表中選取任意一張待遍歷的數(shù)據(jù)表;

查找步驟s222:查找與選取的數(shù)據(jù)表所包含的字段信息中具有一個或多個相同字段的數(shù)據(jù)表,并將查找到的數(shù)據(jù)表設置為選取的數(shù)據(jù)表的待連接數(shù)據(jù)表;

建立步驟s224:在選取的數(shù)據(jù)表與待連接數(shù)據(jù)表之間建立關聯(lián)關系;返回選取步驟,直至多張數(shù)據(jù)表被全部遍歷。

在需要建立相互之間的關聯(lián)關系的多張數(shù)據(jù)表中,可以先隨機選取其中一張數(shù)據(jù)表作為起始遍歷的數(shù)據(jù)表或者作為參照數(shù)據(jù)表,然后依次訪問其余數(shù)據(jù)表。由于每張數(shù)據(jù)表都包含有多個字段(例如:字段1為產(chǎn)品名稱,字段2為產(chǎn)品型號,字段3為生產(chǎn)廠商,字段4為使用壽命),因此,在選定其中一張數(shù)據(jù)表之后,便需要查找與該數(shù)據(jù)表具有相同字段的其他數(shù)據(jù)表。此處,具有相同字段的其他數(shù)據(jù)表可以為一張,當然也可以為多張。在查找到具有相同字段的其他數(shù)據(jù)表之后,便可以將此類數(shù)據(jù)表設置為先前選取的數(shù)據(jù)表的待連接數(shù)據(jù)表,并建立彼此之間的連接關系。在對當前遍歷的數(shù)據(jù)表的待連接數(shù)據(jù)表查找完畢后,再繼續(xù)遍歷下一張數(shù)據(jù)表,以此類推,直至全部數(shù)據(jù)表均經(jīng)歷過一次遍歷,從而在上述多張數(shù)據(jù)表的相互間建立完整的拓撲結(jié)構。

例如:圖3是根據(jù)本發(fā)明優(yōu)選實施例的在多張數(shù)據(jù)表的相互間建立完整的拓撲結(jié)構的示意圖。如圖3所示(圖3中僅示出多張數(shù)據(jù)表相互間的相同字段),在該示例中,數(shù)據(jù)表1包含的字段為:字段1、字段2、字段3和字段4,數(shù)據(jù)表2包含的字段為:字段1、字段3和字段5,數(shù)據(jù)表3包含的字段為:字段2、字段5和字段7以及數(shù)據(jù) 表4包含的字段為:字段7、字段8、字段9和字段10。根據(jù)上述分析,首先隨機選取數(shù)據(jù)表1作為起始遍歷的數(shù)據(jù)表或者作為參照數(shù)據(jù)表,然后依次訪問其余數(shù)據(jù)表。通過比較可以發(fā)現(xiàn),數(shù)據(jù)表1與數(shù)據(jù)表2具有相同字段(字段1和字段3)以及數(shù)據(jù)表1與數(shù)據(jù)表3具有相同字段(字段2),由此,可以確定數(shù)據(jù)表2和數(shù)據(jù)表3均為數(shù)據(jù)表1的待連接數(shù)據(jù)表,并可以據(jù)此在數(shù)據(jù)表1與數(shù)據(jù)表2之間以及數(shù)據(jù)表1與數(shù)據(jù)表3之間建立關聯(lián)關系。其次,再遍歷數(shù)據(jù)表2,通過比較可以發(fā)現(xiàn),數(shù)據(jù)表2僅與數(shù)據(jù)表3具有相同字段(字段5),由此,可以確定數(shù)據(jù)表3為數(shù)據(jù)表2的待連接數(shù)據(jù)表,并可以據(jù)此在數(shù)據(jù)表2與數(shù)據(jù)表3之間建立關聯(lián)關系。然后,再遍歷數(shù)據(jù)表3,通過比較可以發(fā)現(xiàn),數(shù)據(jù)表3僅與數(shù)據(jù)表4具有相同字段(字段7),由此,可以確定數(shù)據(jù)表4為數(shù)據(jù)表3的待連接數(shù)據(jù)表,并可以據(jù)此在數(shù)據(jù)表3與數(shù)據(jù)表4之間建立關聯(lián)關系。最后,再遍歷數(shù)據(jù)表4,通過比較可以發(fā)現(xiàn),除了上述已經(jīng)建立關聯(lián)關系的數(shù)據(jù)表3之外,并沒有其他待連接數(shù)據(jù)表。至此,關于數(shù)據(jù)表1、數(shù)據(jù)表2、數(shù)據(jù)表3以及數(shù)據(jù)表4之間相互關聯(lián)關系的拓撲結(jié)構已經(jīng)形成。

可選地,在步驟s24中,利用多張數(shù)據(jù)表相互間的關聯(lián)關系生成描述信息可以包括以下執(zhí)行步驟:

步驟s240:按照多張數(shù)據(jù)表相互間的關聯(lián)關系從初始遍歷的數(shù)據(jù)表開始依次獲取下一個遍歷的數(shù)據(jù)表的標識信息,與下一個遍歷的數(shù)據(jù)表相鄰接的數(shù)據(jù)表的標識信息以及下一個遍歷的數(shù)據(jù)表與鄰接的數(shù)據(jù)表之間的連接條件,其中,鄰接的數(shù)據(jù)表為已經(jīng)遍歷過的數(shù)據(jù)表;

步驟s242:采用獲取到的下一個遍歷的數(shù)據(jù)表的標識信息,鄰接的數(shù)據(jù)表的標識信息以及下一個遍歷的數(shù)據(jù)表與鄰接的數(shù)據(jù)表之間的連接條件生成描述信息。

在確定多張數(shù)據(jù)表相互間的關聯(lián)關系后,可以從起始遍歷的數(shù)據(jù)表或者作為參照數(shù)據(jù)表開始依次獲取下一個遍歷的數(shù)據(jù)表的標識信息,并進一步獲取與下一個遍歷的數(shù)據(jù)表相鄰接的數(shù)據(jù)表的標識信息。需要說明的是,此處提到的與下一個遍歷的數(shù)據(jù)表相鄰接的數(shù)據(jù)表是指從起始遍歷的數(shù)據(jù)表開始到下一個遍歷的數(shù)據(jù)表為止已經(jīng)被遍歷的全部數(shù)據(jù)表中與下一個遍歷的數(shù)據(jù)表鄰接的數(shù)據(jù)表。通過獲取上述標識信息可以確定下一個遍歷的數(shù)據(jù)表與哪個或哪些已經(jīng)被遍歷的數(shù)據(jù)表之間存在關聯(lián)關系,基于此,可以再獲取下一個遍歷的數(shù)據(jù)表與鄰接的數(shù)據(jù)表之間的連接條件(即存在哪些相同的字段)。

例如:基于上述已經(jīng)形成的關于數(shù)據(jù)表1、數(shù)據(jù)表2、數(shù)據(jù)表3以及數(shù)據(jù)表4之間相互關聯(lián)關系的拓撲結(jié)構,生成描述信息的具體方式如下:

以數(shù)據(jù)表1為起始遍歷的數(shù)據(jù)表或者作為參照數(shù)據(jù)表,然后依次訪問其余數(shù)據(jù)表??紤]到數(shù)據(jù)表2和數(shù)據(jù)表3均為數(shù)據(jù)表1的待連接數(shù)據(jù)表,并已經(jīng)據(jù)此在數(shù)據(jù)表1與數(shù)據(jù)表2之間以及數(shù)據(jù)表1與數(shù)據(jù)表3之間建立過關聯(lián)關系,那么可以在數(shù)據(jù)表2和數(shù)據(jù)表3之間先隨機選擇一個數(shù)據(jù)表。假設此次選取的是數(shù)據(jù)表2,那么下一個遍歷的數(shù)據(jù)表即為數(shù)據(jù)表2,而已經(jīng)遍歷的且與數(shù)據(jù)表2相鄰接的僅有數(shù)據(jù)表1,則此時的連接條件為數(shù)據(jù)表1與數(shù)據(jù)表2具有相同字段(字段1和字段3)。接下來,在對數(shù)據(jù)表2完成遍歷后,由于數(shù)據(jù)表2僅與數(shù)據(jù)表3之間存在連接關系,因此,下一個遍歷的數(shù)據(jù)表即為數(shù)據(jù)表3。在已經(jīng)遍歷的數(shù)據(jù)表1和數(shù)據(jù)表2中,數(shù)據(jù)表1與數(shù)據(jù)表3具有相同字段(字段2),數(shù)據(jù)表2與數(shù)據(jù)表3具有相同字段(字段5),則此時的連接條件為數(shù)據(jù)表1與數(shù)據(jù)表3具有相同字段(字段2),數(shù)據(jù)表2與數(shù)據(jù)表3具有相同字段(字段5)。然后,在對數(shù)據(jù)表3完成遍歷后,由于數(shù)據(jù)表3僅與數(shù)據(jù)表4之間存在連接關系,因此,下一個遍歷的數(shù)據(jù)表即為數(shù)據(jù)表4。在已經(jīng)遍歷的數(shù)據(jù)表1、數(shù)據(jù)表2以及數(shù)據(jù)表3中,數(shù)據(jù)表3僅與數(shù)據(jù)表4具有相同字段(字段7),則此時的連接條件為數(shù)據(jù)表3與數(shù)據(jù)表4具有相同字段(字段7)。至此,關于數(shù)據(jù)表1、數(shù)據(jù)表2、數(shù)據(jù)表3以及數(shù)據(jù)表4之間相互關聯(lián)關系的描述信息已經(jīng)形成。

可選地,在步驟s242中,采用獲取到的下一個遍歷的數(shù)據(jù)表的標識信息,鄰接的數(shù)據(jù)表的標識信息以及下一個遍歷的數(shù)據(jù)表與鄰接的數(shù)據(jù)表之間的連接條件生成描述信息可以包括以下執(zhí)行步驟:

步驟s2420:先根據(jù)下一個遍歷的數(shù)據(jù)表的標識信息和鄰接的數(shù)據(jù)表的標識信息建立下一個遍歷的數(shù)據(jù)表與鄰接的數(shù)據(jù)表之間的關聯(lián)關系后,再記錄下一個遍歷的數(shù)據(jù)表與鄰接的數(shù)據(jù)表之間的連接條件,分別生成與已經(jīng)遍歷的數(shù)據(jù)表對應的分段連接信息;

步驟s2422:聯(lián)合全部分段連接信息,生成描述信息。

在生成描述信息的過程中,數(shù)據(jù)表之間合法的表連接描述信息需要同時滿足如下三個條件:

條件一、所有數(shù)據(jù)表均被且僅被連接一次;

條件二、所有連接條件均被且僅被使用一次;

條件三、每個連接條件中出現(xiàn)的數(shù)據(jù)表需要先被連接。

具體到上述示例中,在已經(jīng)形成的關于數(shù)據(jù)表1、數(shù)據(jù)表2、數(shù)據(jù)表3以及數(shù)據(jù)表4之間相互關聯(lián)關系的拓撲結(jié)構中,數(shù)據(jù)表1、數(shù)據(jù)表2、數(shù)據(jù)表3以及數(shù)據(jù)表4已均被連接一次。所有的連接條件,包括:數(shù)據(jù)表1與數(shù)據(jù)表2具有相同字段(字段1和 字段3),數(shù)據(jù)表1與數(shù)據(jù)表3具有相同字段(字段2),數(shù)據(jù)表2與數(shù)據(jù)表3具有相同字段(字段5)以及數(shù)據(jù)表3與數(shù)據(jù)表4具有相同字段(字段7),已均被使用一次。在每遍歷一張數(shù)據(jù)表時,在連接條件中出現(xiàn)的數(shù)據(jù)表必須為已經(jīng)被遍歷過的數(shù)據(jù)表,即在遍歷數(shù)據(jù)表2時,已經(jīng)遍歷的且與數(shù)據(jù)表2相鄰接的僅有數(shù)據(jù)表1,則此時的連接條件包含數(shù)據(jù)表1與數(shù)據(jù)表2具有相同字段1和相同字段3;在遍歷數(shù)據(jù)表3時,已經(jīng)遍歷的且與數(shù)據(jù)表3相鄰接的有數(shù)據(jù)表1和數(shù)據(jù)表2,則此時的連接條件可以包含數(shù)據(jù)表1與數(shù)據(jù)表3具有相同字段2以及數(shù)據(jù)表2與數(shù)據(jù)表3具有相同字段5;在遍歷數(shù)據(jù)表4時,已經(jīng)遍歷的且與數(shù)據(jù)表4相鄰接的僅有數(shù)據(jù)表3,則此時的連接條件僅包含數(shù)據(jù)表3與數(shù)據(jù)表4具有相同字段7。

將得到上述分段連接信息聯(lián)合起來便可以生成最終所要獲得的描述信息,即數(shù)據(jù)表1,連接數(shù)據(jù)表2,其連接條件為:數(shù)據(jù)表1與數(shù)據(jù)表2具有相同字段1和相同字段3;連接數(shù)據(jù)表3,其連接條件為:數(shù)據(jù)表1與數(shù)據(jù)表3具有相同字段2以及數(shù)據(jù)表2與數(shù)據(jù)表3具有相同字段5;連接數(shù)據(jù)表4,其連接條件為:數(shù)據(jù)表3與數(shù)據(jù)表4具有相同字段7。

在優(yōu)選實施過程中,在步驟s2420中,如果下一個遍歷的數(shù)據(jù)表同時與多個數(shù)據(jù)表相鄰接和/或下一個遍歷的數(shù)據(jù)表與部分相鄰接的數(shù)據(jù)表存在多個相同的字段時,則記錄的下一個遍歷的數(shù)據(jù)表與鄰接的數(shù)據(jù)表之間的連接條件是由下一個遍歷的數(shù)據(jù)表與多個數(shù)據(jù)表相鄰接所產(chǎn)生的連接條件和/或由下一個遍歷的數(shù)據(jù)表與部分相鄰接的數(shù)據(jù)表存在多個相同的字段所產(chǎn)生的連接條件的并集。

在已經(jīng)形成的關于數(shù)據(jù)表1、數(shù)據(jù)表2、數(shù)據(jù)表3以及數(shù)據(jù)表4之間相互關聯(lián)關系的拓撲結(jié)構中,不僅包含因連接條件為數(shù)據(jù)表3與數(shù)據(jù)表4具有相同字段7而在數(shù)據(jù)表3與數(shù)據(jù)表4形成的單一連接關系,而且還包含數(shù)據(jù)表1與數(shù)據(jù)表2之間以及數(shù)據(jù)表1、數(shù)據(jù)表2以及數(shù)據(jù)表3相互間形成的復雜連接關系,即對于數(shù)據(jù)表1與數(shù)據(jù)表2兩者之間的連接關系而言,在遍歷數(shù)據(jù)表2時,已經(jīng)遍歷的且與數(shù)據(jù)表2相鄰接的僅有數(shù)據(jù)表1,則此時的連接條件包含數(shù)據(jù)表1與數(shù)據(jù)表2具有相同字段1和相同字段3,而正是由于數(shù)據(jù)表1與數(shù)據(jù)表2之間具有2個相同字段,因此,數(shù)據(jù)表1與數(shù)據(jù)表2之間存在兩種連接關系,其為數(shù)據(jù)表1與數(shù)據(jù)表2具有相同字段1和相同字段3的并集;對于數(shù)據(jù)表1、數(shù)據(jù)表2以及數(shù)據(jù)表3三者之間的連接關系而言,在遍歷數(shù)據(jù)表3時,已經(jīng)遍歷的且與數(shù)據(jù)表3相鄰接的有數(shù)據(jù)表1和數(shù)據(jù)表2,而且數(shù)據(jù)表1與數(shù)據(jù)表3具有相同字段2以及數(shù)據(jù)表2與數(shù)據(jù)表3具有相同字段5,因此,數(shù)據(jù)表3與已經(jīng)遍歷的數(shù)據(jù)表1和數(shù)據(jù)表2之間分別存在連接關系,其為數(shù)據(jù)表1與數(shù)據(jù)表3具有相同字段2以及數(shù)據(jù)表2與數(shù)據(jù)表3具有相同字段5的并集。

下面將結(jié)合以下優(yōu)選實施方式對上述優(yōu)選實施過程作進一步地描述。

圖4是根據(jù)本發(fā)明優(yōu)選實施例的生成描述信息的方法的示意圖。如圖4所示,假設當前總共有4張數(shù)據(jù)表,其分別為數(shù)據(jù)表a、數(shù)據(jù)表b、數(shù)據(jù)表c以及數(shù)據(jù)表d,在數(shù)據(jù)表的元信息中定義了f1、f2、f3為連接字段,即包含這些字段的數(shù)據(jù)表可以連接在一起。

具體地,上述4張數(shù)據(jù)表所包含的連接字段分別為:

數(shù)據(jù)表a包含:連接字段f3;

數(shù)據(jù)表b包含:連接字段f1,連接字段f2以及連接字段f3;

數(shù)據(jù)表c包含:連接字段f1;

數(shù)據(jù)表d包含:連接字段f1和連接字段f2。

由此,可以得到這4張數(shù)據(jù)表之間存在如下連接條件:

(數(shù)據(jù)表a,數(shù)據(jù)表b)之間存在的連接條件:數(shù)據(jù)表a.連接字段f3=數(shù)據(jù)表b.連接字段f3;

(數(shù)據(jù)表b,數(shù)據(jù)表c)之間存在的連接條件:數(shù)據(jù)表b.連接字段f1=數(shù)據(jù)表c.連接字段f1;

(數(shù)據(jù)表b,數(shù)據(jù)表d)之間存在的連接條件:數(shù)據(jù)表b.連接字段f1=數(shù)據(jù)表d.連接字段f1,數(shù)據(jù)表b.連接字段f2=數(shù)據(jù)表d.連接字段f2;

(數(shù)據(jù)表c,數(shù)據(jù)表d)之間存在的連接條件:數(shù)據(jù)表c.連接字段f1=數(shù)據(jù)表d.連接字段f1;

即數(shù)據(jù)表a和數(shù)據(jù)表b通過f3字段連接,數(shù)據(jù)表b和數(shù)據(jù)表c通過f1字段連接,數(shù)據(jù)表b和數(shù)據(jù)表d通過f1和f2兩個字段連接以及數(shù)據(jù)表c和數(shù)據(jù)表d通過f1字段連接。

在該優(yōu)選實施例中,如何根據(jù)數(shù)據(jù)表間的連接關系生成合法的描述信息(例如:表連接語句),該優(yōu)選實施例將其抽象為圖的遍歷問題,即,采用圖頂點來表示數(shù)據(jù)表,采用圖的邊來表示數(shù)據(jù)表之間的連接關系,上述舉例中的數(shù)據(jù)表以及相互間的連接關系可以表示為:

首先從數(shù)據(jù)表a開始,依次連接其它3張數(shù)據(jù)表,為生成合法的表連接語句,其具體方式如下:從圖頂點a出發(fā),按一定順序到達其它頂點,并將當前到達頂點與它 前邊已經(jīng)到達過的頂點之間的邊加到連接條件中,即可生成以圖頂點為連接表,圖的邊為連接條件的合法表連接語句,每個表和連接條件在該語句中出現(xiàn)且僅出現(xiàn)一次,且連接條件中出現(xiàn)的表已經(jīng)先進行“join”(對應圖頂點已經(jīng)到達過)。

該優(yōu)選實施例通過采用圖的遍歷方法(包括:深度優(yōu)先遍歷和廣度優(yōu)先遍歷)來確定頂點的到達次序。以廣度優(yōu)先遍歷為例,從頂點a出發(fā),將該頂點計為第1層,先到達與它有邊連接的第2層頂點,即與a距離為1的頂點,再依次到達與a距離遞增的各層頂點,同一層內(nèi)到達順序隨機。在上述示例中,頂點a為第1層,頂點b為第2層,頂點c、d均與b相連,同屬第3層,所以這4個頂點的到達次序為a、b、c、d或者a、b、d、c。

假設以到達次序a、b、c、d為例,來展開表連接語句的生成過程:

第一步、從頂點a出發(fā),到達頂點b后,join頂點b,并將頂點b與它前邊已經(jīng)到達過的頂點之間的邊加到連接條件中,由于在到達頂點b之前只到達過頂點a,因此,可以將頂點b與頂點a之間的邊添加到連接條件中,生成ajoinbona.f3=b.f3;

第二步、從頂點b出發(fā),到達頂點c后,join頂點c,并將頂點c與它前邊已經(jīng)到達過的頂點之間的邊添加到連接條件中,由于在到達頂點c之前已經(jīng)到達過頂點a和頂點b,但頂點c只與頂點b之間有邊,所以將頂點c與頂點b之間的邊添加到連接條件中,生成joinconb.f1=c.f1;

第三步、從頂點c觸發(fā),到達頂點d后,join頂點d,并將頂點d與它前邊已經(jīng)到達過的頂點之間的邊添加到連接條件中,由于在到達頂點d之前已經(jīng)到達過頂點a、頂點b以及頂點c,而頂點d與頂點b、頂點c之間有邊,所以將頂點d與頂點b、頂點c之間的邊添加到連接條件中,生成joindonb.f1=d.f1andb.f2=d.f2andc.f1=d.f1;

在所有頂點全部到達后,便可生成最終的表連接語句ajoinbona.f3=b.f3joinconb.f1=c.f1joindonb.f1=d.f1andb.f2=d.f2andc.f1=d.f1。

因此,數(shù)據(jù)表a、數(shù)據(jù)表b、數(shù)據(jù)表c以及數(shù)據(jù)表d之間合法的表連接語句如下:

ajoinbona.f3=b.f3joinconb.f1=c.f1joindonb.f1=d.f1andb.f2=d.f2andc.f1=d.f1。

假設以到達次序a、b、d、c為例,來展開表連接語句的生成過程:

第一步、從頂點a出發(fā),到達頂點b后,join頂點b,并將頂點b與它前邊已經(jīng)到達過的頂點之間的邊加到連接條件中,由于在到達頂點b之前只到達過頂點a,因此,可以將頂點b與頂點a之間的邊添加到連接條件中,生成ajoinbona.f3=b.f3;

第二步、從頂點b出發(fā),到達頂點d后,join頂點d,并將頂點d與它前邊已經(jīng)到達過的頂點之間的邊添加到連接條件中,由于在到達頂點d之前已經(jīng)到達過頂點a和頂點b,但頂點d只與頂點b之間有邊,所以將頂點d與頂點b之間的邊添加到連接條件中,生成joindonb.f1=d.f1andb.f2=d.f2;

第三步、從頂點d出發(fā),到達頂點c后,join頂點c,并將頂點c與它前邊已經(jīng)到達過的頂點之間的邊添加到連接條件中,由于在到達頂點c之前已經(jīng)到達過頂點a、頂點b以及頂點d,而頂點c與頂點b、頂點d之間有邊,所以將頂點c與頂點b、頂點d之間的邊添加到連接條件中,生成joinconb.f1=c.f1andc.f1=d.f1;

在所有頂點全部到達后,便可生成最終的表連接語句ajoinbona.f3=b.f3joindonb.f1=d.f1andb.f2=d.f2joinconb.f1=c.f1andc.f1=d.f1。

因此,數(shù)據(jù)表a、數(shù)據(jù)表b、數(shù)據(jù)表c以及數(shù)據(jù)表d之間合法的表連接語句如下:

ajoinbona.f3=b.f3joindonb.f1=d.f1andb.f2=d.f2joinconb.f1=c.f1andc.f1=d.f1。

另外,與合法的表連接語句相對,不合法的表連接語句的示例如下:

ajoinbona.f3=b.f3joinconb.f1=c.f1andc.f1=d.f1joindonb.f1=d.f1andb.f2=d.f2;

在該表連接語句中的連接條件“c.f1=d.f1”在“joind”之前出現(xiàn)是不合法的,其原因在于,連接條件中的數(shù)據(jù)表d需要先“join”,即當前遍歷的數(shù)據(jù)表為數(shù)據(jù)表c,已經(jīng)遍歷的數(shù)據(jù)表僅為數(shù)據(jù)表a和數(shù)據(jù)表b,其并不包括數(shù)據(jù)表d,因此,數(shù)據(jù)表d不能出現(xiàn)在關于連接數(shù)據(jù)表c的連接條件中,而只能在繼續(xù)遍歷數(shù)據(jù)表d后,出現(xiàn)在關于連接數(shù)據(jù)表d的連接條件中。

需要說明的是,對于前述的各方法實施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領域技術人員應該知悉,本發(fā)明并不受所描述的動作順序的限制,因為依據(jù)本發(fā)明,某些步驟可以采用其他順序或者同時進行。其次,本領域技術 人員也應該知悉,說明書中所描述的實施例均屬于優(yōu)選實施例,所涉及的動作和模塊并不一定是本發(fā)明所必須的。

通過以上的實施方式的描述,本領域的技術人員可以清楚地了解到根據(jù)上述實施例的生成描述信息的方法可借助軟件加必需的通用硬件平臺的方式來實現(xiàn),當然也可以通過硬件,但很多情況下前者是更佳的實施方式。基于這樣的理解,本發(fā)明的技術方案本質(zhì)上或者說對現(xiàn)有技術做出貢獻的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)(如rom/ram、磁碟、光盤)中,包括若干指令用以使得一臺終端設備(可以是手機,計算機,服務器,或者網(wǎng)絡設備等)執(zhí)行本發(fā)明各個實施例所述的方法。

實施例2

根據(jù)本發(fā)明實施例,還提供了一種用于實施上述生成描述信息的裝置的結(jié)構框圖,如圖5所示,該裝置包括:獲取模塊10,用于獲取多張數(shù)據(jù)表中每張數(shù)據(jù)表所包含的字段信息;確定模塊20,用于根據(jù)字段信息確定多張數(shù)據(jù)表相互間的關聯(lián)關系;生成模塊30,用于利用多張數(shù)據(jù)表相互間的關聯(lián)關系生成描述信息,其中,描述信息用于記錄多張數(shù)據(jù)表相互間的連接次序以及相鄰數(shù)據(jù)表之間所使用的連接條件。

可選地,圖6是根據(jù)本發(fā)明優(yōu)選實施例的生成描述信息的裝置的結(jié)構框圖,如圖6所示,確定模塊20包括:選取單元200,用于從多張數(shù)據(jù)表中選取任意一張待遍歷的數(shù)據(jù)表;查找單元202,用于查找與選取的數(shù)據(jù)表所包含的字段信息中具有一個或多個相同字段的數(shù)據(jù)表,并將查找到的數(shù)據(jù)表設置為選取的數(shù)據(jù)表的待連接數(shù)據(jù)表;建立單元204,用于在選取的數(shù)據(jù)表與待連接數(shù)據(jù)表之間建立關聯(lián)關系;返回選取單元,直至多張數(shù)據(jù)表被全部遍歷。

可選地,如圖6所示,生成模塊30包括:獲取單元300,用于按照多張數(shù)據(jù)表相互間的關聯(lián)關系從初始遍歷的數(shù)據(jù)表開始依次獲取下一個遍歷的數(shù)據(jù)表的標識信息,與下一個遍歷的數(shù)據(jù)表相鄰接的數(shù)據(jù)表的標識信息以及下一個遍歷的數(shù)據(jù)表與鄰接的數(shù)據(jù)表之間的連接條件,其中,鄰接的數(shù)據(jù)表為已經(jīng)遍歷過的數(shù)據(jù)表;生成單元302,用于采用獲取到的下一個遍歷的數(shù)據(jù)表的標識信息,鄰接的數(shù)據(jù)表的標識信息以及下一個遍歷的數(shù)據(jù)表與鄰接的數(shù)據(jù)表之間的連接條件生成描述信息。

可選地,生成單元302包括:第一生成子單元(圖中未示出),用于先根據(jù)下一個遍歷的數(shù)據(jù)表的標識信息和鄰接的數(shù)據(jù)表的標識信息建立下一個遍歷的數(shù)據(jù)表與鄰接的數(shù)據(jù)表之間的關聯(lián)關系后,再記錄下一個遍歷的數(shù)據(jù)表與鄰接的數(shù)據(jù)表之間的連接 條件,分別生成與已經(jīng)遍歷的數(shù)據(jù)表對應的分段連接信息;第二生成子單元(圖中未示出),用于聯(lián)合全部分段連接信息,生成描述信息。

可選地,第一生成子單元(圖中未示出),用于在下一個遍歷的數(shù)據(jù)表同時與多個數(shù)據(jù)表相鄰接和/或下一個遍歷的數(shù)據(jù)表與部分相鄰接的數(shù)據(jù)表存在多個相同的字段時,則記錄的下一個遍歷的數(shù)據(jù)表與鄰接的數(shù)據(jù)表之間的連接條件是由下一個遍歷的數(shù)據(jù)表與多個數(shù)據(jù)表相鄰接所產(chǎn)生的連接條件和/或由下一個遍歷的數(shù)據(jù)表與部分相鄰接的數(shù)據(jù)表存在多個相同的字段所產(chǎn)生的連接條件的并集。

實施例3

本發(fā)明的實施例可以提供一種計算機終端,該計算機終端可以是計算機終端群中的任意一個計算機終端設備??蛇x地,在本實施例中,上述計算機終端也可以替換為移動終端等終端設備。

可選地,在本實施例中,上述計算機終端可以位于計算機網(wǎng)絡的多個網(wǎng)絡設備中的至少一個網(wǎng)絡設備。

可選地,圖7是根據(jù)本發(fā)明實施例的一種計算機終端的結(jié)構框圖。如圖7所示,該計算機終端可以包括:一個或多個(圖中僅示出一個)處理器以及存儲器。

其中,存儲器可用于存儲軟件程序以及模塊,如本發(fā)明實施例中的生成描述信息的方法和裝置對應的程序指令/模塊,處理器通過運行存儲在存儲器內(nèi)的軟件程序以及模塊,從而執(zhí)行各種功能應用以及數(shù)據(jù)處理,即實現(xiàn)上述的生成描述信息的方法。存儲器可包括高速隨機存儲器,還可以包括非易失性存儲器,如一個或者多個磁性存儲裝置、閃存、或者其他非易失性固態(tài)存儲器。在一些實例中,存儲器可進一步包括相對于處理器遠程設置的存儲器,這些遠程存儲器可以通過網(wǎng)絡連接至終端。上述網(wǎng)絡的實例包括但不限于互聯(lián)網(wǎng)、企業(yè)內(nèi)部網(wǎng)、局域網(wǎng)、移動通信網(wǎng)及其組合。

處理器可以通過傳輸裝置調(diào)用存儲器存儲的信息及應用程序,以執(zhí)行下述步驟:

s1,獲取多張數(shù)據(jù)表中每張數(shù)據(jù)表所包含的字段信息;

s2,根據(jù)字段信息確定多張數(shù)據(jù)表相互間的關聯(lián)關系;

s3,利用多張數(shù)據(jù)表相互間的關聯(lián)關系生成描述信息,其中,描述信息用于記錄多張數(shù)據(jù)表相互間的連接次序以及相鄰數(shù)據(jù)表之間所使用的連接條件。

可選的,上述處理器還可以執(zhí)行如下步驟的程序代碼:選取步驟:從多張數(shù)據(jù)表 中選取任意一張待遍歷的數(shù)據(jù)表;查找步驟:查找與選取的數(shù)據(jù)表所包含的字段信息中具有一個或多個相同字段的數(shù)據(jù)表,并將查找到的數(shù)據(jù)表設置為選取的數(shù)據(jù)表的待連接數(shù)據(jù)表;在選取的數(shù)據(jù)表與待連接數(shù)據(jù)表之間建立關聯(lián)關系;返回選取步驟,直至多張數(shù)據(jù)表被全部遍歷。

可選的,上述處理器還可以執(zhí)行如下步驟的程序代碼:按照多張數(shù)據(jù)表相互間的關聯(lián)關系從初始遍歷的數(shù)據(jù)表開始依次獲取下一個遍歷的數(shù)據(jù)表的標識信息,與下一個遍歷的數(shù)據(jù)表相鄰接的數(shù)據(jù)表的標識信息以及下一個遍歷的數(shù)據(jù)表與鄰接的數(shù)據(jù)表之間的連接條件,其中,鄰接的數(shù)據(jù)表為已經(jīng)遍歷過的數(shù)據(jù)表;采用獲取到的下一個遍歷的數(shù)據(jù)表的標識信息,鄰接的數(shù)據(jù)表的標識信息以及下一個遍歷的數(shù)據(jù)表與鄰接的數(shù)據(jù)表之間的連接條件生成描述信息。

可選的,上述處理器還可以執(zhí)行如下步驟的程序代碼:先根據(jù)下一個遍歷的數(shù)據(jù)表的標識信息和鄰接的數(shù)據(jù)表的標識信息建立下一個遍歷的數(shù)據(jù)表與鄰接的數(shù)據(jù)表之間的關聯(lián)關系后,再記錄下一個遍歷的數(shù)據(jù)表與鄰接的數(shù)據(jù)表之間的連接條件,分別生成與已經(jīng)遍歷的數(shù)據(jù)表對應的分段連接信息;聯(lián)合全部分段連接信息,生成描述信息。

可選的,上述處理器還可以執(zhí)行如下步驟的程序代碼:如果下一個遍歷的數(shù)據(jù)表同時與多個數(shù)據(jù)表相鄰接和/或下一個遍歷的數(shù)據(jù)表與部分相鄰接的數(shù)據(jù)表存在多個相同的字段時,則記錄的下一個遍歷的數(shù)據(jù)表與鄰接的數(shù)據(jù)表之間的連接條件是由下一個遍歷的數(shù)據(jù)表與多個數(shù)據(jù)表相鄰接所產(chǎn)生的連接條件和/或由下一個遍歷的數(shù)據(jù)表與部分相鄰接的數(shù)據(jù)表存在多個相同的字段所產(chǎn)生的連接條件的并集。

采用本發(fā)明實施例,采用通過獲取多張數(shù)據(jù)表中每張數(shù)據(jù)表所包含的字段信息并根據(jù)字段信息確定多張數(shù)據(jù)表相互間的關聯(lián)關系的方式,利用多張數(shù)據(jù)表相互間的關聯(lián)關系生成用于記錄多張數(shù)據(jù)表相互間的連接次序以及相鄰數(shù)據(jù)表之間所使用的連接條件的描述信息,達到了不需要人工參與便可以自動生成上述描述信息(例如:合法的表連接sql語句)來完成數(shù)據(jù)分析的目的,從而實現(xiàn)了通過自動生成數(shù)據(jù)表之間相互關系的描述信息不僅提高了數(shù)據(jù)分析效率而且還提升了數(shù)據(jù)分析結(jié)果準確性的技術效果,進而解決了相關技術中無法在給定若干張數(shù)據(jù)表且可獲知數(shù)據(jù)表之間的關系的情況下,通過采用自動生成合法的表連接sql語句的實現(xiàn)方式來完成數(shù)據(jù)分析的技術問題。

本領域普通技術人員可以理解,圖7所示的結(jié)構僅為示意,計算機終端也可以是智能手機(如android手機、ios手機等)、平板電腦、掌聲電腦以及移動互聯(lián)網(wǎng)設備(mobileinternetdevices,mid)、pad等終端設備。圖7其并不對上述電子裝置的 結(jié)構造成限定。例如,計算機終端還可包括比圖7中所示更多或者更少的組件(如網(wǎng)絡接口、顯示裝置等),或者具有與圖7所示不同的配置。

本領域普通技術人員可以理解上述實施例的各種方法中的全部或部分步驟是可以通過程序來指令終端設備相關的硬件來完成,該程序可以存儲于一計算機可讀存儲介質(zhì)中,存儲介質(zhì)可以包括:閃存盤、只讀存儲器(read-onlymemory,rom)、隨機存取器(randomaccessmemory,ram)、磁盤或光盤等。

實施例4

本發(fā)明的實施例還提供了一種存儲介質(zhì)??蛇x地,在本實施例中,上述存儲介質(zhì)可以用于保存上述實施例一所提供的生成描述信息的方法所執(zhí)行的程序代碼。

可選地,在本實施例中,上述存儲介質(zhì)可以位于計算機網(wǎng)絡中計算機終端群中的任意一個計算機終端中,或者位于移動終端群中的任意一個移動終端中。

可選地,在本實施例中,存儲介質(zhì)被設置為存儲用于執(zhí)行以下步驟的程序代碼:

s1,獲取多張數(shù)據(jù)表中每張數(shù)據(jù)表所包含的字段信息;

s2,根據(jù)字段信息確定多張數(shù)據(jù)表相互間的關聯(lián)關系;

s3,利用多張數(shù)據(jù)表相互間的關聯(lián)關系生成描述信息,其中,描述信息用于記錄多張數(shù)據(jù)表相互間的連接次序以及相鄰數(shù)據(jù)表之間所使用的連接條件。

可選地,存儲介質(zhì)還被設置為存儲用于執(zhí)行以下步驟的程序代碼:選取步驟:從多張數(shù)據(jù)表中選取任意一張待遍歷的數(shù)據(jù)表;查找步驟:查找與選取的數(shù)據(jù)表所包含的字段信息中具有一個或多個相同字段的數(shù)據(jù)表,并將查找到的數(shù)據(jù)表設置為選取的數(shù)據(jù)表的待連接數(shù)據(jù)表;在選取的數(shù)據(jù)表與待連接數(shù)據(jù)表之間建立關聯(lián)關系;返回選取步驟,直至多張數(shù)據(jù)表被全部遍歷。

可選地,存儲介質(zhì)還被設置為存儲用于執(zhí)行以下步驟的程序代碼:按照多張數(shù)據(jù)表相互間的關聯(lián)關系從初始遍歷的數(shù)據(jù)表開始依次獲取下一個遍歷的數(shù)據(jù)表的標識信息,與下一個遍歷的數(shù)據(jù)表相鄰接的數(shù)據(jù)表的標識信息以及下一個遍歷的數(shù)據(jù)表與鄰接的數(shù)據(jù)表之間的連接條件,其中,鄰接的數(shù)據(jù)表為已經(jīng)遍歷過的數(shù)據(jù)表;采用獲取到的下一個遍歷的數(shù)據(jù)表的標識信息,鄰接的數(shù)據(jù)表的標識信息以及下一個遍歷的數(shù)據(jù)表與鄰接的數(shù)據(jù)表之間的連接條件生成描述信息。

可選地,存儲介質(zhì)還被設置為存儲用于執(zhí)行以下步驟的程序代碼:先根據(jù)下一個 遍歷的數(shù)據(jù)表的標識信息和鄰接的數(shù)據(jù)表的標識信息建立下一個遍歷的數(shù)據(jù)表與鄰接的數(shù)據(jù)表之間的關聯(lián)關系后,再記錄下一個遍歷的數(shù)據(jù)表與鄰接的數(shù)據(jù)表之間的連接條件,分別生成與已經(jīng)遍歷的數(shù)據(jù)表對應的分段連接信息;聯(lián)合全部分段連接信息,生成描述信息。

可選地,存儲介質(zhì)還被設置為存儲用于執(zhí)行以下步驟的程序代碼:如果下一個遍歷的數(shù)據(jù)表同時與多個數(shù)據(jù)表相鄰接和/或下一個遍歷的數(shù)據(jù)表與部分相鄰接的數(shù)據(jù)表存在多個相同的字段時,則記錄的下一個遍歷的數(shù)據(jù)表與鄰接的數(shù)據(jù)表之間的連接條件是由下一個遍歷的數(shù)據(jù)表與多個數(shù)據(jù)表相鄰接所產(chǎn)生的連接條件和/或由下一個遍歷的數(shù)據(jù)表與部分相鄰接的數(shù)據(jù)表存在多個相同的字段所產(chǎn)生的連接條件的并集。

上述本發(fā)明實施例序號僅僅為了描述,不代表實施例的優(yōu)劣。

在本發(fā)明的上述實施例中,對各個實施例的描述都各有側(cè)重,某個實施例中沒有詳述的部分,可以參見其他實施例的相關描述。

在本申請所提供的幾個實施例中,應該理解到,所揭露的技術內(nèi)容,可通過其它的方式實現(xiàn)。其中,以上所描述的裝置實施例僅僅是示意性的,例如所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式,例如多個單元或組件可以結(jié)合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,單元或模塊的間接耦合或通信連接,可以是電性或其它的形式。

所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部單元來實現(xiàn)本實施例方案的目的。

另外,在本發(fā)明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以采用硬件的形式實現(xiàn),也可以采用軟件功能單元的形式實現(xiàn)。

所述集成的單元如果以軟件功能單元的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,可以存儲在一個計算機可讀取存儲介質(zhì)中?;谶@樣的理解,本發(fā)明的技術方案本質(zhì)上或者說對現(xiàn)有技術做出貢獻的部分或者該技術方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計算機設備(可為個人計算機、服務器或者網(wǎng)絡設備等)執(zhí)行本發(fā)明各個實施例所述方法的全部或部分步驟。而前述的存儲介質(zhì)包括:u盤、只讀存儲器(rom,read-only memory)、隨機存取存儲器(ram,randomaccessmemory)、移動硬盤、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。

以上所述僅是本發(fā)明的優(yōu)選實施方式,應當指出,對于本技術領域的普通技術人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應視為本發(fā)明的保護范圍。

當前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
涿鹿县| 中牟县| 定南县| 密云县| 山西省| 安阳县| 兴宁市| 中卫市| 凤山县| 新龙县| 金平| 邹城市| 集安市| 平远县| 济宁市| 永城市| 遵义县| 江津市| 兰溪市| 平山县| 黑水县| 玉门市| 莆田市| 桦南县| 随州市| 乌兰察布市| 定兴县| 汾阳市| 长治县| 达日县| 内江市| 双江| 岑溪市| 哈尔滨市| 秭归县| 县级市| 呼图壁县| 璧山县| 宣城市| 休宁县| 沽源县|