本申請屬于計算機數(shù)據(jù)處理領域,尤其涉及一種配置數(shù)據(jù)結(jié)構的處理方法及裝置。
背景技術:
數(shù)據(jù)可視化起源于18世紀,數(shù)據(jù)可視化的主要目的是要對數(shù)據(jù)進行可視化處理,數(shù)據(jù)到圖形的映射,以實現(xiàn)能夠更加明確有效地傳達信息,例如網(wǎng)站網(wǎng)頁中的圖表繪制、app中用戶關注信息的實時圖像展示等。
一般的,在網(wǎng)頁設計或終端應用數(shù)據(jù)可視化處理時,通常需要為當前的作業(yè)任務進行數(shù)據(jù)建模。建成的數(shù)據(jù)模型主要是用來表達數(shù)據(jù)的底層描述,通常可以包括數(shù)據(jù)的定義、類型、數(shù)據(jù)格式化,以及不同數(shù)據(jù)類型的操作功能等,例如浮點數(shù)可以配備加、減、乘、除操作等。具體的例如在接到數(shù)據(jù)可視化處理作業(yè)任務時,設計人員需要為當前的作業(yè)任務設計并構建符合當前應用場景的數(shù)據(jù)模型,為需要處理的數(shù)據(jù)源中的數(shù)據(jù)設置好數(shù)據(jù)結(jié)構配置信息。例如利用現(xiàn)有技術中較為流行的可視化庫d3.js提供的映射機制設置的某個數(shù)據(jù)配置描述如下:
當使用d3.js設置圓形的繪制屬性時,如cx、cy、width、height、fill,需要在方法鏈上需要調(diào)用5次attr()方法:
circleobj.attr("cx",0).attr("cy",0).attr("width",50).attr("height",50).attr("fill","teal");
或者,現(xiàn)有技術中也可以采用d3.js提供的多值映射機制,這個機制可以讓設計人員仍然使用attr()方法一次性設置多個值,即將所有的配置封裝入一個對象:
但是,現(xiàn)有技術中,每次作業(yè)任務的數(shù)據(jù)結(jié)構配置都是由設計人員手動進行數(shù)據(jù)模型定義、設置。在面對同一類業(yè)務場景的多個作業(yè)任務時通常需在不同的作業(yè)任務中繪制多張圖表,尤其是這些圖表的數(shù)據(jù)中某個維度的數(shù)據(jù)模型都相同的時候,設計人員就需要為各個圖 表的數(shù)據(jù)都定義一次,配置生成源數(shù)據(jù)的數(shù)據(jù)模型。如某個作業(yè)任務1中圖表的數(shù)據(jù)模型的代碼:
當處理作業(yè)任務2、作業(yè)任務3時,對于同樣類型的源數(shù)據(jù)往往會造成導致chart1、chart2、chart3三張圖表的數(shù)據(jù)模型代碼重復定義。這樣不但造成了代碼的冗余而且不利于代碼的可讀性,有時候還會造成圖表顯示數(shù)據(jù)的不一致性。并且當業(yè)務的數(shù)據(jù)需要具備一定的專業(yè)背景時,更是需要用戶去了解數(shù)據(jù)該如何定義,很容易發(fā)成錯誤,降低編碼設計人員的作業(yè)操作體驗。
現(xiàn)有技術中例如網(wǎng)頁中圖表數(shù)據(jù)的數(shù)據(jù)模型采用人工手動配置的方法,不僅數(shù)據(jù)結(jié)構的配置效率低,而且在面對同樣業(yè)務場景的業(yè)務數(shù)據(jù)時還會增加大量重復配置數(shù)據(jù)結(jié)構的工作,降低編碼作業(yè)效率,增加代碼錯誤風險,降低用戶作業(yè)操作體驗。
技術實現(xiàn)要素:
本申請目的在于提供一種配置數(shù)據(jù)結(jié)構的處理方法及裝置,可以避免為相同業(yè)務場景下的多個作業(yè)任務的重復數(shù)據(jù)配置,減少了代碼冗余,提高編碼作業(yè)效率,提升用戶作業(yè)操作體驗。
本申請?zhí)峁┑囊环N配置數(shù)據(jù)結(jié)構的處理方法及裝置是這樣實現(xiàn)的:
一種配置數(shù)據(jù)結(jié)構的處理方法,所述方法包括:
獲取待處理的源數(shù)據(jù),載入預先設置的與所述源數(shù)據(jù)業(yè)務場景相匹配的數(shù)據(jù)配置文件;
在所述數(shù)據(jù)配置文件中查找與所述源數(shù)據(jù)的第一匹配字段相匹配的第二匹配字段;
將查找到的所述數(shù)據(jù)配置文件中第二匹配字段的數(shù)據(jù)結(jié)構配置信息賦值給所述源數(shù)據(jù)中相應的第一匹配字段,。
一種配置數(shù)據(jù)結(jié)構的處理裝置,所述裝置包括:
數(shù)據(jù)加載模塊,用于獲取待處理的源數(shù)據(jù),以及載入與所述源數(shù)據(jù)業(yè)務場景相匹配的數(shù)據(jù)配置文件;
配置匹配模塊,用于存儲預先設置的基于業(yè)務場景定義的數(shù)據(jù)配置文件,以及在與所述 源數(shù)據(jù)業(yè)務場景相匹配的數(shù)據(jù)配置文件中查找與所述源數(shù)據(jù)的第一匹配字段相匹配的第二匹配字段;
數(shù)據(jù)配置模塊,用于將查找到的所述數(shù)據(jù)配置文件中第二匹配字段的數(shù)據(jù)結(jié)構配置信息賦值給所述源數(shù)據(jù)中相應的第一匹配字段。
一種數(shù)據(jù)結(jié)構配置裝置,所述裝置包括:
存儲單元,用于存儲預先設置的至少一份基于業(yè)務場景定義的數(shù)據(jù)配置文件;
處理單元,用于在與待處理的源數(shù)據(jù)業(yè)務場景匹配的數(shù)據(jù)配置文件中查找與所述源數(shù)據(jù)的第一匹配字段相匹配的第二匹配字段,以及將查找到的所述第二匹配字段的數(shù)據(jù)結(jié)構配置信息賦值給所述源數(shù)據(jù)中相應的第一匹配字段。
本申請?zhí)峁┑囊环N配置數(shù)據(jù)結(jié)構的處理方法及裝置,可以提供適配業(yè)務場景的通用數(shù)據(jù)結(jié)構配置處理方法。在相同類型業(yè)務場景的下為不同作業(yè)任務構建數(shù)據(jù)模型時可以使用預先設置的該類型業(yè)務場景下的通用數(shù)據(jù)配置文件,然后可以根據(jù)設置的匹配關鍵字段如數(shù)據(jù)屬性名自動在數(shù)據(jù)配置文件中進行配對查找。然后可以加載查找到的該屬性名下的數(shù)據(jù)配置結(jié)構信息并賦給要生成圖表的數(shù)據(jù)源中相應的數(shù)據(jù),配置生成最終的數(shù)據(jù)源中相應屬性名的數(shù)據(jù)結(jié)構,完成數(shù)據(jù)定義。顯然,采用本申請?zhí)峁┑呐渲脭?shù)據(jù)結(jié)構的處理方法及裝置,可以快速的完成源數(shù)據(jù)中的數(shù)據(jù)定義,在使用時可以通過加載數(shù)據(jù)配置文件完成數(shù)據(jù)結(jié)構配置,減少用戶重復的配置數(shù)據(jù)結(jié)構的工作,大大提高編碼作業(yè)效率。并且相同類型業(yè)務場景的數(shù)據(jù)可以采用統(tǒng)一的數(shù)據(jù)配置文件,使用統(tǒng)一規(guī)范化的數(shù)據(jù)定義,大大減少了代碼冗余和降低代碼錯誤風險,提升用戶作業(yè)操作體驗和整體作業(yè)任務的處理效率。
附圖說明
為了更清楚地說明本申請實施例或現(xiàn)有技術中的技術方案,下面將對實施例或現(xiàn)有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請中記載的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是本申請?zhí)峁┑囊环N配置數(shù)據(jù)結(jié)構的處理方法一種實施例的方法流程示意圖;
圖2是本申請?zhí)峁┑囊环N配置數(shù)據(jù)結(jié)構的處理裝置另一種實施例的方法流程示意圖;
圖3是本申請?zhí)峁┑囊环N數(shù)據(jù)結(jié)果配置裝置一種實施例的模塊結(jié)構示意圖。
具體實施方式
為了使本技術領域的人員更好地理解本申請中的技術方案,下面將結(jié)合本申請實施例中的附圖,對本申請實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本申請一部分實施例,而不是全部的實施例?;诒旧暾堉械膶嵤├绢I域普通技術人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都應當屬于本申請保護的范圍。
圖1是本申請所述一種配置數(shù)據(jù)結(jié)構的處理方法一個實施例的方法流程圖。雖然本申請?zhí)峁┝巳缦率鰧嵤├蚋綀D所示的方法操作步驟或裝置結(jié)構,但基于常規(guī)或者無需創(chuàng)造性的勞動在所述方法或裝置中可以包括更多或者更少的操作步驟或模塊結(jié)構。在邏輯性上不存在必要因果關系的步驟或結(jié)構中,這些步驟的執(zhí)行順序或裝置的模塊結(jié)構不限于本申請實施例提供的執(zhí)行順序或模塊結(jié)構。所述的方法或模塊結(jié)構的在實際中的裝置或終端產(chǎn)品應用時,可以按照實施例或者附圖所示的方法或模塊結(jié)構連接進行順序執(zhí)行或者并行執(zhí)行(例如并行處理器或者多線程處理的環(huán)境)。
具體的如圖1所述,本申請一種實施例提供的一種配置數(shù)據(jù)結(jié)構的處理方法可以包括:
s1:獲取待處理的源數(shù)據(jù),載入預先設置的與所述源數(shù)據(jù)業(yè)務場景相匹配的數(shù)據(jù)配置文件。
本申請中所述的源數(shù)據(jù)通??梢园ň唧w應用場景中需要進行數(shù)據(jù)可視化生成圖表的數(shù)據(jù)源中的數(shù)據(jù)。一般的,在接到數(shù)據(jù)可視化作業(yè)任務時可以確定待處理的源數(shù)據(jù),設置該作業(yè)任務的數(shù)據(jù)源。
進一步的,獲取待處理的源數(shù)據(jù)之后,可以根據(jù)該數(shù)據(jù)可視化作業(yè)任務的源數(shù)據(jù)的業(yè)務場景加載相應的數(shù)據(jù)配置文件,在本實施例中具體的可以通過載入數(shù)據(jù)建模工具加載數(shù)據(jù)配置文件。在本申請中,可以預先設置作業(yè)任務下業(yè)務場景的通用數(shù)據(jù)配置文件,該數(shù)據(jù)配置文件可以適用于屬于該相同業(yè)務場景下的不同作業(yè)任務進行配置數(shù)據(jù)結(jié)構。一般的,在數(shù)據(jù)可視化處理時,通常包括一些共通的視覺元素,如:
(1)坐標:數(shù)值的位置被對應到直角坐標系或極坐標上;
(2)大?。簲?shù)值的大小被對應到圖形的大小上;
(3)色彩:數(shù)值的分類和界限等被對應到顏色的不同上;
(4)標簽:數(shù)值的特征用標簽來標記;
(5)關聯(lián):數(shù)值之間的聯(lián)系,用關聯(lián)線條登連接起來。
進行圖表繪制時,執(zhí)行數(shù)據(jù)到圖表的映射,即源數(shù)據(jù)中數(shù)據(jù)數(shù)值的度量映射,數(shù)據(jù)屬性的映射等。數(shù)據(jù)可視化作業(yè)任務中的數(shù)據(jù)可以看作是數(shù)據(jù)對象和該數(shù)據(jù)對象屬性的集合。在本申請中,可以針對不同的業(yè)務場景預先定義設置好數(shù)據(jù)的屬性及屬性值的類型和格式,形成適用于具體某類業(yè)務場景的通用的數(shù)據(jù)配置文件。
本申請實施例中,所述的數(shù)據(jù)結(jié)構可以包括數(shù)據(jù)的屬性及屬性值,所述的屬性具體的可以包括數(shù)據(jù)的變量、值域、特征或特性等,所述的屬性值可以理解為具體表達數(shù)據(jù)的數(shù)值或者符號的數(shù)據(jù)值。在實際多數(shù)現(xiàn)場應用中,對于各個具體業(yè)務場景中的數(shù)據(jù)而言,數(shù)據(jù)的類型和格式通常是固定的。例如金融業(yè)務、系統(tǒng)安全、業(yè)務訂單等的網(wǎng)頁圖表繪制中,相同的業(yè)務場景中涉及到的數(shù)據(jù)定義、取值、調(diào)用方式等等往往存在大量相同或相似的配置方式。因此,本申請實施例中可以預先定義設置好適配具體業(yè)務場景的數(shù)據(jù)配置文件,在實施過程中可以通過提供的通用配置工具加載該數(shù)據(jù)配置文件,用戶就可以避免為各個圖表都去定義相同的數(shù)據(jù)配置,減少了代碼的冗余并提高了編碼效率。
具體的在本申請網(wǎng)頁數(shù)據(jù)可視化繪制頁面圖表的應用場景中,所述的數(shù)據(jù)配置文件可以采用json描述的文件格式,將用戶預先定義業(yè)務場景的數(shù)據(jù)結(jié)構配置信息以json數(shù)據(jù)的描述格式保存。所述的json(javascriptobjectnotation)是一種輕量級的數(shù)據(jù)交換格式,采用完全獨立于語言的文本格式,是一種理想的數(shù)據(jù)交換語言,易于人閱讀和編寫,同時也易于機器解析和生成(一般用于提升網(wǎng)絡傳輸速率)。通常json數(shù)據(jù)的書寫格式是:名稱/值對。具體的,本實施例應用場景以json格式提供的一種配置文件中的配置內(nèi)容可以包括:propertyname代表數(shù)據(jù)的屬性名,作為數(shù)據(jù)結(jié)構的鍵值,用于配對,name代表該數(shù)據(jù)的顯示名(用于圖表上的顯示),type代表數(shù)據(jù)的類型,format定義了數(shù)據(jù)的格式化信息(如顯示幾位小數(shù)點,時間類型的數(shù)據(jù)該如何顯示等)。代碼實現(xiàn)可以包括如下數(shù)據(jù)結(jié)構配置信息:
用戶可以為某一類業(yè)務場景預先設置數(shù)據(jù)配置文件。這樣,用戶在處理該業(yè)務場景下的不同作業(yè)任務時,可以加載該業(yè)務場景的數(shù)據(jù)配置文件,完成源數(shù)據(jù)的數(shù)據(jù)定義。數(shù)據(jù)配置文件中包含了用戶定義設置的業(yè)務場景下可能使用到的所有數(shù)據(jù)的數(shù)據(jù)結(jié)構配置信息。在使用的時候,獲取待處理的源數(shù)據(jù)后可以按需載入預先設置的與所述源數(shù)據(jù)業(yè)務場景相匹配的數(shù)據(jù)配置文件。
s2:在所述數(shù)據(jù)配置文件中查找與所述源數(shù)據(jù)的第一匹配字段相匹配的第二匹配字段。
本實施例中所述的源數(shù)據(jù)通??梢栽谳d入數(shù)據(jù)之前進行數(shù)據(jù)屬性名與數(shù)據(jù)配置文件中的屬性統(tǒng)一化處理,將設置的數(shù)據(jù)源中的源數(shù)據(jù)的屬性名與數(shù)據(jù)配置文件中表達相同含義的屬性名統(tǒng)一。這樣,就可以通過提供的數(shù)據(jù)建模工具在載入的數(shù)據(jù)配置文件中按照屬性名進行查找配對。本實施例應用場景中可以設置為按照屬性名稱進行查找配置,即本實施例中進行查找配對的所述源數(shù)據(jù)的第一匹配字段和數(shù)據(jù)配置文件中的第二匹配字段均為數(shù)據(jù)的屬性名。當然在其他的實施例中,所述第一匹配字段和第二匹配字段也可以為設定的其他用于查找配對的數(shù)據(jù)字段?;蛘?,甚至在一些實施方式中,所述第一匹配字段與第二匹配字段也可以不必為相同的數(shù)據(jù)字段,而是通過第一匹配字段與第二匹配字段的對應關系進行查找匹配。因此,本申請所述配置數(shù)據(jù)結(jié)構的處理方法的另一種實施例中,所述第一匹配字段與所述第二匹配字段可以為數(shù)據(jù)的屬性名。
具體的一個應用中例如,在金融業(yè)務場景的數(shù)據(jù)可視化作業(yè)任務處理時,預先配置了該金融業(yè)務場景下適用的json格式的數(shù)據(jù)配置文件“fincfgutil”。該數(shù)據(jù)配置文件“fincfgutil”中預先定義了金融業(yè)務場景里可以用到的100個數(shù)據(jù)的屬性及屬性值的類型,包括屬性名、、數(shù)據(jù)類型、取值方式等的數(shù)據(jù)結(jié)構配置信息。在一個實際金融開發(fā)中數(shù)據(jù)建模(定義)時加載設置的數(shù)據(jù)源中的源數(shù)據(jù)實際用到30個數(shù)據(jù),這30個源數(shù)據(jù)的屬性名在加載處理前可以被統(tǒng)一規(guī)范成與數(shù)據(jù)配置文件中表達相同含義的數(shù)據(jù)的屬性名相同。然后,可以根據(jù)屬性名在數(shù)據(jù)配置文件“fincfgutil”中逐個查找與源數(shù)據(jù)的屬性名(第一匹配字段)相同的屬性名(第二匹配字段)。
本實施例中,獲取源數(shù)據(jù)并載入相應的數(shù)據(jù)配置文件后,可以在所述數(shù)據(jù)配置文件中查找與所述源數(shù)據(jù)的第一匹配字段相匹配的第二匹配字段。
s3:將查找到的所述數(shù)據(jù)配置文件中第二匹配字段的數(shù)據(jù)結(jié)構配置信息賦值給所述源數(shù)據(jù)中相應的第一匹配字段。
如上述,經(jīng)過在數(shù)據(jù)配置文件中的查找匹配,可以找到數(shù)據(jù)配置文件中與第一匹配字段 相匹配的第二匹配字段,然后可以將查找到的第二匹配字段的數(shù)據(jù)結(jié)構配置信息賦值給源數(shù)據(jù)中相應的第一匹配字段,生成最終的數(shù)據(jù)定義,完成數(shù)據(jù)結(jié)構配置。在本實施例應用場景中,數(shù)據(jù)配置文件加載、查找、配對、賦值、生成數(shù)據(jù)定義等這一些列操作可以通過設置的數(shù)據(jù)建模工具在內(nèi)部執(zhí)行處理完成,自動的實現(xiàn)對源數(shù)據(jù)的數(shù)據(jù)定義,大大提高作業(yè)處理效率。
例如在上述金融業(yè)務場景下適用的json格式的數(shù)據(jù)配置文件“fincfgutil”中全部查找到了30個源數(shù)據(jù)的相應數(shù)據(jù)結(jié)構配置信息,可以將數(shù)據(jù)配置文件中與源數(shù)據(jù)屬性名相同的30個屬性名下的數(shù)據(jù)結(jié)構配置信息賦值給30個源數(shù)據(jù),快速、自動生成這30個源數(shù)據(jù)的代碼定義、取值、調(diào)用方式等等。
當然,在一些應用場景中,所述的數(shù)據(jù)配置文件可能未必全部包括當前作業(yè)任務下源數(shù)據(jù)的所有數(shù)據(jù)字段,例如數(shù)據(jù)配置文件“fincfgutil”中可以僅包括30個源數(shù)據(jù)中29個源數(shù)據(jù)的數(shù)據(jù)結(jié)構配置信息,對于屬性名“antfanyi”并沒有相關的數(shù)據(jù)結(jié)構配置信息。此時對于屬性名為“antfanyi”的源數(shù)據(jù)的數(shù)據(jù)結(jié)構配置可以由用戶采用手動編碼自行設置。當然,用戶也可以在數(shù)據(jù)配置文件“fincfgutil”中添加屬性名“antfanyi”的相關數(shù)據(jù)定義的配置信息,然后重新加載數(shù)據(jù)配置文件“fincfgutil”中,完成包括屬性名“antfanyi”的所有源數(shù)據(jù)的數(shù)據(jù)結(jié)構配置。
這樣,采用本申請實施例提供的實施方案,在數(shù)據(jù)可視化進行數(shù)據(jù)建模處理時,可以通過載入設定數(shù)據(jù)配置工具實現(xiàn)快速、自動的數(shù)據(jù)定義(數(shù)據(jù)建模),減少相同業(yè)務場景下不同作業(yè)任務的重復數(shù)據(jù)配置,大大減少代碼冗余,提高作業(yè)效率。例如網(wǎng)頁圖表繪制數(shù)據(jù)可視化處理過程設置的執(zhí)行代碼可以如下所示:
vardataframe=newframe(data);//原始數(shù)據(jù)轉(zhuǎn)換為數(shù)據(jù)集合
dataframe=frame.rename('original','new');//統(tǒng)一屬性名
varfincfgutil=require('fincfgutil');//載入數(shù)據(jù)配置工具
chart.source(dataframe,fincfgutil);//生成最終的數(shù)據(jù)定義,并作為數(shù)據(jù)源載入chart對象中
用戶只需要在在chart.source(data)(即為圖表實例載入數(shù)據(jù)源)的時候,將統(tǒng)一數(shù)據(jù)配置工具作為第二個參數(shù)傳入,載入相匹配的業(yè)務場景的數(shù)據(jù)配置文件即可將本次實際用到的30個源數(shù)據(jù)自動完成數(shù)據(jù)建模。與現(xiàn)有技術的方式相比,不需要一遍一遍為數(shù)據(jù)的各個屬性定義類型、格式等,而且這樣可以一次性為所有需要重新定義的數(shù)據(jù)生成新的模型,大大提高了開發(fā)效率,減少了繪制圖表的代碼量和配置項,使得代碼清晰易讀,可維護,提供整個 作業(yè)任務處理效率和用戶作業(yè)操作體驗。
本申請?zhí)峁┑呐渲脭?shù)據(jù)結(jié)構的處理方法可以應用在對網(wǎng)頁頁面圖表繪制進行可視化處理的數(shù)據(jù)模型構建,相應的,在該應用場景下,所述的源數(shù)據(jù)的一種實施方式中所述源數(shù)據(jù)可以包括:網(wǎng)頁圖表繪制作業(yè)中數(shù)據(jù)可視化處理中的圖表數(shù)據(jù)。當然,需要說明的是,本申請?zhí)峁┑呐渲脭?shù)據(jù)結(jié)構的處理方法不限于網(wǎng)頁頁面圖表繪制的相關作業(yè),在其他的應用場景中,如終端應用展示界面設計、信息交互界面設計等,均可以使用本身提供的技術方案實現(xiàn)根據(jù)預先配置的基于業(yè)務場景的通用數(shù)據(jù)配置文件為作業(yè)任務中的源數(shù)據(jù)快速、自動生成數(shù)據(jù)定義。
本申請的一種實施例中,所述的數(shù)據(jù)配置文件可以以json格式描述,尤其是在web頁面圖表繪制作業(yè)的業(yè)務場景中,json提供通用的數(shù)據(jù)交互格式,易于處理器解析和生成,可以提升web頁面圖表繪制作業(yè)的整體處理效率。因此,本申請所述配置數(shù)據(jù)結(jié)構的處理方法的一種實施例中,所述數(shù)據(jù)配置文件被設置成采用json(javascriptobjectnotation)數(shù)據(jù)描述格式。當然,本申請并不限于數(shù)據(jù)配置文件一定采用json數(shù)據(jù)格式描述,其他的可選實施方式中也可以采取其他的數(shù)據(jù)描述格式。
如前所述,用戶可以為某一類業(yè)務場景預先設置數(shù)據(jù)配置文件。這樣,用戶在處理該業(yè)務場景下的不同作業(yè)任務時,可以加載該業(yè)務場景的數(shù)據(jù)配置文件,完成源數(shù)據(jù)的數(shù)據(jù)定義。當然,用戶可以根據(jù)不同的業(yè)務場景的分析、需求設計等,為不同業(yè)務場景各自生成一份相應的數(shù)據(jù)配置文件。用戶在面對不同的業(yè)務場景時,可以加載相應業(yè)務場景下的數(shù)據(jù)配置文件即可完成源數(shù)據(jù)的數(shù)據(jù)定義。因此,本申請的另一種實施例中,所述的數(shù)據(jù)配置文件被設置成包括基于業(yè)務場景定義的數(shù)據(jù)的結(jié)構配置信息。
本申請實施例可以為各個業(yè)務場景提供該場景下的數(shù)據(jù)配置工具,減少用戶重復低效的數(shù)據(jù)配置工作,并且可以統(tǒng)一同一業(yè)務場景下圖表上的數(shù)據(jù)顯示格式,大大減少代碼冗余并降低編碼作業(yè)錯誤風險,場景適應靈活,代碼清晰易讀、維護便利,大大提高了編碼效率。
上述所述的配置數(shù)據(jù)結(jié)構的處理方法可以采用頁面或者終端應用編程設計語言結(jié)合必要處理器、存儲器的方式實現(xiàn)。例如web頁面圖表繪制對源數(shù)據(jù)進行數(shù)據(jù)定義時可以采用javascript語言生成數(shù)據(jù)配置工具,通過加裝數(shù)據(jù)配置工具實現(xiàn)源數(shù)據(jù)的快速、字段完成數(shù)據(jù)定義,提高數(shù)據(jù)可視化編碼作業(yè)的處理效率。因此,基于本申請所述的配置數(shù)據(jù)結(jié)構的處理方法,本申請?zhí)峁┮环N配置數(shù)據(jù)結(jié)構的處理裝置。圖2是本申請?zhí)峁┑囊环N配置數(shù)據(jù)結(jié)構的處理裝置一種實施例的模塊結(jié)構示意圖。如圖2所示,本實施例中所述裝置可以包括:
數(shù)據(jù)加載模塊101,可以用于獲取待處理的源數(shù)據(jù),以及載入與所述源數(shù)據(jù)業(yè)務場景相 匹配的數(shù)據(jù)配置文件;
配置匹配模塊102,可以用于存儲預先設置的基于業(yè)務場景定義的數(shù)據(jù)配置文件,以及在與所述源數(shù)據(jù)業(yè)務場景相匹配的數(shù)據(jù)配置文件中查找與所述源數(shù)據(jù)的第一匹配字段相匹配的第二匹配字段;
數(shù)據(jù)配置模塊103,可以用于將查找到的所述數(shù)據(jù)配置文件中第二匹配字段的數(shù)據(jù)結(jié)構配置信息賦值給所述源數(shù)據(jù)中相應的第一匹配字段。
在一些實施例中,所述配置匹配模塊102可以存儲當前業(yè)務場景下的數(shù)據(jù)配置文件,在處理該業(yè)務場景下的數(shù)據(jù)可視化作業(yè)任務時均可以使用該數(shù)據(jù)配置文件實現(xiàn)快速、自動的生成源數(shù)據(jù)最終的數(shù)據(jù)定義。當然,本申請所述裝置的另一種實施例中,所述配置匹配模塊102可以基于不同的業(yè)務場景為各個業(yè)務場景均提供該業(yè)務場景下的數(shù)據(jù)配置文件,這樣可以進一步提高配置數(shù)據(jù)結(jié)構的處理裝置的適用場景范圍,使得數(shù)據(jù)可視化作業(yè)處理更加靈活、邊界。因此,本申請所述裝置的另一種實施例中,所述配置匹配模塊102存儲的數(shù)據(jù)配置文件可以包括:
存儲至少一份數(shù)據(jù)配置文件,所述數(shù)據(jù)配置文件被設置成基于業(yè)務場景定義的數(shù)據(jù)結(jié)構配置信息。
本申請?zhí)峁┑呐渲脭?shù)據(jù)結(jié)構的處理方法還用于應用界面、web網(wǎng)頁頁面圖表繪制等多種數(shù)據(jù)可視化處理的業(yè)務場景中。尤其是在web網(wǎng)頁頁面圖表繪制作業(yè)中,可以大幅度減少用戶重復低效的數(shù)據(jù)設置工作,并且可以統(tǒng)一網(wǎng)頁頁面上展示的圖表上的數(shù)據(jù)顯示格式,提高編碼作業(yè)效率和展示效率。因此,本申請所述裝置的一種實施方式中,所述獲取的待處理的源數(shù)據(jù)可以包括網(wǎng)頁圖表繪制作業(yè)中數(shù)據(jù)可視化處理中的圖表數(shù)據(jù)。
相應的,在web網(wǎng)頁頁面圖表繪制作業(yè)的應用場景中,存儲的數(shù)據(jù)配置文件可以為json數(shù)據(jù)格式,以及進行數(shù)據(jù)查找匹配處理時可以根據(jù)數(shù)據(jù)的屬性名進行查找。因此,本申請的另一種實施例中,所述配置匹配模塊102存儲預先設置數(shù)據(jù)配置文件被設置成采用json數(shù)據(jù)格式描述。以及,另一種可選實施方式中,所述第一匹配字段與所述第二匹配字段為數(shù)據(jù)的屬性名。具體的,json數(shù)據(jù)格式描述的數(shù)據(jù)配置文件以及根據(jù)屬性名進行查找匹配的描述可以參照前述方法相關描述,在此不做贅述。
采用本申請?zhí)峁┑呐渲脭?shù)據(jù)結(jié)構的處理方法裝置,可以快速的完成源數(shù)據(jù)中的數(shù)據(jù)定義,在使用時可以通過直接加載完成數(shù)據(jù)結(jié)構配置,減少用戶重復的配置數(shù)據(jù)結(jié)構的工作,大大提高編碼作業(yè)效率。并且相同類型業(yè)務場景的數(shù)據(jù)可以采用統(tǒng)一的數(shù)據(jù)配置文件,使用統(tǒng)一規(guī)范化的數(shù)據(jù)定義,大大減少了代碼冗余和降低代碼錯誤風險,提升用戶作業(yè)操作體驗和整體作業(yè)任務的處理效率。
當然,基于本申請?zhí)峁┡渲脭?shù)據(jù)結(jié)構的處理方法及裝置的實施方式描述,也可以單獨生成一種數(shù)據(jù)配置工具,用來為某類業(yè)務場景下的作業(yè)任務的數(shù)據(jù)進行數(shù)據(jù)配置,包括但不限于圖表數(shù)據(jù)進行數(shù)據(jù)可視化作業(yè)的數(shù)據(jù)定義。在一些終端應用設計的編碼作業(yè)中,同樣可以采用本申請描述的數(shù)據(jù)配置中完成自動、快速的數(shù)據(jù)結(jié)構配置。因此,本申請還提供一種數(shù)據(jù)結(jié)構配置裝置,該裝置可以采用例如javascript的編程設計語言結(jié)合必要的硬件組成,具體的,所述數(shù)據(jù)結(jié)構配置裝置可以包括:
存儲單元201,可以用于存儲預先設置的至少一份基于業(yè)務場景定義的數(shù)據(jù)配置文件;
處理單元202,可以用于在與待處理的源數(shù)據(jù)業(yè)務場景匹配的數(shù)據(jù)配置文件中查找與所述源數(shù)據(jù)的第一匹配字段相匹配的第二匹配字段,以及將查找到的所述第二匹配字段的數(shù)據(jù)結(jié)構配置信息賦值給所述源數(shù)據(jù)中相應的第一匹配字段。
圖3是本申請?zhí)峁┑囊环N數(shù)據(jù)結(jié)果配置裝置一種實施例的模塊結(jié)構示意圖。本申請實施例提供的數(shù)據(jù)結(jié)構配置裝置可以包括以數(shù)據(jù)建模工具或編碼作業(yè)中可以加載的數(shù)據(jù)配置工具組件、模塊、第三方應用等的形式,可以靈活應用于多種業(yè)務場景中,大大減少數(shù)據(jù)模型中重復數(shù)據(jù)配置,代碼清晰易讀、維護便利,提高作業(yè)處理效率。
盡管本申請內(nèi)容中提到json數(shù)據(jù)格式的數(shù)據(jù)配置文件、實施例所示的propertyname屬性名的數(shù)據(jù)格式、通過屬性名查找匹配、web頁面圖表繪制、javascript語言等之類的數(shù)據(jù)格式設置、信息交互方式、應用場景、編程設計語言的描述,但是,本申請并不局限于必須是完全符合標準設計語言、信息交互或?qū)嵤├枋龅那闆r。某些設計語言、應用場景、信息交互或?qū)嵤├枋龅膶嵤┗A上略加修改后的實施方案也可以實行上述實施例相同、等同或相近、或變形后可預料的實施效果。當然,即使不采用上述javascript語言或者屬性名匹配查找等數(shù)據(jù)處理、判斷的方式,只要符合本申請上述各實施例的數(shù)據(jù)定義、信息交互和信息判斷反饋方式,仍然可以實現(xiàn)相同的申請,在此不再贅述。
雖然本申請?zhí)峁┝巳鐚嵤├蛄鞒虉D所述的方法操作步驟,但基于常規(guī)或者無創(chuàng)造性的手段可以包括更多或者更少的操作步驟。實施例中列舉的步驟順序僅僅為眾多步驟執(zhí)行順序中的一種方式,不代表唯一的執(zhí)行順序。在實際中的裝置或客戶端產(chǎn)品執(zhí)行時,可以按照實施例或者附圖所示的方法順序執(zhí)行或者并行執(zhí)行(例如并行處理器或者多線程處理的環(huán)境)。
上述實施例闡明的單元、裝置或模塊,具體可以由計算機芯片或?qū)嶓w實現(xiàn),或者由具有某種功能的產(chǎn)品來實現(xiàn)。為了描述的方便,描述以上裝置時以功能分為各種模塊分別描述。當然,在實施本申請時可以把各模塊的功能在同一個或多個軟件和/或硬件中實現(xiàn),也可以將實現(xiàn)同一功能的模塊由多個子模塊或子單元的組合實現(xiàn)等。
本領域技術人員也知道,除了以純計算機可讀程序代碼方式實現(xiàn)控制器以外,完全可以通過將方法步驟進行邏輯編程來使得控制器以邏輯門、開關、專用集成電路、可編程邏輯控制器和嵌入微控制器等的形式來實現(xiàn)相同功能。因此這種控制器可以被認為是一種硬件部件,而對其內(nèi)部包括的用于實現(xiàn)各種功能的裝置也可以視為硬件部件內(nèi)的結(jié)構?;蛘呱踔?,可以將用于實現(xiàn)各種功能的裝置視為既可以是實現(xiàn)方法的軟件模塊又可以是硬件部件內(nèi)的結(jié)構。
本申請可以在由計算機執(zhí)行的計算機可執(zhí)行指令的一般上下文中描述,例如程序模塊。一般地,程序模塊包括執(zhí)行特定任務或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對象、組件、數(shù)據(jù)結(jié)構、類等等。也可以在分布式計算環(huán)境中實踐本申請,在這些分布式計算環(huán)境中,由通過通信網(wǎng)絡而被連接的遠程處理設備來執(zhí)行任務。在分布式計算環(huán)境中,程序模塊可以位于包括存儲設備在內(nèi)的本地和遠程計算機存儲介質(zhì)中。
通過以上的實施方式的描述可知,本領域的技術人員可以清楚地了解到本申請可借助軟件加必需的通用硬件平臺的方式來實現(xiàn)?;谶@樣的理解,本申請的技術方案本質(zhì)上或者說對現(xiàn)有技術做出貢獻的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品可以存儲在存儲介質(zhì)中,如rom/ram、磁碟、光盤等,包括若干指令用以使得一臺計算機設備(可以是個人計算機,移動終端,服務器,或者網(wǎng)絡設備等)執(zhí)行本申請各個實施例或者實施例的某些部分所述的方法。
本說明書中的各個實施例采用遞進的方式描述,各個實施例之間相同或相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。本申請可用于眾多通用或?qū)S玫挠嬎銠C系統(tǒng)環(huán)境或配置中。例如:個人計算機、服務器計算機、手持設備或便攜式設備、平板型設備、多處理器系統(tǒng)、基于微處理器的系統(tǒng)、置頂盒、可編程的電子設備、網(wǎng)絡pc、小型計算機、大型計算機、包括以上任何系統(tǒng)或設備的分布式計算環(huán)境等等。
雖然通過實施例描繪了本申請,本領域普通技術人員知道,本申請有許多變形和變化而不脫離本申請的精神,希望所附的權利要求包括這些變形和變化而不脫離本申請的精神。