本申請(qǐng)涉及圖表顯示技術(shù)領(lǐng)域,特別涉及一種生成圖表組件系統(tǒng)的處理方法、裝置及系統(tǒng)。
背景技術(shù):
在金融、數(shù)據(jù)分析、統(tǒng)計(jì)學(xué)等領(lǐng)域中,圖表顯示可以給用戶帶來(lái)直觀、清晰的視覺(jué)感受。在信息時(shí)代,基于大數(shù)據(jù)量,利用計(jì)算機(jī)的高速處理能力,可以繪制出各種類型的圖表,并以不同的方式展現(xiàn)出數(shù)據(jù)的趨勢(shì),使得用戶對(duì)以往的數(shù)據(jù)和未來(lái)的趨勢(shì)一目了然。例如,k線圖、分時(shí)圖、基金圖等金融圖表可以幫助用戶快速了解股票、基金等金融產(chǎn)品的價(jià)格信息和價(jià)格趨勢(shì)等,因此,金融圖表已經(jīng)成為很多理財(cái)應(yīng)用程序中的重要組成部分。
圖表系統(tǒng)作為很多應(yīng)用程序的組成部分,因此構(gòu)建輕量級(jí)的、易操作的圖表系統(tǒng)已經(jīng)成為開(kāi)發(fā)人員的重大難題。目前,通常是利用已有的圖表控件構(gòu)建圖表,構(gòu)建得到的圖表往往耦合性比較強(qiáng),用戶界面與核心功能交織在一起,不便于開(kāi)發(fā)人員進(jìn)行擴(kuò)展。
技術(shù)實(shí)現(xiàn)要素:
本申請(qǐng)實(shí)施例的目的在于提供一種生成圖表組件系統(tǒng)的處理方法、裝置及系統(tǒng),可以降低圖表系統(tǒng)的耦合性,提高圖表系統(tǒng)的擴(kuò)展性。
本申請(qǐng)實(shí)施例提供的一種生成圖表組件系統(tǒng)的處理方法、裝置及系統(tǒng)具體是這樣實(shí)現(xiàn)的:
一種生成圖表組件系統(tǒng)的處理方法,所述方法包括:
獲取目標(biāo)圖表的業(yè)務(wù)結(jié)構(gòu)信息;
根據(jù)所述業(yè)務(wù)結(jié)構(gòu)信息,從預(yù)設(shè)圖表組件集中選取與所述目標(biāo)圖表相匹配的目標(biāo)組件;
將所述目標(biāo)組件配置生成所述目標(biāo)圖表的圖表組件系統(tǒng)。
一種生成圖表組件系統(tǒng)的處理裝置,所述裝置包括:
業(yè)務(wù)結(jié)構(gòu)獲取單元,用于獲取目標(biāo)圖表的業(yè)務(wù)結(jié)構(gòu)信息;
目標(biāo)組件選取單元,用于根據(jù)所述業(yè)務(wù)結(jié)構(gòu)信息,從提供的圖表組件集中選取與所述目標(biāo)圖表相匹配的目標(biāo)組件;
組件系統(tǒng)生成單元,用于將所述目標(biāo)組件配置生成所述目標(biāo)圖表的圖表組件系統(tǒng)。
一種生成圖表組件系統(tǒng)的處理系統(tǒng),所述系統(tǒng)包括:
模型組件,用于發(fā)送獲取的業(yè)務(wù)數(shù)據(jù)至視圖組件;
視圖組件,用于組合從預(yù)設(shè)圖表組件集中選取的目標(biāo)組件,并根據(jù)接收到的所述業(yè)務(wù)數(shù)據(jù)繪制生成目標(biāo)圖表;
控制器組件,用于控制所述模型組件和所述視圖組件。
本申請(qǐng)?zhí)峁┑纳蓤D表組件系統(tǒng)的處理方法、裝置及系統(tǒng),可以將構(gòu)建圖表所需的組成元素進(jìn)行組件化,由于組件具有可組合性和可移植性,將組件進(jìn)行組合系統(tǒng)化之后生成的圖表組件系統(tǒng)不僅可以提升系統(tǒng)的擴(kuò)展機(jī)制,還可以降低系統(tǒng)的耦合度,使得系統(tǒng)在保持接口不變的情況下,替換組件以滿足不同的系統(tǒng)需求。另外,組件還具有較高的可維護(hù)性,因此,組件的引入還可以簡(jiǎn)化系統(tǒng)調(diào)試過(guò)程,由于組件之間的低耦合性,在根據(jù)業(yè)務(wù)需求對(duì)組件進(jìn)行更改之后進(jìn)行系統(tǒng)調(diào)試時(shí),邏輯分析過(guò)程相對(duì)于分析高耦合度系統(tǒng)要簡(jiǎn)化很多。組件的復(fù)用性可以降低圖表組件系統(tǒng)的內(nèi)存大小,因此,利用組件構(gòu)建的圖表組件系統(tǒng)比較適用于移動(dòng)終端,保證圖標(biāo)組件系統(tǒng)在移動(dòng)終端較低的cpu占用率。
附圖說(shuō)明
為了更清楚地說(shuō)明本申請(qǐng)實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本申請(qǐng)中記載的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是本申請(qǐng)?zhí)峁┑纳蓤D表組件系統(tǒng)處理方法的一種實(shí)施例的方法流程示意圖;
圖2是本申請(qǐng)?zhí)峁┑慕鹑陬I(lǐng)域中基礎(chǔ)圖表組件與二級(jí)圖表組件的uml關(guān)系圖;
圖3是本申請(qǐng)?zhí)峁┑膶?duì)目標(biāo)組件組合配置方法的一種實(shí)施例的方法流程圖;
圖4是本申請(qǐng)?zhí)峁┑膱D表配置方法的一種實(shí)施例的方法流程圖;
圖5為本申請(qǐng)?zhí)峁┑膱D表配置界面圖;
圖6是本申請(qǐng)?zhí)峁┑膶?duì)圖表組件配置方的一種實(shí)施例的方法流程圖;
圖7是本申請(qǐng)?zhí)峁┑膽?yīng)用場(chǎng)景示意圖;
圖8是本申請(qǐng)?zhí)峁┑纳蓤D表組件系統(tǒng)處理裝置的一種實(shí)施例的模塊結(jié)構(gòu)示意圖;
圖9是本申請(qǐng)?zhí)峁┑慕M件系統(tǒng)生成單元的一種實(shí)施例的方法流程圖;
圖10是本申請(qǐng)?zhí)峁┑哪繕?biāo)圖表生成單元的一種實(shí)施例的模塊結(jié)構(gòu)示意圖;
圖11是本申請(qǐng)?zhí)峁┑慕M件配置單元的一種實(shí)施例的模塊結(jié)構(gòu)示意圖。
具體實(shí)施方式
為了使本技術(shù)領(lǐng)域的人員更好地理解本申請(qǐng)中的技術(shù)方案,下面將結(jié)合本申請(qǐng)實(shí)施例中的附圖,對(duì)本申請(qǐng)實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本申請(qǐng)一部分實(shí)施例,而不是全部的實(shí)施例。基于本申請(qǐng)中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都應(yīng)當(dāng)屬于本申請(qǐng)保護(hù)的范圍。
下面結(jié)合附圖對(duì)本申請(qǐng)所述的生成圖表組件系統(tǒng)的處理方法進(jìn)行詳細(xì)的說(shuō)明。圖1是本申請(qǐng)?zhí)峁┑纳蓤D表組件系統(tǒng)處理方法的一種實(shí)施例的方法流程示意圖。雖然本申請(qǐng)?zhí)峁┝巳缦率鰧?shí)施例或附圖所示的方法操作步驟,但基于常規(guī)或者無(wú)需創(chuàng)造性的勞動(dòng)在所述方法中可以包括更多或者更少的操作步驟。在邏輯性上不存在必要因果關(guān)系的步驟中,這些步驟的執(zhí)行順序不限于本申請(qǐng)實(shí)施例提供的執(zhí)行順序。所述方法在實(shí)際中的生成圖表組件系統(tǒng)的處理過(guò)程中或者裝置執(zhí)行時(shí),可以按照實(shí)施例或者附圖所示的方法順序執(zhí)行或者并行執(zhí)行。
具體的本申請(qǐng)?zhí)峁┑纳蓤D表組件系統(tǒng)的處理方法的一種實(shí)施例如圖1所示,所述方法可以包括:
s1:獲取目標(biāo)圖表的業(yè)務(wù)結(jié)構(gòu)信息。
在本申請(qǐng)的一個(gè)實(shí)施例中,所述目標(biāo)圖表可以為金融圖表、數(shù)學(xué)分析圖表,在其他實(shí)施例中,所述目標(biāo)圖表還可以為其他類型的結(jié)構(gòu)相對(duì)復(fù)雜的圖表。本實(shí)施例中,可以獲取所述目標(biāo)圖表的業(yè)務(wù)結(jié)構(gòu)信息,再根據(jù)所述業(yè)務(wù)結(jié)構(gòu)信息,選取相應(yīng)的目標(biāo)組件。具體地,在本申請(qǐng)的一個(gè)實(shí)施例中,可以通過(guò)分析需要構(gòu)建的目標(biāo)圖表的業(yè)務(wù)結(jié)構(gòu),獲取所述目標(biāo)圖表的業(yè)務(wù)結(jié)構(gòu)信息。所述業(yè)務(wù)結(jié)構(gòu)信息可以包括所述目標(biāo)圖表的業(yè)務(wù)基礎(chǔ)組成元素等信息。例如,金融k線圖包括基礎(chǔ)線、手?jǐn)?shù)、坐標(biāo)軸、k線等基礎(chǔ)組成元素,基金圖包括基礎(chǔ)線、坐標(biāo)軸等基礎(chǔ)組成元素。在其他實(shí)施例中,所述業(yè)務(wù)結(jié)構(gòu)信息還可以包括所述目標(biāo)圖表的指定使用場(chǎng)景等信息,本申請(qǐng)?jiān)诖瞬蛔鱿拗啤?/p>
獲取目標(biāo)圖表的業(yè)務(wù)結(jié)構(gòu)信息,可以為后續(xù)選取目標(biāo)組件提供有效的數(shù)據(jù)基礎(chǔ)。
s2:根據(jù)所述業(yè)務(wù)結(jié)構(gòu)信息,從預(yù)設(shè)圖表組件集中選取與所述目標(biāo)圖表相匹配的目標(biāo)組件。
本實(shí)施例中,可以根據(jù)所述業(yè)務(wù)結(jié)構(gòu)信息,從預(yù)設(shè)圖表組件集中選取與所述目標(biāo)圖表相匹配的目標(biāo)組件。所述預(yù)設(shè)圖表組件集中至少包括一個(gè)圖表組件,所述圖表組件可以包括所述圖表組件的屬性信息以及實(shí)現(xiàn)預(yù)設(shè)功能的方法。其中,所述屬性信息可以包括圖表數(shù)據(jù)的訪問(wèn)客體,例如寬度、高度等屬性,所述預(yù)設(shè)功能可以包括所述圖表組件能夠?qū)崿F(xiàn)的功能,在具體的編程中,所述實(shí)現(xiàn)預(yù)設(shè)功能的方法可以采用函數(shù)的形式表示。例如,組件“painter”可以包括寬度、高度等屬性,以及實(shí)現(xiàn)預(yù)設(shè)功能的方法line(參數(shù)1)函數(shù)、start(參數(shù)2)函數(shù)、end(參數(shù)3)函數(shù)等。本實(shí)施例中,所述圖表組件可以作為圖表數(shù)據(jù)以及圖表可實(shí)現(xiàn)功能的封裝體,能夠重復(fù)使用并且可以和其他圖表組件進(jìn)行數(shù)據(jù)交互。
在本申請(qǐng)的一個(gè)實(shí)施例中,所述預(yù)設(shè)圖表組件集可以包括基礎(chǔ)圖表組件集和二級(jí)圖表組件集,其中,所述二級(jí)圖表組件集中的圖表組件基于所述基礎(chǔ)圖表組件集組合生成。本實(shí)施例中,所述基礎(chǔ)圖表組件集中包括至少一個(gè)基礎(chǔ)圖表組件,所述二級(jí)圖表組件集中包括至少一個(gè)二級(jí)圖表組件。下面通過(guò)一個(gè)具體的示例說(shuō)明基礎(chǔ)圖表組件與二級(jí)圖表組件的關(guān)系,圖2是本申請(qǐng)?zhí)峁┑慕鹑陬I(lǐng)域中基礎(chǔ)圖表組件與二級(jí)圖表組件的uml關(guān)系圖。如圖2所示,本實(shí)施例中,通過(guò)分析得到金融圖表的業(yè)務(wù)結(jié)構(gòu)信息,構(gòu)建如圖2所示的圖表組件,具體可以包括“painter”、“基礎(chǔ)線-painter”、“手?jǐn)?shù)-painter”、“坐標(biāo)軸-painter”、“k線-painter”等組件。其中,“基礎(chǔ)線-painter”、“手?jǐn)?shù)-painter”、“坐標(biāo)軸-painter”、“k線-painter”四個(gè)組件繼承于組件“painter”,可以理解上述四個(gè)組件保留組件“painter”的屬性與功能,但各個(gè)組件又可以增加新的功能。同樣地,組件“x軸-painter”和組件“y軸-painter”繼承于組件“坐標(biāo)軸-painter”。圖2所示的組件“chart”是由“基礎(chǔ)線-painter”、“手?jǐn)?shù)-painter”、等組件聚合而成,具體的聚合方法在說(shuō)明書(shū)下文中描述。如圖2所示,本實(shí)施例中,將組件“基礎(chǔ)線-painter”、“手?jǐn)?shù)-painter”、“坐標(biāo)軸-painter”、“k線-painter”、“手勢(shì)”作為基礎(chǔ)圖表組件。本實(shí)施例中,將組件“x軸-painter”、“y軸-painter”、“chart”作為二級(jí)圖表組件。需要說(shuō)明的是,所述預(yù)設(shè)圖表組件集中的圖表組件可以為已經(jīng)開(kāi)發(fā)并投入使用的圖表組件產(chǎn)品,還可以為開(kāi)發(fā)的更加符合實(shí)際業(yè)務(wù)需求的圖表組件,本申請(qǐng)?jiān)诖瞬蛔鱿拗啤?/p>
本實(shí)施例中,將構(gòu)建圖表所需的元素進(jìn)行組件化,由于組件具有可移植性以及可維護(hù)性,利用組件構(gòu)建金融圖表系統(tǒng)可以大大降低系統(tǒng)的耦合度,使得系統(tǒng)在保持接口不變的情況下,替換組件以滿足系統(tǒng)的需求。
s3:將所述目標(biāo)組件配置生成所述目標(biāo)圖表的圖表組件系統(tǒng)。
本實(shí)施例中,可以將所述目標(biāo)組件配置生成所述目標(biāo)組件的圖表組件系統(tǒng)。所述圖表組件系統(tǒng)可以作為生成所述目標(biāo)圖表的基礎(chǔ)系統(tǒng),將業(yè)務(wù)數(shù)據(jù)輸入至所述圖表組件系統(tǒng)中,可以生成與所述業(yè)務(wù)數(shù)據(jù)相匹配的目標(biāo)圖表。本實(shí)施例中,可以通過(guò)配置的方法將所述目標(biāo)組成組合生成所述圖表組件系統(tǒng)。在本申請(qǐng)的一個(gè)實(shí)施例中,所述將所述目標(biāo)組件配置生成所述目標(biāo)圖表的圖表組件系統(tǒng)可以包括:
ss:利用模型視圖控制器模式對(duì)所述目標(biāo)組件進(jìn)行組合重寫,配置生成所述目標(biāo)圖表的圖表組件系統(tǒng)。
在本實(shí)施例中,具體可以采用模型(model)-視圖(view)-控制器(controller)模式(mvc模式)將所述目標(biāo)組件進(jìn)行組合重寫,配置生成所述目標(biāo)圖表的圖表組件系統(tǒng)。本實(shí)施例提供了一種對(duì)目標(biāo)組件進(jìn)行組合配置的方法,圖3是本申請(qǐng)?zhí)峁┑膶?duì)目標(biāo)組件組合配置方法的一種實(shí)施例的方法流程圖,如圖3所示,所述方法可以包括:
s31:根據(jù)預(yù)設(shè)業(yè)務(wù)要求,設(shè)置所述目標(biāo)組件的重寫方法;
s32:構(gòu)建模型組件,所述模型組件用于發(fā)送業(yè)務(wù)數(shù)據(jù)至視圖組件;
s33:構(gòu)建視圖組件,所述視圖組件用于組合所述目標(biāo)組件,并根據(jù)接收到的業(yè)務(wù)數(shù)據(jù)繪制生成目標(biāo)圖表;
s34:構(gòu)建控制器組件,所述控制器組件用于按照所述重寫方法對(duì)所述目標(biāo)組件進(jìn)行方法重寫,以及控制所述模型組件和所述視圖組件。
本實(shí)施例中,可以將mvc模式中的模型層、視圖層、控制層進(jìn)行組件化,分別構(gòu)建模型組件、視圖組件、控制器組件。其中,所述模型組件繼承于模型基類,用于將業(yè)務(wù)數(shù)據(jù)提供給視圖組件繪制圖表,相應(yīng)地,可以設(shè)置所述模型組件執(zhí)行下述動(dòng)作:發(fā)送業(yè)務(wù)數(shù)據(jù)至視圖組件。需要說(shuō)明的是,本實(shí)施例中的業(yè)務(wù)數(shù)據(jù)可以為待轉(zhuǎn)化成目標(biāo)圖表的數(shù)據(jù)源,例如金融數(shù)據(jù)、數(shù)學(xué)分析數(shù)據(jù)等,所述業(yè)務(wù)數(shù)據(jù)可以通過(guò)預(yù)設(shè)接口輸入至所述模型組件。所述視圖組件繼承于視圖基類,用于根據(jù)模型組件所述業(yè)務(wù)數(shù)據(jù),組合目標(biāo)組件,繪制并展示目標(biāo)圖表,相應(yīng)地,可以設(shè)置所述視圖組件執(zhí)行下述動(dòng)作:組合所述目標(biāo)組件,根據(jù)接收到的業(yè)務(wù)數(shù)據(jù)繪制生成目標(biāo)圖表。所述控制器組件繼承于控制器基類,用于結(jié)合所述模型組件和所述視圖組件,并控制所述模型組件和所述視圖組件,相應(yīng)地,可以設(shè)置所述控制器組件執(zhí)行下述動(dòng)作:組合、控制所述模型組件和所述視圖組件。
本實(shí)施例中,可以根據(jù)業(yè)務(wù)需求,設(shè)置所述目標(biāo)組件的重寫方法。如上所述,所述圖表組件可以包括所述圖表組件的屬性信息以及實(shí)現(xiàn)預(yù)設(shè)功能的方法。本實(shí)施例中,可以在所述目標(biāo)組件的預(yù)設(shè)功能的基礎(chǔ)上,根據(jù)實(shí)際的業(yè)務(wù)需求,重寫所述預(yù)設(shè)功能的實(shí)現(xiàn)方法,使得所述預(yù)設(shè)功能的實(shí)現(xiàn)方式與所述業(yè)務(wù)需求相匹配。如上所述,所述實(shí)現(xiàn)預(yù)設(shè)功能的方法可以采用函數(shù)的形式表示,本實(shí)施例中,對(duì)所述實(shí)現(xiàn)所述預(yù)設(shè)功能的方法進(jìn)行重寫,可以保證所采用函數(shù)的名稱與參數(shù)不變,而只是改變實(shí)現(xiàn)所述預(yù)設(shè)功能的方法,如此,可以在不需要對(duì)所述目標(biāo)組件做很多變動(dòng)的基礎(chǔ)上,滿足多種業(yè)務(wù)需求。
本實(shí)施例提供的基于mvc模式生成的圖表組件系統(tǒng)中,模型組件可以用于封裝核心數(shù)據(jù)和功能,獨(dú)立于特定的輸出表示和輸入行為。模型組件只有功能性接口,通過(guò)所述功能性接口對(duì)外提供一系列方法。模型組件中還存儲(chǔ)對(duì)應(yīng)視圖的相關(guān)信息,使得在模型的狀態(tài)發(fā)生改變時(shí),可以通知對(duì)應(yīng)的視圖進(jìn)行更新??刂破鹘M件可以用于控制模型組件,從而向模型組件傳遞數(shù)據(jù),改變模型組件的狀態(tài),并最后導(dǎo)致視圖組件的更新。三者之間緊密聯(lián)系但又互相獨(dú)立,每一組件內(nèi)部的變化均不引起另外兩者的變化。例如,需要改變目標(biāo)圖表的業(yè)務(wù)規(guī)則,只需要改動(dòng)模型組件即可,此時(shí),視圖組件和控制器組件均不受任何影響。因此,采用mvc模式構(gòu)建圖表系統(tǒng),可以實(shí)現(xiàn)圖表系統(tǒng)的模塊化以及低耦合,極大方便圖表系統(tǒng)的維護(hù)和升級(jí)。
在本申請(qǐng)的一個(gè)實(shí)施例中,所述模型組件還可以在將業(yè)務(wù)數(shù)據(jù)發(fā)送給視圖組件之前,對(duì)所述業(yè)務(wù)數(shù)據(jù)的數(shù)據(jù)格式進(jìn)行適配調(diào)整,所述模型組件還用于:
ss1:解析得到所述業(yè)務(wù)數(shù)據(jù)的數(shù)據(jù)格式;
ss2:將所述業(yè)務(wù)數(shù)據(jù)的數(shù)據(jù)格式轉(zhuǎn)換成預(yù)設(shè)業(yè)務(wù)數(shù)據(jù)格式。
本實(shí)施例中,所述業(yè)務(wù)數(shù)據(jù)可以用多種方法獲取,其中很多是從第三方平臺(tái)實(shí)時(shí)獲取,因此,獲取的業(yè)務(wù)數(shù)據(jù)的數(shù)據(jù)格式不盡相同,此時(shí),需要將業(yè)務(wù)數(shù)據(jù)的數(shù)據(jù)格式統(tǒng)一化,轉(zhuǎn)換成預(yù)設(shè)業(yè)務(wù)數(shù)據(jù)格式。例如,在建立金融圖表系統(tǒng)過(guò)程中,設(shè)置股票類型為a股,但是獲取的業(yè)務(wù)數(shù)據(jù)中可能包含a股、b股、h股等多種股票類型數(shù)據(jù),此時(shí),為了適應(yīng)預(yù)設(shè)業(yè)務(wù)數(shù)據(jù)格式,可以只提取a股對(duì)應(yīng)的業(yè)務(wù)數(shù)據(jù)。另外,還可以將具有多種表達(dá)方式的金融術(shù)語(yǔ)統(tǒng)一轉(zhuǎn)換成一種術(shù)語(yǔ)。
本實(shí)施例中,可以按照業(yè)務(wù)需求,在模型組件中將業(yè)務(wù)數(shù)據(jù)轉(zhuǎn)換成預(yù)設(shè)業(yè)務(wù)數(shù)據(jù)格式,實(shí)現(xiàn)業(yè)務(wù)數(shù)據(jù)的適配、統(tǒng)一,從而為生成目標(biāo)圖表提供良好的數(shù)據(jù)基礎(chǔ)。
在本申請(qǐng)的另一個(gè)實(shí)施例中,在配置生成所述目標(biāo)圖表的圖表組件系統(tǒng)之后,可以基于所述圖表組件系統(tǒng)生成目標(biāo)圖表,如圖1所示,在將所述目標(biāo)組件配置生成所述目標(biāo)圖表的圖表組件系統(tǒng)之后,所述方法還可以包括:
s14:基于所述圖表組件系統(tǒng),構(gòu)建與獲取的業(yè)務(wù)數(shù)據(jù)相匹配的目標(biāo)圖表。
本實(shí)施例中,可以在所述圖表組件系統(tǒng)中設(shè)置輸入業(yè)務(wù)數(shù)據(jù)的第一預(yù)設(shè)接口,通過(guò)所述第一預(yù)設(shè)接口可以接收業(yè)務(wù)數(shù)據(jù)的輸入。在本申請(qǐng)的另一個(gè)實(shí)施例中,還可以在所述圖表組件系統(tǒng)中設(shè)置可供外部調(diào)用的第二預(yù)設(shè)接口,例如api接口,通過(guò)所述第二預(yù)設(shè)接口可以接收繪制目標(biāo)圖表的指令,所述目標(biāo)圖表繪制指令中可以包括繪制所述目標(biāo)圖表的時(shí)間等信息。響應(yīng)于所述目標(biāo)圖表繪制指令,利用所述圖表組件系統(tǒng),可以在web容器中將所述業(yè)務(wù)數(shù)據(jù)渲染成目標(biāo)圖表。
在本申請(qǐng)的一個(gè)實(shí)施例中,還可以對(duì)所述圖表結(jié)構(gòu)組件進(jìn)行參數(shù)配置,例如,在生成金融圖表時(shí),通過(guò)參數(shù)配置可以控制分割線數(shù)量、是否顯示價(jià)格均線、漲跌對(duì)應(yīng)的繪制顏色、不同區(qū)域的背景色、不同參數(shù)對(duì)應(yīng)的繪制顏色等圖表外觀選擇。圖4是本申請(qǐng)?zhí)峁┑膱D表配置方法的一種實(shí)施例的方法流程圖,如圖4所示,所述基于所述圖表組件系統(tǒng),構(gòu)建與所述業(yè)務(wù)數(shù)據(jù)相匹配的目標(biāo)圖表包括:
s41:獲取所述圖表組件系統(tǒng)圖表配置參數(shù)對(duì)應(yīng)的參數(shù)值;
s42:根據(jù)所述圖表配置參數(shù)以及對(duì)應(yīng)的參數(shù)值對(duì)所述圖表組件系統(tǒng)進(jìn)行配置;
s43:基于配置后的圖表組件系統(tǒng),構(gòu)建與所述業(yè)務(wù)數(shù)據(jù)相匹配的目標(biāo)圖表。
在本實(shí)施例中,可以建立用于圖表參數(shù)配置的配置系統(tǒng),所述配置系統(tǒng)可以實(shí)現(xiàn)開(kāi)發(fā)人員與圖表界面之間的交互,所述配置系統(tǒng)中可以提供多種圖表配置參數(shù)以及所述圖表配置參數(shù)對(duì)應(yīng)的可選參數(shù)。圖5為本申請(qǐng)?zhí)峁┑膱D表配置界面圖,如圖5所示,界面左側(cè)為金融圖表類型選擇區(qū)域,右側(cè)為圖表配置參數(shù)設(shè)置區(qū)域,本實(shí)施例中包括多級(jí)圖表配置參數(shù),所述多級(jí)圖表配置參數(shù)形成樹(shù)型數(shù)據(jù)結(jié)構(gòu),如圖5所示,“手?jǐn)?shù)區(qū)”為一級(jí)圖表配置參數(shù),“柱形”為屬于“手?jǐn)?shù)區(qū)”的二級(jí)圖表配置參數(shù),“柱形的顏色”為屬于“柱形”的三級(jí)圖表配置參數(shù)。所述圖表配置參數(shù)具有對(duì)應(yīng)的可選參數(shù)值,例如圖5中“背景色”配置參數(shù)具有多種顏色選取值,當(dāng)然,所述圖表配置參數(shù)的參數(shù)值還可以為用戶自定義值,例如高度值、寬度值等。
在本申請(qǐng)的一個(gè)實(shí)施例中,圖6是本申請(qǐng)?zhí)峁┑膶?duì)圖表組件系統(tǒng)配置方法的一種實(shí)施例的方法流程圖,如圖6所示,所述根據(jù)所述圖表配置參數(shù)以及對(duì)應(yīng)的參數(shù)值對(duì)所述圖表組件系統(tǒng)進(jìn)行配置可以包括:
s61:將所述圖表配置參數(shù)以及對(duì)應(yīng)的參數(shù)值生成鍵值對(duì)形式的配置對(duì)象;
s62:根據(jù)所述配置對(duì)象對(duì)所述圖表組件系統(tǒng)進(jìn)行配置。
在設(shè)置所述圖表配置參數(shù)對(duì)應(yīng)的參數(shù)值后,可以將所述圖表配置參數(shù)與所述圖表配置參數(shù)對(duì)應(yīng)的參數(shù)值構(gòu)建成配置對(duì)象,具體的,可以將所述配置項(xiàng)與所述圖表配置參數(shù)對(duì)應(yīng)的參數(shù)值以鍵值對(duì)的形式配置成對(duì)象。例如,在javascript中,可以通過(guò)options設(shè)置圖表配置參數(shù)的參數(shù)值,將配置系統(tǒng)的圖表配置參數(shù)以及對(duì)應(yīng)的參數(shù)值以鍵值對(duì)的形式構(gòu)建成配置對(duì)象。
本實(shí)施例中,將所述圖表配置參數(shù)以及對(duì)應(yīng)的參數(shù)值以鍵值對(duì)的形式構(gòu)建成配置對(duì)象,可以提高所述圖表組件系統(tǒng)的配置效率。
下面通過(guò)一個(gè)具體的應(yīng)用場(chǎng)景具體說(shuō)明上述實(shí)施例方法,圖7是本申請(qǐng)?zhí)峁┑膽?yīng)用場(chǎng)景示意圖,如圖7所示,將金融類圖表中的k線圖作為目標(biāo)圖表。在構(gòu)建k線圖之前,可以查詢已有的金融類圖表組件中是否已經(jīng)存在k線圖對(duì)應(yīng)的圖表組件系統(tǒng),若存在,則可以直接調(diào)用對(duì)應(yīng)的k線圖圖表組件系統(tǒng)。
例如,若已有的金融類圖表組件中存在所述k線圖圖表組件系統(tǒng),則在調(diào)用所述k線圖圖表組件系統(tǒng)之后,可以獲取配置系統(tǒng)生成的配置數(shù)據(jù),所述配置數(shù)據(jù)可以包括圖表配置參數(shù)以及對(duì)應(yīng)的參數(shù)值。在獲取所述配置數(shù)據(jù)之后,還可以通過(guò)預(yù)設(shè)接口獲取金融業(yè)務(wù)數(shù)據(jù)。根據(jù)所述配置數(shù)據(jù)和所述金融業(yè)務(wù)數(shù)據(jù),可以將所述k線圖圖表組件系統(tǒng)實(shí)例化成具體的對(duì)象。通過(guò)調(diào)用所述對(duì)象相應(yīng)的應(yīng)用程序編程接口,接收系統(tǒng)預(yù)先設(shè)置的繪制圖表的指令,基于所述指令,在web容器中將所述金融業(yè)務(wù)數(shù)據(jù)渲染成相應(yīng)的k線圖圖表。
若已有的金融類圖表組件系統(tǒng)中不存在k線圖對(duì)應(yīng)的圖表組件系統(tǒng),則可以從提供的預(yù)設(shè)圖表組件集中選取目標(biāo)組件,并設(shè)置所述目標(biāo)組件對(duì)應(yīng)的重寫方法。利用模型視圖控制器模式對(duì)所述目標(biāo)組件進(jìn)行組合重寫,配置生成所述k線圖的圖表組件系統(tǒng)。具體地,可以將mvc模式的模型層、視圖層、控制器層進(jìn)行組件化,分別構(gòu)建模型組件、視圖組件、控制器組件。其中,所述模型組件繼承模型基類,可以被設(shè)置為執(zhí)行下述動(dòng)作:按照業(yè)務(wù)需求對(duì)所述模型基類進(jìn)行方法重寫,以及,加載數(shù)據(jù)適配器,將金融業(yè)務(wù)數(shù)據(jù)的數(shù)據(jù)格式轉(zhuǎn)化成預(yù)設(shè)業(yè)務(wù)數(shù)據(jù)格式,并將適配后的金融業(yè)務(wù)數(shù)據(jù)發(fā)送至視圖層。所述視圖組件繼承于視圖基類,可以被設(shè)置執(zhí)行下述動(dòng)作:按照業(yè)務(wù)需求對(duì)所述視圖基類進(jìn)行方法重寫,以及,組合目標(biāo)組件集中的圖表組件,基于所述適配后的業(yè)務(wù)數(shù)據(jù)繪制圖表。本場(chǎng)景中,所述視圖組件可以調(diào)用canvas畫(huà)布api繪制圖表,canvas畫(huà)布具有cpu占用率小、易擴(kuò)展、易使用等優(yōu)點(diǎn),因此可以降低系統(tǒng)內(nèi)存消耗。所述控制器組件繼承于控制器基類,可以被設(shè)置執(zhí)行下述動(dòng)作:按照業(yè)務(wù)需求對(duì)所述控制器基類進(jìn)行方法重寫,以及,組合模型組件和視圖組件,控制加載目標(biāo)組件集中的圖表組件。最后,組合所述模型組件、視圖組件、控制器組件,生成所述k線圖的圖表組件系統(tǒng)。需要說(shuō)明的是,本實(shí)施例中,還可以根據(jù)已有的金融系統(tǒng)圖表組件系統(tǒng)生成所述k線圖圖表組件系統(tǒng),所述金融系統(tǒng)圖表組件系統(tǒng)例如圖2中的“chart組件”,所述“chart組件”的生成方法與上述生成k線圖圖表組件系統(tǒng)的方法相同。在通過(guò)所述“chart組件”生成k線圖圖表組件系統(tǒng)的過(guò)程中,可以根據(jù)k線圖的業(yè)務(wù)需求,對(duì)所述“chart組件”對(duì)應(yīng)的目標(biāo)組件、mvc組件進(jìn)行方法重寫,生成所述k線圖圖表組件系統(tǒng)。如此,可以對(duì)已有的金融系統(tǒng)圖表組件系統(tǒng)進(jìn)行重復(fù)利用,節(jié)省構(gòu)建k線圖圖表組件系統(tǒng)的時(shí)間、提高構(gòu)建效率。當(dāng)然,所述“chart組件”還可以用于生成金融類圖表中的其他類型的圖表組件系統(tǒng),如分時(shí)圖圖表組件系統(tǒng)、基金圖圖標(biāo)組件等。
本申請(qǐng)?zhí)峁┑纳蓤D表組件系統(tǒng)的處理方法,可以將構(gòu)建圖表所需的組成元素進(jìn)行組件化,由于組件具有可組合性和可移植性,將組件進(jìn)行組合系統(tǒng)化之后生成的圖表組件系統(tǒng)不僅可以提升系統(tǒng)的擴(kuò)展機(jī)制,還可以降低系統(tǒng)的耦合度,使得系統(tǒng)在保持接口不變的情況下,替換組件以滿足不同的系統(tǒng)需求。另外,組件還具有較高的可維護(hù)性,因此,組件的引入還可以簡(jiǎn)化系統(tǒng)調(diào)試過(guò)程,由于組件之間的低耦合性,在根據(jù)業(yè)務(wù)需求對(duì)組件進(jìn)行更改之后進(jìn)行系統(tǒng)調(diào)試時(shí),邏輯分析過(guò)程相對(duì)于分析高耦合度系統(tǒng)要簡(jiǎn)化很多。組件的復(fù)用性可以降低圖表組件系統(tǒng)的內(nèi)存大小,因此,利用組件構(gòu)建的圖表組件系統(tǒng)比較適用于移動(dòng)終端,保證圖標(biāo)組件系統(tǒng)在移動(dòng)終端較低的cpu占用率。
基于上述生成圖表組件系統(tǒng)的處理方法,本申請(qǐng)另一方面還提供一種生成圖表組件系統(tǒng)的處理裝置,圖8是本申請(qǐng)?zhí)峁┑纳蓤D表組件系統(tǒng)處理裝置的一種實(shí)施例的模塊結(jié)構(gòu)示意圖,如圖8所示,所述生成圖表組件系統(tǒng)的處理裝置80可以包括:
業(yè)務(wù)結(jié)構(gòu)獲取單元81,用于獲取目標(biāo)圖表的業(yè)務(wù)結(jié)構(gòu)信息;
目標(biāo)組件選取單元82,用于根據(jù)所述業(yè)務(wù)結(jié)構(gòu)信息,從提供的圖表組件集中選取與所述目標(biāo)圖表相匹配的目標(biāo)組件;
組件系統(tǒng)生成單元83,用于將所述目標(biāo)組件配置生成所述目標(biāo)圖表的圖表組件系統(tǒng)。
本申請(qǐng)?zhí)峁┑纳蓤D表組件系統(tǒng)的處理裝置,可以將構(gòu)建圖表所需的組成元素進(jìn)行組件化,由于組件具有可組合性和可移植性,將組件進(jìn)行組合系統(tǒng)化之后生成的圖表組件系統(tǒng)不僅可以提升系統(tǒng)的擴(kuò)展機(jī)制,還可以降低系統(tǒng)的耦合度,使得系統(tǒng)在保持接口不變的情況下,替換組件以滿足不同的系統(tǒng)需求。另外,組件還具有較高的可維護(hù)性,因此,組件的引入還可以簡(jiǎn)化系統(tǒng)調(diào)試過(guò)程,由于組件之間的低耦合性,在根據(jù)業(yè)務(wù)需求對(duì)組件進(jìn)行更改之后進(jìn)行系統(tǒng)調(diào)試時(shí),邏輯分析過(guò)程相對(duì)于分析高耦合度系統(tǒng)要簡(jiǎn)化很多。組件的復(fù)用性可以降低圖表組件系統(tǒng)的內(nèi)存大小,因此,利用組件構(gòu)建的圖表組件系統(tǒng)比較適用于移動(dòng)終端,保證圖標(biāo)組件系統(tǒng)在移動(dòng)終端較低的cpu占用率。
如圖8所示,在本申請(qǐng)的一個(gè)實(shí)施例中,所述裝置80還可以包括:
目標(biāo)圖表生成單元84,用于基于所述圖表組件系統(tǒng),構(gòu)建與獲取的業(yè)務(wù)數(shù)據(jù)相匹配的目標(biāo)圖表。
在本申請(qǐng)的一個(gè)實(shí)施例中,所述圖表組件集包括基礎(chǔ)圖表組件和二級(jí)圖表組件,其中,所述二級(jí)圖表組件基于所述基礎(chǔ)圖表組件組合生成。
在本申請(qǐng)的另一個(gè)實(shí)施例中,所述圖表組件集中的圖表組件包括所述圖表組件的屬性信息以及實(shí)現(xiàn)預(yù)設(shè)功能的方法。
在本申請(qǐng)的一個(gè)實(shí)施例中,所述組件系統(tǒng)生成單元83還用于利用模型視圖控制器模式對(duì)所述目標(biāo)組件進(jìn)行組合重寫,配置生成所述目標(biāo)圖表的圖表組件系統(tǒng)。
圖9是本申請(qǐng)?zhí)峁┑慕M件系統(tǒng)生成單元的一種實(shí)施例的方法流程圖,如圖9所示,所述組件系統(tǒng)生成單元83包括:
重寫設(shè)置單元91,用于根據(jù)預(yù)設(shè)業(yè)務(wù)要求,設(shè)置所述目標(biāo)組件的重寫方法;
模型組件構(gòu)建單元92,用于構(gòu)建模型組件,所述模型組件用于發(fā)送業(yè)務(wù)數(shù)據(jù)至視圖組件;
視圖組件構(gòu)建單元93,用于構(gòu)建視圖組件,所述視圖組件用于組合所述目標(biāo)組件,根據(jù)接收到的業(yè)務(wù)數(shù)據(jù)繪制生成目標(biāo)圖表;
控制器組件構(gòu)建單元94,用于構(gòu)建控制器組件,所述控制器組件用于按照所述重寫方法對(duì)所述目標(biāo)組件進(jìn)行方法重寫,以及控制所述模型組件和所述視圖組件。
在本申請(qǐng)的一個(gè)實(shí)施例中,所述模型組件構(gòu)建單元92還包括:
數(shù)據(jù)格式解析單元,用于解析得到所述業(yè)務(wù)數(shù)據(jù)的數(shù)據(jù)格式;
數(shù)據(jù)轉(zhuǎn)換單元,用于將所述業(yè)務(wù)數(shù)據(jù)的數(shù)據(jù)格式轉(zhuǎn)換成預(yù)設(shè)業(yè)務(wù)數(shù)據(jù)格式。
圖10是本申請(qǐng)?zhí)峁┑哪繕?biāo)圖表生成單元的一種實(shí)施例的模塊結(jié)構(gòu)示意圖,如圖10所示,所述目標(biāo)圖表生成單元84可以包括:
配置參數(shù)獲取單元101,用于獲取所述圖表組件系統(tǒng)圖表配置參數(shù)對(duì)應(yīng)的參數(shù)值;
組件配置單元102,用于根據(jù)所述圖表配置參數(shù)以及對(duì)應(yīng)的參數(shù)值對(duì)所述圖表組件系統(tǒng)進(jìn)行配置;
圖表配置生成單元103,用于基于配置后的圖表組件系統(tǒng),構(gòu)建與所述業(yè)務(wù)數(shù)據(jù)相匹配的目標(biāo)圖表。
圖11是本申請(qǐng)?zhí)峁┑慕M件配置單元的一種實(shí)施例的模塊結(jié)構(gòu)示意圖,如圖11所示,所述組件配置單元102可以包括:
配置對(duì)象生成單元111,用于將所述圖表配置參數(shù)以及對(duì)應(yīng)的參數(shù)值生成鍵值對(duì)形式的配置對(duì)象;
架構(gòu)組件配置單元112,用于根據(jù)所述配置對(duì)象對(duì)所述圖表組件系統(tǒng)進(jìn)行配置。
基于所述生成圖表組件系統(tǒng)的處理方法及裝置,本申請(qǐng)另一方面還提供一種生成圖表組件系統(tǒng)的處理系統(tǒng),所述系統(tǒng)可以包括:
模型組件,用于發(fā)送獲取的業(yè)務(wù)數(shù)據(jù)至視圖組件;
視圖組件,用于組合從預(yù)設(shè)圖表組件集中選取的目標(biāo)組件,并根據(jù)接收到的所述業(yè)務(wù)數(shù)據(jù)繪制生成目標(biāo)圖表;
控制器組件,所述控制器組件用于組合、控制所述模型組件和所述視圖組件。
盡管本申請(qǐng)內(nèi)容中提到實(shí)施例中的組件組合重寫、數(shù)據(jù)格式轉(zhuǎn)換、參數(shù)配置等之類的數(shù)據(jù)設(shè)置、處理描述,但是,本申請(qǐng)并不局限于必須是完全符合行業(yè)編程語(yǔ)言設(shè)計(jì)標(biāo)準(zhǔn)或?qū)嵤├枋龅臄?shù)據(jù)設(shè)置、處理的情況。某些在實(shí)施例描述的基礎(chǔ)上略加修改后的實(shí)施方案也可以實(shí)行上述實(shí)施例相同、等同或相近、或變形后可預(yù)料的實(shí)施效果。當(dāng)然,即使不采用上數(shù)據(jù)設(shè)置、處理的方式,只要符合本申請(qǐng)上述各實(shí)施例的組件組合重寫、數(shù)據(jù)格式轉(zhuǎn)換、參數(shù)配置方式,仍然可以實(shí)現(xiàn)相同的申請(qǐng),在此不再贅述。
雖然本申請(qǐng)?zhí)峁┝巳鐚?shí)施例或流程圖所述的方法操作步驟,但基于常規(guī)或者無(wú)創(chuàng)造性的手段可以包括更多或者更少的操作步驟。實(shí)施例中列舉的步驟順序僅僅為眾多步驟執(zhí)行順序中的一種方式,不代表唯一的執(zhí)行順序。在實(shí)際中的裝置或客戶端產(chǎn)品執(zhí)行時(shí),可以按照實(shí)施例或者附圖所示的方法順序執(zhí)行或者并行執(zhí)行(例如并行處理器或者多線程處理的環(huán)境)。
上述實(shí)施例闡明的單元、裝置、系統(tǒng),具體可以由計(jì)算機(jī)芯片或?qū)嶓w實(shí)現(xiàn),或者由具有某種功能的產(chǎn)品來(lái)實(shí)現(xiàn)。為了描述的方便,描述以上裝置時(shí)以功能分為各種模塊分別描述。當(dāng)然,在實(shí)施本申請(qǐng)時(shí)可以把各模塊的功能在同一個(gè)或多個(gè)軟件和/或硬件中實(shí)現(xiàn)。當(dāng)然,本申請(qǐng)中所述的某一單元模塊也可以將實(shí)現(xiàn)同一功能的模塊由多個(gè)子模塊或子模塊的組合實(shí)現(xiàn)。
本領(lǐng)域技術(shù)人員也知道,除了以純計(jì)算機(jī)可讀程序代碼方式實(shí)現(xiàn)控制器以外,完全可以通過(guò)將方法步驟進(jìn)行邏輯編程來(lái)使得控制器以邏輯門、開(kāi)關(guān)、專用集成電路、可編程邏輯控制器和嵌入微控制器等的形式來(lái)實(shí)現(xiàn)相同功能。因此這種控制器可以被認(rèn)為是一種硬件部件,而對(duì)其內(nèi)部包括的用于實(shí)現(xiàn)各種功能的裝置也可以視為硬件部件內(nèi)的結(jié)構(gòu)。或者甚至,可以將用于實(shí)現(xiàn)各種功能的裝置視為既可以是實(shí)現(xiàn)方法的軟件模塊又可以是硬件部件內(nèi)的結(jié)構(gòu)。
本申請(qǐng)可以在由計(jì)算機(jī)執(zhí)行的計(jì)算機(jī)可執(zhí)行指令的一般上下文中描述,例如程序模塊。一般地,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對(duì)象、組件、數(shù)據(jù)結(jié)構(gòu)、類等等。也可以在分布式計(jì)算環(huán)境中實(shí)踐本申請(qǐng),在這些分布式計(jì)算環(huán)境中,由通過(guò)通信網(wǎng)絡(luò)而被連接的遠(yuǎn)程處理設(shè)備來(lái)執(zhí)行任務(wù)。在分布式計(jì)算環(huán)境中,程序模塊可以位于包括存儲(chǔ)設(shè)備在內(nèi)的本地和遠(yuǎn)程計(jì)算機(jī)存儲(chǔ)介質(zhì)中。
通過(guò)以上的實(shí)施方式的描述可知,本領(lǐng)域的技術(shù)人員可以清楚地了解到本申請(qǐng)可借助軟件加必需的通用硬件平臺(tái)的方式來(lái)實(shí)現(xiàn)?;谶@樣的理解,本申請(qǐng)的技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品可以存儲(chǔ)在存儲(chǔ)介質(zhì)中,如rom/ram、磁碟、光盤等,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),移動(dòng)終端,服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本申請(qǐng)各個(gè)實(shí)施例或者實(shí)施例的某些部分所述的方法。
本說(shuō)明書(shū)中的各個(gè)實(shí)施例采用遞進(jìn)的方式描述,各個(gè)實(shí)施例之間相同或相似的部分互相參見(jiàn)即可,每個(gè)實(shí)施例重點(diǎn)說(shuō)明的都是與其他實(shí)施例的不同之處。本申請(qǐng)可用于眾多通用或?qū)S玫挠?jì)算機(jī)系統(tǒng)環(huán)境或配置中。例如:個(gè)人計(jì)算機(jī)、服務(wù)器計(jì)算機(jī)、手持設(shè)備或便攜式設(shè)備、平板型設(shè)備、多處理器系統(tǒng)、基于微處理器的系統(tǒng)、置頂盒、可編程的電子設(shè)備、網(wǎng)絡(luò)pc、小型計(jì)算機(jī)、大型計(jì)算機(jī)、包括以上任何系統(tǒng)或設(shè)備的分布式計(jì)算環(huán)境等等。
雖然通過(guò)實(shí)施例描繪了本申請(qǐng),本領(lǐng)域普通技術(shù)人員知道,本申請(qǐng)有許多變形和變化而不脫離本申請(qǐng)的精神,希望所附的權(quán)利要求包括這些變形和變化而不脫離本申請(qǐng)的精神。