所屬的技術(shù)人員能夠理解,本發(fā)明的各個方面可以實現(xiàn)為系統(tǒng)、方法或程序產(chǎn)品。因此,本發(fā)明的各個方面可以具體實現(xiàn)為以下形式,即:完全的硬件實施方式、完全的軟件實施方式(包括固件、微代碼等),或硬件和軟件方面結(jié)合的實施方式,這里可以統(tǒng)稱為“電路”、“模塊”或“系統(tǒng)”。根據(jù)本發(fā)明的這種實施方式的電子設(shè)備。電子設(shè)備僅僅是一個示例,不應(yīng)對本發(fā)明實施例的功能和使用范圍帶來任何限制。電子設(shè)備以通用計算設(shè)備的形式表現(xiàn)。電子設(shè)備的組件可以包括但不限于:上述至少一個處理器、上述至少一個儲存器、連接不同系統(tǒng)組件(包括儲存器和處理器)的總線。其中,儲存器存儲有程序代碼,程序代碼可以被處理器執(zhí)行,使得處理器執(zhí)行本說明書上述“示例性方法”部分中描述的根據(jù)本發(fā)明各種示例性實施方式的步驟。儲存器可以包括易失性儲存器形式的可讀介質(zhì),例如隨機(jī)存取儲存器(ram)和/或高速緩存儲存器,還可以進(jìn)一步包括只讀儲存器(rom)。儲存器還可以包括具有一組(至少一個)程序模塊的程序/實用工具,這樣的程序模塊包括但不限于:操作系統(tǒng)、一個或者多個應(yīng)用程序、其它程序模塊以及程序數(shù)據(jù),這些示例中的每一個或某種組合中可能包括網(wǎng)絡(luò)環(huán)境的實現(xiàn)??偩€可以為表示幾類總線結(jié)構(gòu)中的一種或多種,包括儲存器總線或者儲存器控制器、外圍總線、圖形加速端口、處理器或者使用多種總線結(jié)構(gòu)中的任意總線結(jié)構(gòu)的局域總線。電子設(shè)備也可以與一個或多個外部設(shè)備(例如鍵盤、指向設(shè)備、藍(lán)牙設(shè)備等)通信,還可與一個或者多個使得用戶能與該電子設(shè)備交互的設(shè)備通信,和/或與使得該電子設(shè)備能與一個或多個其它計算設(shè)備進(jìn)行通信的任何設(shè)備(例如路由器、調(diào)制解調(diào)器等等)通信。這種通信可以通過輸入/輸出(i/o)接口進(jìn)行。并且,電子設(shè)備還可以通過網(wǎng)絡(luò)適配器與一個或者多個網(wǎng)絡(luò)(例如局域網(wǎng)(lan),廣域網(wǎng)(wan)和/或公共網(wǎng)絡(luò),例如因特網(wǎng))通信。網(wǎng)絡(luò)適配器通過總線與電子設(shè)備的其它模塊通信。應(yīng)當(dāng)明白,盡管圖中未示出,可以結(jié)合電子設(shè)備使用其它硬件和/或軟件模塊,包括但不限于:微代碼、設(shè)備驅(qū)動器、冗余處理器、外部磁盤驅(qū)動陣列、raid系統(tǒng)、磁帶驅(qū)動器以及數(shù)據(jù)備份存儲系統(tǒng)等。通過以上的實施方式的描述,本領(lǐng)域的技術(shù)人員易于理解,這里描述的示例實施方式可以通過軟件實現(xiàn),也可以通過軟件結(jié)合必要的硬件的方式來實現(xiàn)。因此,根據(jù)本公開實施方式的技術(shù)方案可以以軟件產(chǎn)品的形式體現(xiàn)出來,該軟件產(chǎn)品可以存儲在一個非易失性存儲介質(zhì)(可以是cd-rom,u盤,移動硬盤等)中或網(wǎng)絡(luò)上,包括若干指令以使得一臺計算設(shè)備(可以是個人計算機(jī)、服務(wù)器、終端裝置、或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行根據(jù)本公開實施方式的方法。在本公開的示例性實施例中,還提供了一種計算機(jī)可讀存儲介質(zhì),其上存儲有能夠?qū)崿F(xiàn)本說明書上述方法的程序產(chǎn)品。在一些可能的實施方式中,本發(fā)明的各個方面還可以實現(xiàn)為一種程序產(chǎn)品的形式,其包括程序代碼,當(dāng)程序產(chǎn)品在終端設(shè)備上運(yùn)行時,程序代碼用于使終端設(shè)備執(zhí)行本說明書上述“示例性方法”部分中描述的根據(jù)本發(fā)明各種示例性實施方式的步驟。程序產(chǎn)品可以采用一個或多個可讀介質(zhì)的任意組合??勺x介質(zhì)可以是可讀信號介質(zhì)或者可讀存儲介質(zhì)??勺x存儲介質(zhì)例如可以為但不限于電、磁、光、電磁、紅外線、或半導(dǎo)體的系統(tǒng)、裝置或器件,或者任意以上的組合??勺x存儲介質(zhì)的更具體的例子(非窮舉的列表)包括:具有一個或多個導(dǎo)線的電連接、便攜式盤、硬盤、隨機(jī)存取存儲器(ram)、只讀存儲器(rom)、可擦式可編程只讀存儲器(eprom或閃存)、光纖、便攜式緊湊盤只讀存儲器(cd-rom)、光存儲器件、磁存儲器件、或者上述的任意合適的組合。計算機(jī)可讀信號介質(zhì)可以包括在基帶中或者作為載波一部分傳播的數(shù)據(jù)信號,其中承載了可讀程序代碼。這種傳播的數(shù)據(jù)信號可以采用多種形式,包括但不限于電磁信號、光信號或上述的任意合適的組合??勺x信號介質(zhì)還可以是可讀存儲介質(zhì)以外的任何可讀介質(zhì),該可讀介質(zhì)可以發(fā)送、傳播或者傳輸用于由指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結(jié)合使用的程序??勺x介質(zhì)上包含的程序代碼可以用任何適當(dāng)?shù)慕橘|(zhì)傳輸,包括但不限于無線、有線、光纜、rf等等,或者上述的任意合適的組合??梢砸砸环N或多種程序設(shè)計語言的任意組合來編寫用于執(zhí)行本發(fā)明操作的程序代碼,程序設(shè)計語言包括面向?qū)ο蟮某绦蛟O(shè)計語言—諸如java、c++等,還包括常規(guī)的過程式程序設(shè)計語言—諸如“c”語言或類似的程序設(shè)計語言。程序代碼可以完全地在用戶計算設(shè)備上執(zhí)行、部分地在用戶設(shè)備上執(zhí)行、作為一個獨立的軟件包執(zhí)行、部分在用戶計算設(shè)備上部分在遠(yuǎn)程計算設(shè)備上執(zhí)行、或者完全在遠(yuǎn)程計算設(shè)備或服務(wù)器上執(zhí)行。在涉及遠(yuǎn)程計算設(shè)備的情形中,遠(yuǎn)程計算設(shè)備可以通過任意種類的網(wǎng)絡(luò),包括局域網(wǎng)(lan)或廣域網(wǎng)(wan),連接到用戶計算設(shè)備,或者,可以連接到外部計算設(shè)備(例如利用因特網(wǎng)服務(wù)提供商來通過因特網(wǎng)連接)。此外,上述附圖僅是根據(jù)本發(fā)明示例性實施例的方法所包括的處理的示意性說明,而不是限制目的。易于理解,上述附圖所示的處理并不表明或限制這些處理的時間順序。另外,也易于理解,這些處理可以是例如在多個模塊中同步或異步執(zhí)行的。應(yīng)當(dāng)注意,盡管在上文詳細(xì)描述中提及了用于動作執(zhí)行的設(shè)備的若干模塊或者單元,但是這種劃分并非強(qiáng)制性的。實際上,根據(jù)本公開的實施方式,上文描述的兩個或更多模塊或者單元的特征和功能可以在一個模塊或者單元中具體化。反之,上文描述的一個模塊或者單元的特征和功能可以進(jìn)一步劃分為由多個模塊或者單元來具體化。以上,僅為本發(fā)明的具體實施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)以權(quán)利要求的保護(hù)范圍為準(zhǔn)。
背景技術(shù):
1、數(shù)字孿生城市建設(shè)需要集成模型構(gòu)建、渲染呈現(xiàn)、分析計算、模擬仿真等多項技術(shù)能力,涉及業(yè)界多種類型的引擎產(chǎn)品,如gis(geographic?information?system,地理信息系統(tǒng))類引擎、bim(building?information?modeling,建筑信息模型)類引擎、游戲類引擎、webgl(web?graphics?library,利用webgl技術(shù)來渲染3d圖形的web應(yīng)用開發(fā)框架或工具包)類引擎、仿真類引擎、iot(internet?of?things,物聯(lián)網(wǎng))類引擎等。為了更好支撐城市規(guī)劃、建設(shè)、管理、應(yīng)急、交通、能源等各類需求,現(xiàn)有數(shù)字孿生建設(shè)工作均在加快推進(jìn)多引擎融合進(jìn)程,實現(xiàn)引擎各取所長、優(yōu)勢互補(bǔ)、相互兼容等目標(biāo)。如圖3所示,數(shù)字孿生中共需要9大能力,這能力會需要當(dāng)前各行業(yè)中已有的一個或多個行業(yè)級的規(guī)則引擎(如水流仿真功能、車流推演功能及人流推演功能等)進(jìn)行共同支持實現(xiàn),同時每一個大的行業(yè)級的規(guī)則引擎下又包含了多個更為細(xì)化的能力請求,也即需要能力組件層的一個或多個細(xì)化的能力組件(如圖形渲染可視化及孿生體幾何等)進(jìn)行共同支持實現(xiàn)。最終通過這些配置好的能力組件并使用采集到的孿生體的元數(shù)據(jù),來生成對應(yīng)的數(shù)字孿生場景。
2、在當(dāng)前的實際應(yīng)用中,不同引擎對應(yīng)著不同的技術(shù)領(lǐng)域,通常沒有一個終端能夠提供所有的能力引擎,并且由于不同終端擅長的技術(shù)領(lǐng)域并不相同,由此也使得不同終端中相同能力引擎中具有的所有的能力組件的能力也會有不同的表現(xiàn),如在圖像渲染可視化對應(yīng)的引擎中包括解析渲染、場景構(gòu)建、相機(jī)管理等細(xì)化的能力組件。由此,在數(shù)字孿生城市的構(gòu)建過程中,在構(gòu)建不同類型數(shù)字孿生場景時所需要的能力組件也存在不同。而如何在多個能力響應(yīng)終端中選擇既能更好的滿足數(shù)字孿生場景構(gòu)建請求,又能提高數(shù)據(jù)兼容性的能力組件配置方案,成為了影響數(shù)字孿生場景構(gòu)建效率與質(zhì)量的技術(shù)問題。
技術(shù)實現(xiàn)思路
1、針對上述技術(shù)問題,本發(fā)明采用的技術(shù)方案為:
2、根據(jù)本發(fā)明的一個方面,提供了一種基于多能力組件的數(shù)字孿生城市的引擎系統(tǒng),系統(tǒng)包括一個能力調(diào)用終端和多個能力組件響應(yīng)終端,多個能力組件響應(yīng)終端均與能力調(diào)用終端通信連接;每一能力組件響應(yīng)終端均包括多個能力組件,每一能力組件用于生成實體對像的一種類型的屬性值,屬性值用于生成實體對像對應(yīng)的數(shù)字孿生對象;能力調(diào)用終端根據(jù)數(shù)字孿生體的構(gòu)造請求,調(diào)用對應(yīng)能力組件的api,以生成對應(yīng)的數(shù)字孿生場景;
3、能力調(diào)用終端按照如下方法運(yùn)行:
4、根據(jù)數(shù)字孿生場景構(gòu)造請求信息及每一能力組件響應(yīng)終端的能力響應(yīng)信息進(jìn)行終端響應(yīng)能力匹配度處理,生成每一能力組件響應(yīng)終端對每一子構(gòu)造能力請求類對應(yīng)的響應(yīng)匹配度;數(shù)字孿生場景構(gòu)造請求信息包括多個不同的子構(gòu)造能力請求類,每一子構(gòu)造能力請求類中包括多個能力請求值;能力請求值表示對應(yīng)類型的屬性值,對生成目標(biāo)數(shù)字孿生場景的重要程度;
5、若能力組件響應(yīng)終端對子構(gòu)造能力請求類的響應(yīng)匹配度大于第一匹配度閾值,則將能力組件響應(yīng)終端確定為子構(gòu)造能力請求類的待選能力響應(yīng)終端;
6、若每一子構(gòu)造能力請求類均具有至少一個待選能力響應(yīng)終端,則將所有待選能力響應(yīng)終端中數(shù)量最多的能力響應(yīng)終端,確定為目標(biāo)能力響應(yīng)終端;
7、調(diào)用目標(biāo)能力響應(yīng)終端中對應(yīng)能力組件的api,以生成目標(biāo)數(shù)字孿生場景;
8、終端響應(yīng)能力匹配度處理,包括:
9、根據(jù)每一子構(gòu)造能力請求類中包括的能力請求值及每一能力組件響應(yīng)終端中對應(yīng)能力組件的能力響應(yīng)值,生成每一能力組件響應(yīng)終端對每一子構(gòu)造能力請求類對應(yīng)的響應(yīng)匹配度;能力響應(yīng)值表示能力組件生成對應(yīng)屬性值的精度高低;
10、其中,第a個能力組件響應(yīng)終端對第b個子構(gòu)造能力請求類對應(yīng)的響應(yīng)匹配度pab滿足如下條件:
11、;
12、其中,xib為第b個子構(gòu)造能力請求類中包括的第i個能力請求的能力請求值,,cxib為xib對應(yīng)的初始值,xib為cxib的歸一化值,gia為第a個能力組件響應(yīng)終端中用于提供xib對應(yīng)能力請求的能力組件的能力響應(yīng)值;f(b)為第b個子構(gòu)造能力請求類中包括的能力請求的總數(shù),i=1、2、…、f(b)。
13、進(jìn)一步的,在若能力組件響應(yīng)終端對子構(gòu)造能力請求類的響應(yīng)匹配度大于第一匹配度閾值,則將能力組件響應(yīng)終端確定為子構(gòu)造能力請求類的待選能力響應(yīng)終端之后,方法還包括:
14、若存在子構(gòu)造能力請求類對應(yīng)的待選能力響應(yīng)終端為空集,則對子構(gòu)造能力請求類對應(yīng)的每一響應(yīng)匹配度進(jìn)行更新處理,生成每一響應(yīng)匹配度對應(yīng)的更新響應(yīng)匹配度;
15、根據(jù)更新響應(yīng)匹配度,確定子構(gòu)造能力請求類對應(yīng)的待選能力響應(yīng)終端;
16、更新處理包括:
17、根據(jù)原始的響應(yīng)匹配度及已有待選能力響應(yīng)終端中原始的響應(yīng)匹配度對應(yīng)的能力組件響應(yīng)終端的數(shù)量,生成原始的響應(yīng)匹配度對應(yīng)的更新響應(yīng)匹配度;其中,pab對應(yīng)的更新響應(yīng)匹配度gpab滿足如下條件:
18、gpab=pab×(1+k1×dxa);
19、其中,k1為更新系數(shù),k1∈[0.1,0.5];dxa為已有待選能力響應(yīng)終端中第a個能力組件響應(yīng)終端的數(shù)量。
20、進(jìn)一步的,在第一次更新處理之后,方法還包括:
21、若還存在子構(gòu)造能力請求類對應(yīng)的待選能力響應(yīng)終端為空集,則對低級子構(gòu)造能力請求類進(jìn)行雙響應(yīng)終端匹配處理,生成低級子構(gòu)造能力請求類對應(yīng)的第一能力響應(yīng)終端及第二能力響應(yīng)終端;第一能力響應(yīng)終端及第二能力響應(yīng)終端分別為低級子構(gòu)造能力請求類中包括的主要能力請求及次要能力請求提供對應(yīng)的能力組件支持;低級子構(gòu)造能力請求類為當(dāng)前待選能力響應(yīng)終端為空集的多個子構(gòu)造能力請求類中,最大響應(yīng)匹配度最小的子構(gòu)造能力請求類;
22、以當(dāng)前已有的待選能力響應(yīng)終端、第一能力響應(yīng)終端及第二能力響應(yīng)終端,對當(dāng)前待選能力響應(yīng)終端為空集的多個子構(gòu)造能力請求類對應(yīng)的每一響應(yīng)匹配度進(jìn)行更新處理,生成每一響應(yīng)匹配度對應(yīng)的更新響應(yīng)匹配度;
23、根據(jù)對應(yīng)的更新響應(yīng)匹配度,確定當(dāng)前多個子構(gòu)造能力請求類的待選能力響應(yīng)終端。
24、進(jìn)一步的,雙響應(yīng)終端匹配處理包括:
25、將低級子構(gòu)造能力請求類中能力請求值大于請求閾值的能力請求作為主要能力請求;
26、將低級子構(gòu)造能力請求類中能力請求值小于或等于請求閾值的能力請求作為次要能力請求;
27、對主要能力請求及次要能力請求分別對應(yīng)的能力請求值進(jìn)行歸一化處理;
28、根據(jù)歸一化后的能力請求值,分別獲取主要能力請求及次要能力請求分別對應(yīng)的第一能力響應(yīng)終端及第二能力響應(yīng)終端。
29、進(jìn)一步的,根據(jù)歸一化后的能力請求值,分別獲取主要能力請求及次要能力請求分別對應(yīng)的第一能力響應(yīng)終端及第二能力響應(yīng)終端,包括:
30、根據(jù)主要能力請求對應(yīng)的每一歸一化的能力請求值及每一能力組件響應(yīng)終端中對應(yīng)能力組件的能力響應(yīng)值,生成每一能力組件響應(yīng)終端對主要能力請求的第一響應(yīng)匹配度;
31、其中,第a個能力組件響應(yīng)終端對主要能力請求的第一響應(yīng)匹配度pa1滿足如下條件:
32、;
33、其中,zxn為主要能力請求中包括的第n個能力請求的能力請求值,gna為第a個能力組件響應(yīng)終端中用于提供zxn對應(yīng)能力請求的能力組件的能力響應(yīng)值;f(zx)為主要能力請求中包括的能力請求的總數(shù),n=1、2、…、f(zx);;
34、若能力組件響應(yīng)終端對主要能力請求的第一響應(yīng)匹配度大于第二匹配度閾值,則將能力組件響應(yīng)終端確定為主要能力請求的第一能力響應(yīng)終端;第二匹配度閾值小于或等于第一匹配度閾值。
35、進(jìn)一步的,次要能力請求對應(yīng)的第二能力響應(yīng)終端的獲取方法與主要能力請求對應(yīng)的第一能力響應(yīng)終端的獲取方法相同。
36、進(jìn)一步的,低級子構(gòu)造能力請求類對應(yīng)的請求閾值y滿足如下條件:
37、y=10/f(d);其中,f(d)為低級子構(gòu)造能力請求類包含的能力請求的總數(shù)。
38、進(jìn)一步的,請求閾值大于低級子構(gòu)造能力請求類中包括的能力請求值的中位數(shù)。
39、進(jìn)一步的,對主要能力請求及次要能力請求分別對應(yīng)的能力請求值進(jìn)行歸一化處理,包括:
40、主要能力請求對應(yīng)能力請求值的歸一化值滿足如下條件:
41、;
42、其中,zgn為zxn對應(yīng)的歸一化值。
43、進(jìn)一步的,k1=0.2。
44、本發(fā)明至少具有以下有益效果:
45、本發(fā)明中通過api(application?programming?interface,應(yīng)用程序編程接口)接口調(diào)用的方式,可以靈活根據(jù)實際的數(shù)字孿生場景的構(gòu)建請求,來調(diào)用不同能力響應(yīng)終端的能力組件。由此,可以更加靈活全面的支持對不同類型數(shù)字孿生場景的構(gòu)建請求。
46、同時,由于不同的能力響應(yīng)終端會存在一定的數(shù)據(jù)格式的差異,進(jìn)而可能會導(dǎo)致后續(xù)使用時的數(shù)據(jù)不兼容問題。所以本發(fā)明中在對孿生場景構(gòu)建請求進(jìn)行配置能力組件時,一方面通過計算響應(yīng)匹配度來尋找最為匹配的能力響應(yīng)終端,作為待選能力響應(yīng)終端,同時,在確定目標(biāo)能力響應(yīng)終端時,會將所有待選能力響應(yīng)終端中數(shù)量最多的能力響應(yīng)終端,確定為目標(biāo)能力響應(yīng)終端。由此,可以盡量保證同一數(shù)字孿生場景的構(gòu)建請求,均使用同一能力響應(yīng)終端中的能力組件完成,進(jìn)而可以盡量避免數(shù)據(jù)格式的差異問題,減少通過能力組件獲取的多個方面數(shù)據(jù)格式的差異性,進(jìn)而提高兼容性。