表單字段表達(dá)式循環(huán)依賴計算方法及裝置
技術(shù)領(lǐng)域
[0001] 本文件涉及計算機(jī)軟件領(lǐng)域,尤其涉及一種表單字段表達(dá)式循環(huán)依賴計算方法及裝置。
背景技術(shù)
[0002] 表單是互聯(lián)網(wǎng)領(lǐng)域中程序和網(wǎng)站中最常見的數(shù)據(jù)輸入和交互方式,表單字段通常是用戶輸入的數(shù)據(jù),字段表達(dá)式能夠根據(jù)用戶的輸入計算或處理,從而提高表單輸入的效率。字段表達(dá)式的計算順序通常是建立表單字段之間的依賴圖,將表單字段的計算順序確定為有向無環(huán)圖中的拓?fù)漤樞?,然后根?jù)拓?fù)漤樞驅(qū)Ρ韱巫侄芜M(jìn)行計算。
[0003] 表單字段之間可能存在循環(huán)依賴關(guān)系,例如,A的計算依賴于B的值,B的計算依賴于C的值,而C的計算又依賴于A的值,這種情況下如果按照表達(dá)式的順序計算會導(dǎo)致無限循環(huán),無法得到正確的計算結(jié)果。
[0004] 目前,解決表單字段表達(dá)式循環(huán)依賴的方法一般通過手動調(diào)整表單字段的表達(dá)式依賴關(guān)系來避免循環(huán)依賴?,F(xiàn)有的方法存在以下缺陷:需要手動干預(yù),無法實現(xiàn)自動化處理,且處理效率低下。綜合上面該技術(shù)領(lǐng)域發(fā)展?fàn)顩r分析,現(xiàn)有的技術(shù)方案中缺少自動化的相關(guān)設(shè)計,因此目前急需一種能夠解決上述問題的表單字段表達(dá)式循環(huán)依賴計算方法及裝置。
發(fā)明內(nèi)容
[0005] 本發(fā)明的目的在于提供一種表單字段表達(dá)式循環(huán)依賴計算方法及裝置,旨在解決現(xiàn)有技術(shù)中的上述問題。
[0006] 根據(jù)本公開實施例的第一方面,提供一種表單字段表達(dá)式循環(huán)依賴計算方法,包括:
[0007] 根據(jù)表單依賴關(guān)系有向圖中發(fā)生外部變化的表單字段是否在循環(huán)依賴路徑上,選擇是否使用該表單字段作為新的最近更新字段;
[0008] 根據(jù)發(fā)生外部變化的表單字段獲取整個表單依賴關(guān)系有向圖的子圖,根據(jù)子圖的入環(huán)節(jié)點獲取需要更新的循環(huán)依賴路徑及其子圖的入環(huán)列表;
[0009] 根據(jù)最近更新字段和入環(huán)列表確定本次更新唯一的用于切斷的標(biāo)記節(jié)點;
[0010] 遍歷所有循環(huán)依賴路徑,將每一個循環(huán)依賴路徑中的標(biāo)記節(jié)點的入邊標(biāo)記為切斷,將表單依賴關(guān)系有向圖的有環(huán)圖轉(zhuǎn)換為無環(huán)圖;
[0011] 對無環(huán)圖進(jìn)行拓?fù)渑判虻玫奖磉_(dá)式的最優(yōu)計算順序,使用最優(yōu)計算順序依次計算字段表達(dá)式。
[0012] 根據(jù)本公開實施例的第二方面,提供一種表單字段表達(dá)式循環(huán)依賴計算裝置,包括:
[0013] 最近更新字段確定模塊,用于根據(jù)表單依賴關(guān)系有向圖中發(fā)生外部變化的表單字段是否在循環(huán)依賴路徑上,選擇是否使用該表單字段作為新的最近更新字段;
[0014] 子圖路徑列表更新模塊,用于根據(jù)發(fā)生外部變化的表單字段獲取整個表單依賴關(guān)系有向圖的子圖,根據(jù)子圖是的入環(huán)節(jié)點獲取需要更新的循環(huán)依賴路徑及其子圖入環(huán)列表;
[0015] 標(biāo)記節(jié)點確定模塊,用于根據(jù)最近更新字段和入環(huán)列表確定本次更新唯一的用于切斷的標(biāo)記節(jié)點;
[0016] 無環(huán)圖轉(zhuǎn)換模塊,用于遍歷所有循環(huán)依賴路徑,將每一個循環(huán)依賴路徑中的標(biāo)記節(jié)點的入邊標(biāo)記為切斷,將表單依賴關(guān)系有向圖的有環(huán)圖轉(zhuǎn)換為無環(huán)圖;
[0017] 最優(yōu)計算順序獲取模塊,用于對無環(huán)圖進(jìn)行拓?fù)渑判虻玫奖磉_(dá)式的最優(yōu)計算順序,使用最優(yōu)計算順序依次計算字段表達(dá)式。
[0018] 本公開的實施例提供的技術(shù)方案可以包括以下有益效果:通過最近更新字段,循環(huán)依賴路徑的子圖以及子圖的入環(huán)列表,確定標(biāo)記節(jié)點以切斷循環(huán)依賴關(guān)系,提升了表單字段表達(dá)式循環(huán)依賴計算的效率和自動化計算程度。
[0019] 應(yīng)當(dāng)理解的是,以上的一般描述和后文的細(xì)節(jié)描述僅是示例性和解釋性的,并不能限制本公開。
附圖說明
[0020] 為了更清楚地說明本說明書一個或多個實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本說明書中記載的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0021] 圖1是本發(fā)明實施例的表單字段表達(dá)式循環(huán)依賴計算方法的流程圖;
[0022] 圖2是本發(fā)明實施例的表單字段表達(dá)式循環(huán)依賴計算裝置的示意圖。
具體實施方式
[0023] 為了使本技術(shù)領(lǐng)域的人員更好地理解本說明書一個或多個實施例中的技術(shù)方案,下面將結(jié)合本說明書一個或多個實施例中的附圖,對本說明書一個或多個實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例僅僅是本說明書的一部分實施例,而不是全部的實施例?;诒菊f明書一個或多個實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都應(yīng)當(dāng)屬于本文件的保護(hù)范圍。
[0024] 方法實施例
[0025] 根據(jù)本發(fā)明實施例,提供了表單字段表達(dá)式循環(huán)依賴計算方法,圖1是本發(fā)明實施例的表單字段表達(dá)式循環(huán)依賴計算方法的示意圖,如圖1所示,根據(jù)本發(fā)明實施例的表單字段表達(dá)式循環(huán)依賴計算方法具體包括: