日韩成人黄色,透逼一级毛片,狠狠躁天天躁中文字幕,久久久久久亚洲精品不卡,在线看国产美女毛片2019,黄片www.www,一级黄色毛a视频直播

一種基于網(wǎng)絡(luò)的項目計劃管理系統(tǒng)及方法

文檔序號:6576223閱讀:237來源:國知局

專利名稱::一種基于網(wǎng)絡(luò)的項目計劃管理系統(tǒng)及方法
技術(shù)領(lǐng)域
:本發(fā)明涉及計算機應(yīng)用技術(shù),具體地說,涉及一種基于計算機和網(wǎng)絡(luò)技術(shù)實現(xiàn)的項目計劃管理系統(tǒng)及方法。
背景技術(shù)
:隨著科技研發(fā)活動越來越大型化,需要多個研發(fā)人員進(jìn)行協(xié)同來完成研發(fā)活動。特別是隨著網(wǎng)絡(luò)的普遍使用,使得即使研發(fā)人員分散在各地,也能夠協(xié)同完成研發(fā)工作。在這種情況下,就需要對整個研發(fā)活動進(jìn)行良好的管理,以保證整個研發(fā)活動通過協(xié)同而具有較高的效率和更低的研發(fā)成本。目前,也出現(xiàn)了一些研發(fā)管理產(chǎn)品,例如微軟的用于項目管理的軟件project。但是,該軟件難以適應(yīng)當(dāng)前的基于網(wǎng)絡(luò)和個人任務(wù)協(xié)同的研發(fā)項目的管理需要。
發(fā)明內(nèi)容有鑒于上述背景,本發(fā)明的目的是提供基于網(wǎng)絡(luò)的項目計劃管理系統(tǒng)及方法,能夠充分利用網(wǎng)絡(luò)、數(shù)據(jù)庫和計算機數(shù)據(jù)處理技術(shù)提高整個項目計劃管理的效率。為了解決上述問題,根據(jù)本發(fā)明的一個方面,提出了一種基于網(wǎng)絡(luò)的項目計劃管理系統(tǒng),包括計劃結(jié)構(gòu)組織模塊,用于以樹型結(jié)構(gòu)組織計劃實體內(nèi)的任務(wù)分層集和任務(wù),其中,任務(wù)分層集為樹型結(jié)構(gòu)中的樹節(jié)點,任務(wù)為樹型結(jié)構(gòu)的葉節(jié)點;業(yè)務(wù)操作模塊,用于對計劃實體執(zhí)行操作,并將所述操作的結(jié)果提供給所述計劃結(jié)構(gòu)組織模塊。在上述系統(tǒng)中,所述任務(wù)分層集可以為多個任務(wù)集合成的分層次的結(jié)構(gòu)實體。在上述系統(tǒng)中,所述業(yè)務(wù)操作模塊對計劃實體的操作可包括所述任務(wù)的執(zhí)行操作及所述計劃實體的結(jié)構(gòu)的調(diào)整操作。在上述系統(tǒng)中,所述計劃實體的結(jié)構(gòu)的調(diào)整操作可包括任務(wù)或任務(wù)分層集的平級或?qū)蛹壱苿?。在上述系統(tǒng)的一種實施例中,應(yīng)用服務(wù)器還可包括屬性信息設(shè)置和更新模塊,用于為任務(wù)和任務(wù)分層集設(shè)置及更新屬性信息。其中,若任務(wù)分層集下只包含任務(wù),其屬性信息可根據(jù)下屬任務(wù)的屬性信息設(shè)置和更新。若任務(wù)分層集下包含任務(wù)及子任務(wù)分層集,其屬性信息可根據(jù)下屬的任務(wù)和子任務(wù)分層集的屬性信息設(shè)置和更新。所述任務(wù)屬性信息可以包含任務(wù)狀態(tài)指示,所述任務(wù)狀態(tài)指示以文本字符結(jié)合HTML顏色配置的形式表達(dá)。在上述項目計劃管理系統(tǒng)的另一種實施例中,應(yīng)用服務(wù)器還可包括鎖池管理模塊,用于管理計劃實體鎖。計劃實體鎖用于鎖定計劃實體,以在同一時刻僅由一個客戶端對該被鎖定的計劃實體進(jìn)行修改操作。鎖池管理模塊可以包括鎖檢査單元用于響應(yīng)客戶端操作計劃實體的請求,檢査該計劃實體是否加鎖。在加鎖時拒絕客戶端操作請求,在未加鎖時發(fā)出鎖注冊通知;鎖注冊單元用于接收鎖檢査單元發(fā)出的鎖注冊通知,為相應(yīng)的計劃實體注冊鎖;鎖刪除單元用于刪除計劃實體鎖。所述鎖池管理模塊還可以包括鎖生命指數(shù)設(shè)置單元用于為計劃實體鎖預(yù)設(shè)生命指數(shù),所述生命指數(shù)指明計劃實體鎖的有效期;鎖核銷單元用于周期性進(jìn)行核銷,在每次核銷時,檢查鎖池中是否有鎖,當(dāng)有鎖時,將鎖的生命指數(shù)減少,以及將生命指數(shù)降到預(yù)設(shè)值的鎖交由鎖刪除單元刪除;當(dāng)無鎖時,等待下一次核銷;鎖復(fù)位單元用于響應(yīng)客戶端續(xù)鎖請求,將對應(yīng)鎖的生命指數(shù)復(fù)位。在上述項目計劃管理系統(tǒng)的又一種實施例中,客戶端可包括數(shù)據(jù)收集器模塊,用于收集任務(wù)中編輯過的數(shù)據(jù)并集中提交給應(yīng)用服務(wù)器。當(dāng)任務(wù)中的某一數(shù)據(jù)經(jīng)過多次編輯后,數(shù)據(jù)收集器模塊提交給應(yīng)用服務(wù)器的數(shù)據(jù)可以為提交前最后一次編輯的數(shù)據(jù)。在上述的項目計劃管理系統(tǒng)的另一種實施例中,應(yīng)用服務(wù)器還包括代碼構(gòu)建模塊,用于動態(tài)構(gòu)建對計劃實體進(jìn)行操作的客戶端所需的HTML代碼塊;客戶端可包括局部更新模塊,用于對客戶端HTML代碼塊執(zhí)行局部更新,所述更新包括插入、替換或刪除操作,其中,插入和替換所需的代碼塊由代碼構(gòu)建模塊構(gòu)建。所述的項目計劃管理系統(tǒng)還可以包括模板導(dǎo)出模塊,用于導(dǎo)出計劃模板;計劃新建模塊,用于以時間平移方式通過導(dǎo)出的計劃模板新建計劃,5所述時間平移方式為以預(yù)設(shè)參考時間(參考時間點,該參考時間點可以由用戶指定,例如指定為計劃模板的導(dǎo)出時間)和計劃模板中所有任務(wù)的最早幵始時間的差值作為新建計劃與模板計劃的時間偏移值,進(jìn)行時間偏移,從而得到新建計劃的任務(wù)時間。根據(jù)本發(fā)明的另一個方面,提供一種基于網(wǎng)絡(luò)的項目計劃管理方法,執(zhí)行在應(yīng)用服務(wù)器和執(zhí)行項目計劃的客戶端上,包括應(yīng)用服務(wù)器在計劃實體內(nèi)以樹型結(jié)構(gòu)組織任務(wù)分層集和任務(wù),其中,任務(wù)分層集為樹型結(jié)構(gòu)中的樹節(jié)點,任務(wù)為樹型結(jié)構(gòu)的葉節(jié)點;應(yīng)用服務(wù)器對所述計劃實體執(zhí)行操作,以反映所述客戶端對所述計劃實體的修改操作。在上述方法中,所述任務(wù)分層集可以為多個任務(wù)集合成的分層次的結(jié)構(gòu)實體。在上述方法中,所述應(yīng)用服務(wù)器對計劃實體執(zhí)行操作可包括對任務(wù)執(zhí)行操作及對計劃結(jié)構(gòu)執(zhí)行調(diào)整操作。計劃結(jié)構(gòu)的調(diào)整操作可包括任務(wù)或任務(wù)分層集的平級或?qū)蛹壱苿?。所述計劃結(jié)構(gòu)的調(diào)整操作包括任務(wù)或任務(wù)分層集的平級或?qū)蛹壱苿?。本發(fā)明利用計算機數(shù)據(jù)處理,通過構(gòu)建任務(wù)分層集,將任務(wù)分層集以樹型結(jié)構(gòu)進(jìn)行組織,以任務(wù)分層集作為樹型結(jié)構(gòu)中的樹節(jié)點,任務(wù)作為樹型結(jié)構(gòu)中的葉節(jié)點,使得整個計劃實體內(nèi)的結(jié)構(gòu)明確,提高了數(shù)據(jù)信息的査詢和匯總的效率。另外,通過給任務(wù)分層集和任務(wù)提供標(biāo)準(zhǔn)的操作接口(對任務(wù)分層集和任務(wù)的操作通過這些標(biāo)準(zhǔn)操作接口進(jìn)行),對相關(guān)的計劃實體集中管理,便于對任務(wù)及計劃結(jié)構(gòu)執(zhí)行操作,提高對項目計劃進(jìn)行管理時的效率。圖1是本發(fā)明具體實施方式的項目計劃管理系統(tǒng)結(jié)構(gòu)示意圖2是本發(fā)明具體實施方式的計劃分層結(jié)構(gòu)圖3是本發(fā)明具體實施方式的任務(wù)及任務(wù)分層集的樹結(jié)構(gòu)示意圖4是本發(fā)明具體實施方式的任務(wù)收集、合并相關(guān)信息的示意圖5是本發(fā)明具體實施方式的節(jié)點逐層更新示意圖6是本發(fā)明具體實施方式的任務(wù)及任務(wù)分層集的層級移動示意圖7是本發(fā)明具體實施方式的任務(wù)及任務(wù)分層集的平級移動示意圖;圖8是本發(fā)明具體實施方式的加鎖機制的基本流程圖9是本發(fā)明具體實施方式的基本通信模型示意圖IO是本發(fā)明具體實施方式的DOM模型示意圖11是本發(fā)明具體實施方式的任務(wù)狀態(tài)轉(zhuǎn)移圖12是本發(fā)明具體實施方式的集中編輯模式示意圖13是本發(fā)明具體實施方式的模板導(dǎo)出技術(shù)的任務(wù)時間平移示意圖。具體實施例方式下面對照附圖并結(jié)合具體實施方式對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。如圖1所示,本發(fā)明具體實施方式的項目計劃管理系統(tǒng)可以實施在應(yīng)用服務(wù)器10和用來執(zhí)行項目計劃的一個或多個客戶端(瀏覽器)20中。此外,還可通過存儲介質(zhì)存儲的數(shù)據(jù)庫30來放置項目計劃的各種相關(guān)數(shù)據(jù)。本例的應(yīng)用服務(wù)器10中包括計劃結(jié)構(gòu)組織模塊101,主要用來組織整個計劃實體結(jié)構(gòu)及計劃實體內(nèi)部的任務(wù)的組織結(jié)構(gòu)。關(guān)于計劃結(jié)構(gòu)組織模塊101如何對計劃實體及任務(wù)的結(jié)構(gòu)進(jìn)行組織將在后文中詳細(xì)說明。此外,應(yīng)用服務(wù)器io還可包括以下模塊-鎖池管理模塊102,主要用于對計劃實體加鎖,以保證同一時刻只有一個客戶端被授權(quán)對此計劃實體進(jìn)行修改,以及對于計劃實體鎖的相關(guān)管理。業(yè)務(wù)操作模塊103,對樹型結(jié)構(gòu)數(shù)據(jù)實體進(jìn)行操作,包含對數(shù)據(jù)的增加、刪除、編輯、査找和基于這些操作的組合操作;這些操作涉及對計劃結(jié)構(gòu)的調(diào)整和對任務(wù)的執(zhí)行。代碼構(gòu)建模塊104,用于將所修改的實體數(shù)據(jù)組裝成HTML代碼塊,然后以字符串的形式傳送至客戶端20。解析模塊105,主要是用于解析客戶端20傳輸?shù)綉?yīng)用服務(wù)器10的數(shù)據(jù)。其主要是將客戶端組裝的字符串信息解析成對應(yīng)的任務(wù),然后交給數(shù)據(jù)訪問模塊進(jìn)行存儲。例如,客戶端組裝的字符串可能是idl任務(wù)l屬性a。然后傳輸?shù)椒?wù)器端后,解析模塊105從字符串中解析出idl、任務(wù)1、屬性a。數(shù)據(jù)訪問模塊106,作為應(yīng)用服務(wù)器10與數(shù)據(jù)庫30的交互接口,統(tǒng)一處理應(yīng)用服務(wù)器10的其它模塊在操作中的數(shù)據(jù)讀寫??蛻舳?0可包括請求構(gòu)造模塊201、數(shù)據(jù)同步模塊202、局部更新模塊203、數(shù)據(jù)收集器模塊204。其中,請求構(gòu)造模塊201主要用于發(fā)出HTTP數(shù)據(jù)請求,并接收應(yīng)用服務(wù)器10的響應(yīng),避免客戶端瀏覽器的頁面的大數(shù)據(jù)量刷新。數(shù)據(jù)同步模塊202主要是維護(hù)客戶端20的鎖。下文將予以說明。局部更新模塊203主要用于根據(jù)服務(wù)器10的響應(yīng)(響應(yīng)即是對上述請求構(gòu)造模塊201發(fā)出的HTTP數(shù)據(jù)請求,在該數(shù)據(jù)請求中,包含需要更新的任務(wù)數(shù)據(jù)標(biāo)識,一般是任務(wù)數(shù)據(jù)(任務(wù)實體)的ID,從而使服務(wù)器10依據(jù)此ID來識別需要向客戶端響應(yīng)哪些任務(wù)數(shù)據(jù)),更新頁面的HTML代碼段,此更新操作包括添加、替換和刪除HTML代碼塊;數(shù)據(jù)收集器模塊204主要用于收集頁面的集中編輯數(shù)據(jù),并組織成應(yīng)用服務(wù)器10的解析模塊105可以識別的格式。下面首先對本發(fā)明具體實施方式中的計劃結(jié)構(gòu)進(jìn)行說明。在項目計劃管理系統(tǒng)中,計劃實體分為兩種,分別是里程碑計劃和執(zhí)行計劃。其中里程碑任務(wù)一般可以是計劃實體中具有核心價值的任務(wù)。這些任務(wù)是否進(jìn)展順利,直接決定了計劃實體的執(zhí)行情況,進(jìn)而決定了研發(fā)項目是否運作正常。里程碑計劃伴隨著項目的建立而產(chǎn)生。在里程碑計劃中定義了整個項目的各個里程碑點。在里程碑計劃中不直接包含具體的任務(wù)。里程碑計劃之下可以建立執(zhí)行計劃,在執(zhí)行計劃中包含具體的任務(wù)。如圖2所示。計劃實體可以采用樹型結(jié)構(gòu)組織,其中,里程碑計劃是一個項目中最高級別的計劃,即其是計劃樹的根,而各個執(zhí)行計劃則是樹型結(jié)構(gòu)中的樹節(jié)點和葉節(jié)點。在執(zhí)行計劃下面還可以再建立子執(zhí)行計劃。具體的任務(wù)包含在執(zhí)行計劃中。在此,將執(zhí)行計劃實體內(nèi)部的任務(wù)也組織成樹型結(jié)構(gòu)。而在結(jié)構(gòu)組織中,遵循的原則是將各個具體的任務(wù)作為樹型結(jié)構(gòu)的葉節(jié)點。為此,本系統(tǒng)在計劃實體內(nèi)部構(gòu)建了任務(wù)分層集來作為樹型結(jié)構(gòu)中的樹節(jié)點以擴展任務(wù)的層次。任務(wù)分層集是多個任務(wù)集合成的分層次的結(jié)構(gòu)實體。通過任務(wù)分層集的設(shè)置,可以保證任務(wù)既可以分布在整個樹型結(jié)構(gòu)的多個層次上,同時也保證了任務(wù)作為樹型結(jié)構(gòu)的葉節(jié)點。如圖3所示,圖中,以"T"標(biāo)記的方框為任務(wù),以"N"標(biāo)記的圓框為任務(wù)分層集??梢钥吹剑琋l是最高層的任務(wù)分層集,其含有兩個任務(wù)分層集N2和N3。由于N2和N3從屬于N1,即在樹型結(jié)構(gòu)中,N2和N3是Nl的子節(jié)點,而N1是N2和N3的父節(jié)點,因此,相對于N1,N2和N3稱為N1的子任務(wù)分層集。繼續(xù)向下,可以從圖中看出,任務(wù)分層集N2下屬有任務(wù)Tl和任務(wù)分層集N4,N4下屬有任務(wù)T3、T4和任務(wù)分層集N6,N6下屬有任務(wù)T5到T8;任務(wù)分層集N3下屬有任務(wù)T2和任務(wù)分層集N5,N5下屬有任務(wù)分層集N7、N8、N9,N7、N8、N9分別下屬有任務(wù)T9、T10和T11、T12??梢姡粋€任務(wù)分層集的下屬是靈活多樣的,既可以只下屬任務(wù)分層集或任務(wù),也可以既下屬任務(wù)分層集,也下屬任務(wù)。在本系統(tǒng)中,為衡量任務(wù)進(jìn)展,引入任務(wù)的屬性信息,任務(wù)的屬性信息包括有計劃開始時間、計劃結(jié)束時間、實際開始時間、實際結(jié)束時間、完成率、偏差率、任務(wù)狀態(tài)指示。當(dāng)然,此處列舉的屬性信息并不對屬性信息內(nèi)容進(jìn)行限制,屬性信息的內(nèi)容可以根據(jù)用戶需要任意設(shè)置而不限于上述的幾項。上述的幾項屬性信息中,偏差率=(任務(wù)實際完成時間一任務(wù)計劃完成時間)/(任務(wù)計劃完成時間一任務(wù)計劃開始時間)。在本例中,針對任務(wù)狀態(tài)指示的屬性信息,采用文本字符搭配HTML顏色配置的表達(dá)方式來替代傳統(tǒng)的圖片表達(dá)方式,從而在對屬性信息進(jìn)行傳輸時,可以大大節(jié)省網(wǎng)絡(luò)傳輸?shù)淖止?jié)數(shù),提高整體上的傳輸效率。從以上說明可知,任務(wù)分層集與任務(wù)相比,并不作為直接執(zhí)行的任務(wù),但是在本發(fā)明具體實施方式中,任務(wù)分層集上也具有計劃開始時間、計劃結(jié)束時間、實際開始時間、實際結(jié)束時間、完成率、偏差率等屬性信息。具體每個屬性的取值定義示例如下-1.任務(wù)分層集的計劃開始時間取其下一層的子任務(wù)和子任務(wù)分層集的最早計劃開始時間;2.任務(wù)分層集的計劃結(jié)束時間取其下一層的子任務(wù)和子任務(wù)分層集的最晚計劃結(jié)束時間;3.任務(wù)分層集的實際開始時間取其下一層的子任務(wù)和子任務(wù)分層集的最早實際開始時間;4.任務(wù)分層集的實際結(jié)束時間取其下一層的子任務(wù)和子任務(wù)分層集的最晚實際結(jié)束時間;5.任務(wù)分層集的完成率和偏差率,由其下的子任務(wù)和子任務(wù)分層集對應(yīng)的完成率和偏差率的總和求平均值得到;6.計算任務(wù)分層集的屬性值的吋候,由樹結(jié)構(gòu)的最底層(即葉節(jié)點)9往樹的根節(jié)點(即由下往上)層層結(jié)算。例如,如圖4所示,對于節(jié)點N2,首先由節(jié)點T5、T6、T7、T8的屬性值得到節(jié)點N6的屬性值,再由節(jié)點T3、T4、N6的屬性值得到節(jié)點N4的屬性值,然后由節(jié)點T1、N4得到節(jié)點N2的屬性值。另一方面,對于節(jié)點N3,同樣由下而上層層結(jié)算,得到節(jié)點N3的屬性值,最終由節(jié)點N2和N3得到根節(jié)點Nl的屬性值。這一工作由應(yīng)用服務(wù)器10的屬性信息設(shè)置和更新模塊來完成。在對任務(wù)分層集的屬性信息進(jìn)行設(shè)置和更新時,采用收集與合并任務(wù)相關(guān)信息和從下到上逐層更新數(shù)據(jù)的方式來進(jìn)行。其中,收集與合并任務(wù)相關(guān)信息是將一個任務(wù)分層集直屬下的若干任務(wù)(即這些任務(wù)是直接下屬于該任務(wù)分層集,而不是通過一個該任務(wù)分層集的子任務(wù)分層集而下屬于該任務(wù)分層集,也即同父同層)合并成為一個任務(wù),用于進(jìn)一步的節(jié)點信息更新。例如,如圖4,任務(wù)分層集N6的直屬任務(wù)T5、T6、T7、T8合并為任務(wù)T6',其中T6'的偏差率、完成率為四個任務(wù)之和求平均。對于節(jié)點的從下到上逐層更新,由于通過上述的任務(wù)收集和合并,使得一個任務(wù)分層集只與統(tǒng)計后的一個任務(wù)相關(guān)聯(lián),所以更新只需通過該統(tǒng)計后的任務(wù)與該任務(wù)分層集的子任務(wù)分層集的信息做相應(yīng)統(tǒng)計。更新的方式采用從下到上的模式進(jìn)行。例如首先更新N6、N7、N8、N9,其次再更新N4、N5,然后更新N2、N3,最后更新N1,可參見圖5所示。在本發(fā)明具體實施方式的項目計劃管理系統(tǒng)中,由業(yè)務(wù)操作模塊103對計劃實體執(zhí)行操作。由于計劃實體內(nèi)既包括任務(wù)也可能包括任務(wù)分層集,因而,相應(yīng)的操作略有不同。其中,a.針對任務(wù)的操作有新建、編輯、發(fā)布、審核、變更、暫停、強制終止、刪除、設(shè)置顏色和移動(平級移動和層級移動)b.針對任務(wù)分層集的操作有新建、編輯、刪除、設(shè)置顏色和移動(平級移動和層級移動)可以看到,由于任務(wù)分層集實際上代表了任務(wù)的一種組織結(jié)構(gòu),因而,其包括的操作新建、編輯、刪除、設(shè)置顏色和移動等都是對結(jié)構(gòu)的調(diào)整操作。其中,設(shè)置顏色是通過給用戶提供一組操作接口,在系統(tǒng)內(nèi)不直接定義功能邏輯,由用戶根據(jù)實際環(huán)境的約定以及自己的理解給不同的樹元素(包括任務(wù)分層集和任務(wù))加上顏色。而對于移動操作,其主要包括平級移動和層級移動。下面分別對這兩種移動做一說明。層級移動是一種跨層級的移動,其改變了被移動的節(jié)點的父節(jié)點。從圖6可以看出,移動1是對任務(wù)分層集的移動,包括對任務(wù)分層集下的任務(wù)和子任務(wù)分層集的移動。在圖6的樹型結(jié)構(gòu)中,當(dāng)移動任務(wù)分層集N4后,N4在整個樹型結(jié)構(gòu)中,其父節(jié)點由N2變動為N5。根據(jù)前面提到的數(shù)據(jù)更新規(guī)則,N2、N5、N3和N1節(jié)點都受到影響。圖6中,移動2是對任務(wù)的移動,將任務(wù)T2通過層級移動放到任務(wù)分層集N1下面,則N3和N1節(jié)點的數(shù)據(jù)需要被更新。平級移動用于調(diào)整同一任務(wù)分層集下面的子任務(wù)分層集和任務(wù)的排列順序,被調(diào)整的節(jié)點的父節(jié)點不變。如圖7所示,其中,以涂黑的元素A作為被移動元素,圖7左半部分為移動前,右半部分為移動后。從圖7可以看出,元素A被移動到元素D后面,其在層次上并沒有發(fā)生變化。圖中的元素可以代表樹型結(jié)構(gòu)中的任務(wù)或者任務(wù)分層集。在平級移動的時候,把同一父任務(wù)分層集下面的子節(jié)點和子任務(wù)分層集都抽象成同一類元素來對待。由于同樣的任務(wù)放置在任務(wù)結(jié)構(gòu)中的不同位置,對任務(wù)管理是具有區(qū)別的。因而通過移動操作,可以在實際管理中對任務(wù)結(jié)構(gòu)進(jìn)行調(diào)整,從而更有效的對任務(wù)進(jìn)行管理。本發(fā)明具體實施方式的項目計劃管理系統(tǒng)適用于多用戶場景。對于多個用戶,計劃實體支持按照角色劃分權(quán)限,角色一般分2類所有者和普通用戶,其中,普通用戶的權(quán)限是只能査看不能修改,而只有所有者才能夠?qū)τ媱澾M(jìn)行修改,修改操作主要包括添加、編輯、刪除等操作。當(dāng)然,一個計劃實體是可以允許有多個所有者的。為保證數(shù)據(jù)的一致性(也即數(shù)據(jù)同步),系統(tǒng)內(nèi)引入了一套對計劃實體進(jìn)行加鎖的機制(由于任務(wù)實體和任務(wù)分層集實體都包含在計劃實體中,因而對計劃實體加鎖也就鎖定了任務(wù)數(shù)據(jù)),保證同時只會有一個客戶端進(jìn)行數(shù)據(jù)修改,實現(xiàn)這一功能的模塊稱為鎖池管理模塊。實現(xiàn)鎖的依據(jù)是把在客戶端登錄的用戶實體與其所操作的計劃實體進(jìn)行綁定,形成一個鎖,這種鎖稱為計劃實體鎖。其中,鎖的結(jié)構(gòu)包含用戶實體標(biāo)識(用戶ID)、目標(biāo)實體標(biāo)識(計劃實體ID)和鎖的生命指數(shù)。鎖的生命指數(shù)是在往鎖池內(nèi)注冊一個新鎖的時候給定的一個自然數(shù),這是一個根據(jù)該鎖所屬的具體業(yè)務(wù)而預(yù)設(shè)的值。這個生命指數(shù)會隨著時間由應(yīng)用服務(wù)器10的自動核銷操作不斷減少,例如初始化鎖A,給定生命指數(shù)3,應(yīng)用服務(wù)器10每過10秒自動核銷一次,每次核銷后,生命指數(shù)會減少1,如果客戶端沒有做出反應(yīng)(例如調(diào)用下文的續(xù)鎖操作接口),那么30秒之后這個鎖的生命指數(shù)為零,則應(yīng)用服務(wù)器IO會自動回收鎖A并令其失效。也即,鎖的生命指數(shù)指明了鎖的有效期。鎖池管理模塊管理計劃實體鎖,鎖池可以理解為一個記錄表,以記錄計劃實體鎖的相關(guān)信息,例如鎖的生命指數(shù),鎖對應(yīng)哪個計劃實體等等。鎖池管理模塊則對鎖池進(jìn)行相關(guān)管理,其具體可以包括鎖檢査單元用于響應(yīng)客戶端操作計劃實體請求,檢查該計劃實體是否加鎖,并在加鎖時拒絕客戶端操作請求,未加鎖時發(fā)出鎖注冊通知;鎖注冊單元用于接收鎖檢査單元發(fā)出的鎖注冊通知,為相應(yīng)的計劃實體注冊鎖;鎖刪除單元用于刪除計劃實體鎖。包括客戶端在對計劃實體修改結(jié)束后主動放棄鎖后將相應(yīng)鎖刪除,也包括服務(wù)器在核查到鎖的生命指數(shù)為預(yù)設(shè)值時,將該鎖生命指數(shù)為預(yù)設(shè)值的鎖刪除鎖生命指數(shù)設(shè)置單元用于為計劃實體鎖預(yù)設(shè)生命指數(shù),所述生命指數(shù)指明計劃實體鎖的有效期;鎖核銷單元用于周期性進(jìn)行核銷,在每次核銷時,檢查鎖池中是否有鎖,當(dāng)有鎖時,將鎖的生命指數(shù)減少,以及將生命指數(shù)為預(yù)設(shè)值的鎖交由鎖刪除單元刪除;當(dāng)無鎖時,等待下一次核銷;鎖復(fù)位單元用于響應(yīng)客戶端續(xù)鎖請求,將對應(yīng)鎖的生命指數(shù)復(fù)位。項目計劃管理系統(tǒng)內(nèi)有一個專門分配的存儲空間用于鎖池,鎖池通過上述的各個管理功能單元完成-1.提供注冊鎖和取消鎖的操作;2.根據(jù)實體的標(biāo)識符來檢查是否已經(jīng)加鎖;3.提供延長鎖的生命指數(shù)的操作;4.周期性的自動核銷鎖的生命指數(shù),并把生命指數(shù)降到0的鎖從鎖池中去除,即使該鎖失去作用。應(yīng)用服務(wù)器10和客戶端20的鎖操作的主要工作流程如圖8所示,左邊是應(yīng)用服務(wù)器10的流程,右邊是客戶端20的流程。左右兩邊是并行的。其中,應(yīng)用服務(wù)器10的流程還分為定期自動執(zhí)行的流程和基于客戶端操作而觸發(fā)的流程。在應(yīng)用服務(wù)器10,總體的流程如下5101、當(dāng)應(yīng)用服務(wù)器10開啟的時候,初始化鎖池;5102、在鎖池中添加新鎖;5103、注冊新鎖;5104、檢査是否有鎖;5105、把指定鎖的生命指數(shù)復(fù)位;5106、從池中刪除鎖。需要注意的是,流程S102到流程S106是基于客戶端的操作而觸發(fā)的。應(yīng)用服務(wù)器10中除了上述基于客戶端操作而觸發(fā)的流程外,還包括定期自動執(zhí)行的流程,也即圖示的周期性核銷流程。應(yīng)用服務(wù)器io啟動完之后,周期性核銷流程將自動開始,該核銷流程是循環(huán)執(zhí)行并且貫穿整個應(yīng)用服務(wù)器系統(tǒng)運行過程中,其主要的目的是在每個核銷周期內(nèi)對計劃實體鎖進(jìn)行核銷。周期性核銷操作具體過程包括5111、周期性核銷開始;5112、檢查池中是否有鎖,如果沒有則退出,返回到步驟Slll,等待下一個核銷周期到來;5113、當(dāng)池中有鎖,則把所有鎖的生命指數(shù)減l;5114、檢査是否有生命指數(shù)為0的鎖,如果沒有生命指數(shù)為0的鎖,返回到步驟Slll,等待下一個核銷周期;115、檢査到有生命指數(shù)為0的鎖,則從池中刪除該鎖,之后返回到步驟Slll、重新等待下一個核銷周期。在本例中,核銷周期設(shè)定為10秒,即應(yīng)用服務(wù)器IO每IO秒進(jìn)行一次核銷。當(dāng)然,核銷周期也可以依據(jù)需要設(shè)定為其他值。在客戶端20,主要由數(shù)據(jù)同步模塊202來執(zhí)行加鎖機制的相關(guān)流程??傮w的流程大致如下(需要注意的是,其中含有客戶端觸發(fā)的應(yīng)用服務(wù)器的工作流程)5201.流程開始,客戶端訪問某個計劃實體的數(shù)據(jù)(這里指客戶端需要修改計劃實體中的數(shù)據(jù),單純的查看不在此例范圍中);5202.檢査該數(shù)據(jù)資源是否被占用??蛻舳?0發(fā)起數(shù)據(jù)訪問請求后,則觸發(fā)了應(yīng)用服務(wù)器的流程S104,應(yīng)用服務(wù)器10檢査客戶端請求訪問的計劃實體是否被加鎖,如果檢査到該計劃實體已經(jīng)被加鎖,則會通知發(fā)起請求的客戶端20目前此計劃實體資源已經(jīng)被占用;如果應(yīng)用服務(wù)器10檢査到該計劃實體還沒被加鎖,則繼續(xù)流程S103,為該訪問的計劃實體注冊新鎖,而后進(jìn)行流程S102,在池中添加新鎖??蛻舳?0根據(jù)應(yīng)用服務(wù)器的返回結(jié)果不同而有不同的操作,對于應(yīng)用服務(wù)器IO通知資源被占用,則進(jìn)入到流程S209,通知操作者,而后進(jìn)行流程S207,結(jié)朿退出。當(dāng)資源沒有被占用,客戶端20即可獲得資源鎖。在取得操作權(quán)限之后,由于鎖的有效期相對較短,為保證客戶端20能夠有足夠的時間對計劃實體進(jìn)行操作,因而在客戶端20還設(shè)有一個續(xù)鎖循環(huán)??蛻舳?0在取得操作權(quán)限后,首先進(jìn)行流程S203,觸發(fā)續(xù)鎖,激活續(xù)鎖循環(huán)。續(xù)鎖循環(huán)觸發(fā)應(yīng)用服務(wù)器上的流程S105,把指定鎖的生命指數(shù)復(fù)位。然后,客戶端20進(jìn)行流程S204,完成正常的業(yè)務(wù)操作。續(xù)鎖循環(huán)在執(zhí)行業(yè)務(wù)操作的過程中不斷地執(zhí)行,一般也是10秒執(zhí)行一次,通知應(yīng)用服務(wù)器10進(jìn)行流程S105,從而把指定鎖的生命指數(shù)復(fù)位。這樣鎖的生命指數(shù)不會被減少到0,達(dá)到了續(xù)鎖的目的??蛻舳?0執(zhí)行完各種業(yè)務(wù)操作之后,離開該計劃實體的操作頁面,則進(jìn)入流程S205,解除續(xù)鎖循環(huán),然后在流程S206,通知應(yīng)用服務(wù)器10放棄鎖,流程S206觸發(fā)應(yīng)用服務(wù)器進(jìn)行流程S106,從鎖池中刪除鎖;最后,客戶端進(jìn)行流程S207,結(jié)束退出。在客戶端,任何涉及到數(shù)據(jù)更改的操作都需要先檢查計劃實體是否已經(jīng)被加鎖。需要注意的是,對于圖中的"池中添加新鎖"、"從池中刪除鎖"、"所有鎖的生命指數(shù)減1(僅為示例,可以設(shè)置為其他值)"、"把指定鎖的生命指數(shù)復(fù)位等操作"等,鎖池內(nèi)的數(shù)據(jù)是受同步互斥機制保護(hù)的,即同時只能有一個線程能對鎖池內(nèi)的鎖進(jìn)行改動。其中,對于"從池中刪除鎖"這個流程有兩種調(diào)用情況,一個是應(yīng)用服務(wù)器IO在進(jìn)行鎖池自動核銷時,發(fā)現(xiàn)有生命指數(shù)為預(yù)設(shè)值(例如本例中的0)的鎖,則對其強制刪除;一個是客戶端放棄操作后,主動放棄鎖而通知應(yīng)用服務(wù)器進(jìn)行刪除。圖8在兩處流程中調(diào)用只表示流程被調(diào)用的發(fā)起方式不同,前者是應(yīng)用服務(wù)器主動發(fā)起,后者則是應(yīng)用服務(wù)器根據(jù)客戶端的放棄鎖操作的通知被動發(fā)起,其具體的從池中刪除鎖的操作方式上并無不同之處。例如用戶A對計劃B進(jìn)行操作,首先用戶A所使用的客戶端20需要通過發(fā)送請求,調(diào)用鎖池提供的接口,檢査池中是否已經(jīng)有針對計劃B的鎖。如果有,應(yīng)用服務(wù)器會通知客戶端目前計劃B的資源己經(jīng)被占用;如果沒有則繼續(xù)調(diào)用鎖池的接口,注冊新鎖L作為計劃B的鎖,并且觸發(fā)客戶端的續(xù)鎖循環(huán)。由于鎖L的生命指數(shù)是初始值,隨著時間推移,鎖池的周期性核銷會把鎖L的生命指數(shù)減少,而客戶端20的續(xù)鎖循環(huán)會發(fā)送請求通知應(yīng)用服務(wù)器10調(diào)用鎖池的延長鎖的生命指數(shù)的接口,把鎖L的生命指數(shù)進(jìn)行復(fù)位,通常是將鎖L的生命指數(shù)重置為其初始值。本發(fā)明具體實施方式的項目計劃管理系統(tǒng)是一個基于網(wǎng)絡(luò)的系統(tǒng),也就是說,是一個Web模式的結(jié)構(gòu),因而其涉及到客戶端與應(yīng)用服務(wù)器10的通信。例如客戶端20的操作流程中,檢査是否有鎖的操作是客戶端通過發(fā)送HTTP請求通知應(yīng)用服務(wù)器10調(diào)用鎖池的相應(yīng)方法接口(這里是檢查是否有鎖的接口)來實現(xiàn)。在本例中,客戶端與應(yīng)用服務(wù)器IO之間的通信方式是利用Ajax技術(shù)(一種允許瀏覽器異步的與應(yīng)用服務(wù)器10通信而無需刷新當(dāng)前頁面的技術(shù))來實現(xiàn)的。在這種通信方式下,客戶端20可以調(diào)用應(yīng)用服務(wù)器10的任意接口獲得任何需要的數(shù)據(jù)。圖9是一個基本的通信模型。在該模型中,一共有6個步驟來完成一個完整的通信過程。其具體包括1.客戶端的事件觸發(fā)一個Ajax事件,并構(gòu)造了一個XHR實例,XHR指的是XMLHttpRequest,這是一個標(biāo)準(zhǔn)的實現(xiàn),可以處理發(fā)送請求與接收響應(yīng);2.客戶端20向應(yīng)用服務(wù)器10發(fā)送請求;3.應(yīng)用服務(wù)器10執(zhí)行業(yè)務(wù)操作,訪問存儲介質(zhì)中的數(shù)據(jù)庫30;4.應(yīng)用服務(wù)器10從數(shù)據(jù)庫30中取出數(shù)據(jù);5.應(yīng)用服務(wù)器10將對客戶端的請求響應(yīng)返回客戶端;6.客戶端20在接收到應(yīng)用服務(wù)器10響應(yīng)之后,執(zhí)行回調(diào)方法callBack()。在頁面更新時,通常需要重新讀取整個頁面的數(shù)據(jù),然而在實際Web應(yīng)用中,更新頁面往往只需要改變局部的數(shù)據(jù)就可以符合用戶的需求,相比之下,為了更新而重新讀取整個頁面的數(shù)據(jù)就顯得開銷太大。為此,本發(fā)明具體實施方式的管理系統(tǒng)在Ajax技術(shù)的基礎(chǔ)上,采用在應(yīng)用服務(wù)器IO動態(tài)組裝HTML代碼塊的方式。即,利用HTML的DOM特性,動態(tài)地改變頁面的代碼結(jié)構(gòu)。其中,DOM特性是一個W3C(WorldWideWebConsortium,萬維網(wǎng)聯(lián)盟)規(guī)約,可以以一種獨立于平臺和語言的方式訪問和修改一個文檔的內(nèi)容,這里的文檔一般是HTML或者XML文檔。如圖10所示,〈table〉是HTML的一個元素,其下包含了〈tbody〉元素,而〈tbody〉又包含了2個子元素〈tr〉。圖中,右邊是〈table〉在HTML代碼中的實現(xiàn),左邊是DOM對這個代碼結(jié)構(gòu)的對象描述,如果要往〈tbody〉下面插入一個新的<&>元素(圖中由虛線框標(biāo)記),則需要相應(yīng)的往〈tbody〉的代碼段里面插入類似〈tr〉…々ti^的代碼。同理,如果要刪除某個元素,則刪除掉對應(yīng)元素的代碼塊;如果需要修改某個元素的數(shù)據(jù),那么用新的代碼塊替換掉這部分代碼的文本即可。在本系統(tǒng)中,應(yīng)用服務(wù)器10通過代碼構(gòu)建模塊104來動態(tài)地構(gòu)建客戶端所需的HTML代碼塊;在客戶端20,通過局部更新模塊203對客戶端20的HTML代碼塊執(zhí)行局部更新,具體的局部更新操作包括-1.把應(yīng)用服務(wù)器10產(chǎn)生的代碼塊(由代碼構(gòu)建模塊104構(gòu)建而成)插入到客戶端20的HTML代碼中;2.把應(yīng)用服務(wù)器10產(chǎn)生的代碼(由代碼構(gòu)建模塊104構(gòu)建而成)替換客戶端20的指定HTML代碼塊;3.刪除客戶端指定的HTML代碼塊。對于應(yīng)用服務(wù)器10的代碼構(gòu)建模塊104,需要和客戶端20使用一份相同的HTML代碼模板,這樣做是為了保證使用代碼構(gòu)建模塊104產(chǎn)生的代碼和用傳統(tǒng)的Web地址訪問到的網(wǎng)頁里的HTML代碼塊結(jié)構(gòu)是一致的。對于客戶端的局部更新模塊203,通過DOM結(jié)構(gòu)的對象id進(jìn)行定位,即圖10中的左圖每一個對象都有一個在本HTML范圍內(nèi)唯一的id。在得到了指定的DOM對象之后,使用腳本語言操作該對象的HTML代碼即可。在本發(fā)明具體實施方式的項目計劃管理系統(tǒng)中,由于計劃樹包含大量的任務(wù)信息,并且每個任務(wù)都包含了許多獨立的信息,如果按照正常的操作方式,計劃樹的維護(hù)者需要做很多重復(fù)的操作來逐個地打開任務(wù)并且進(jìn)行修改。此外,任務(wù)狀態(tài)比較多,例如任務(wù)狀態(tài)包含未發(fā)布、未啟動、進(jìn)行中、待審核、未通過、通過(未關(guān)閉)、暫停、強制中止和關(guān)閉。這些狀態(tài)之間相互轉(zhuǎn)換的關(guān)系可參見圖11所示。有鑒于此,在本發(fā)明具體實施方式的管理系統(tǒng)中,采用了一種集中編輯的模式,這種模式是選擇維護(hù)者日常最為關(guān)注的任務(wù)狀態(tài)類型及任務(wù)屬性,將這些關(guān)注點抽取出來放到一個頁面集中處理,從而可以減少客戶端與應(yīng)用服務(wù)器IO許多不必要的交互。這里的任務(wù)狀態(tài)類型包含未發(fā)布、未啟動、進(jìn)行中和未通過四種類型,受關(guān)注的任務(wù)屬性包括任務(wù)名稱、任務(wù)類型、任務(wù)優(yōu)先級、責(zé)任人、計劃開始時間、計劃完成時間、估計工作量和是否為里程碑任務(wù)等等。在客戶端,可以采用表格來裝載需要編輯的任務(wù)數(shù)據(jù)??蛻舳说谝淮渭虞d該頁面的時候,會把所有任務(wù)的最新信息加載進(jìn)來,并且在客戶端20(瀏覽器)創(chuàng)建一個數(shù)據(jù)收集器,即客戶端20上的數(shù)據(jù)收集器模塊204。這個數(shù)據(jù)收集器會在用戶點擊表格屮某行的時候,記錄下對應(yīng)的編輯信息。數(shù)據(jù)收集器模塊204里面保存編輯信息的行號,作為提取編輯過的數(shù)據(jù)的標(biāo)記,如果某一行數(shù)據(jù)被重復(fù)編輯,則只保存最后一次的編輯結(jié)果。在向應(yīng)用服務(wù)器10提交數(shù)據(jù)時,則可以只集中提交數(shù)據(jù)收集器模塊204收集的編輯過的內(nèi)容。如圖12,數(shù)據(jù)表格中rl和r3被修改過了,則數(shù)據(jù)收集器模塊204構(gòu)造出如下的修改記錄rl:xxxx-yyyy-zzzz%%r3:xxxx-yyyy-zzzz其中""、"_"、"%"等符號都屬于分隔符,采用這些對于業(yè)務(wù)來說相對不常用的字符,主要是為了保證應(yīng)用服務(wù)器10的解析模塊能夠正確的分割修改記錄的字符串。在應(yīng)用服務(wù)器10,通過解析模塊105來專門處理客戶端20中的數(shù)據(jù)收集器模塊204構(gòu)造出的編輯內(nèi)容的字符串,從圖12中可以看出,客戶端20所提交的內(nèi)容又被分割并還原成多條的任務(wù)數(shù)據(jù),最后保存到數(shù)據(jù)庫30中。任務(wù)樹的內(nèi)容比較多,不同使用場景下用戶的關(guān)注的點不一樣。如果用戶關(guān)注的只是某種特定類型的任務(wù),卻要等待系統(tǒng)加載完所有的任務(wù),這個等待的時間使得系統(tǒng)付出多余的開銷。在本系統(tǒng)中,引入了按照關(guān)注點區(qū)分的三個視圖平板視圖、里程碑視圖和樹視圖,三個視圖可以互相切換。平板視圖默認(rèn)按照任務(wù)的最新更新時短倒序排列,為關(guān)心任務(wù)最新進(jìn)展的使用者提供信息,此外還提供各種篩選過濾功能,例如按照任務(wù)類型篩選、按照任務(wù)責(zé)任人篩選和按任務(wù)相關(guān)的時間正序與倒序排列,在這個視圖中,可以直接對有最新進(jìn)展的任務(wù)進(jìn)行處理,例如審核最近提交的任務(wù)。里程碑視圖只顯示被標(biāo)記為里程碑任務(wù)的任務(wù),通常情況下,關(guān)心項目整體進(jìn)度的用戶會直接?xùn)丝催@個視圖,從里程碑任務(wù)的完成情況可以直接反映整個計劃的進(jìn)展情況。一般里程碑任務(wù)數(shù)量比較少,這個視圖打開的速度非??臁湟晥D顯示整個計劃樹的完整結(jié)構(gòu),從這個視圖可以了解到整個計劃的階段安排和人員配置情況。計劃維護(hù)者在這個視圖對整個計劃的結(jié)構(gòu)做初始化,并且制定計劃的整體階段安排。同時樹視圖也提供了操作樹分支的接口,可以對任務(wù)分支進(jìn)行移動(包括層級移動和同級移動)。任務(wù)和任務(wù)分層集只能在樹視圖中創(chuàng)建。項目計劃樹的結(jié)構(gòu)比較復(fù)雜,但是對于同類的項目計劃樹在全局的結(jié)構(gòu)上有一定的共性,模板功能可以減輕創(chuàng)建計劃時所作的重復(fù)勞動,同時也讓優(yōu)秀的項目計劃被分享到其它計劃中。計劃模板與計劃結(jié)構(gòu)類似,都是樹狀結(jié)構(gòu)。唯一的不同點就是計劃模板內(nèi)的任務(wù)和任務(wù)分層集的責(zé)任人不是實際的用戶實體,在計劃模板內(nèi)的責(zé)任人都是指角色,而不是特定的人。有了模板,創(chuàng)建計劃的時候就可以根據(jù)模板來產(chǎn)生新的計劃。在從模板導(dǎo)出任務(wù)和任務(wù)分層集的時候,針對責(zé)任人和相應(yīng)的計劃開始時間與計劃完成時間有特殊的處理方式。對于責(zé)任人,在模板里的描述是一個角色,在導(dǎo)出的時候從該計劃所屬的項目成員中選擇一個進(jìn)行匹配,通過這一匹配就把計劃任務(wù)的責(zé)任人(模板任務(wù)中的角色)與實際項目的成員建立了關(guān)聯(lián)。對于導(dǎo)出的任務(wù)和任務(wù)分層集,要保持模板中所設(shè)置的任務(wù)時間跨度,并且方便計劃樹維護(hù)者維護(hù)通過模塊而新建的計劃里的任務(wù)時間。本系統(tǒng)以可以由用戶指定的預(yù)設(shè)參考時間,例如導(dǎo)出模板計劃的時間作為基準(zhǔn)時間點C,再獲得計劃模板的所有任務(wù)中最早的計劃開始時間T,二者的差值就是新建計劃與模板計劃直接的時間偏移值R,即R=C-T。對于模板中的任務(wù)(或者任務(wù)分層集),假設(shè)有模板任務(wù)A,其計劃開始時間為tl,計劃完成時間為t2,那么可以得出新任務(wù)在對應(yīng)的新建計劃中的時間計劃開始時間Tl=tl+R計劃完成時間T2=t2+R所有的任務(wù)依照時間跨度上的偏差依次平移。上述的這種時間平移技術(shù)的具體實現(xiàn)如圖13所示。本發(fā)明提供了一種適應(yīng)WEB應(yīng)用的計劃實體內(nèi)的任務(wù)組織結(jié)構(gòu),通過一種任務(wù)分層集和任務(wù)的樹型機構(gòu),形成了組織良好的任務(wù)組織結(jié)構(gòu),便于對任務(wù)及計劃結(jié)構(gòu)執(zhí)行操作,提高對項目計劃進(jìn)行管理時的效率。本發(fā)明通過引入同步加鎖機制,使得計劃操作時的效率更高,也可以保證數(shù)據(jù)的一致性。本發(fā)明通過采用動態(tài)生成HTML代碼和頁面局部更新,避免數(shù)據(jù)更新時的大量浪費。例如對于數(shù)據(jù)量較大的頁面,通過應(yīng)用服務(wù)器IO要花費大量的開銷來重新組裝生成頁面所需要的數(shù)據(jù),很多場景都是類似這樣的修改了一千條數(shù)據(jù)里的五條,為了把所修改的五條數(shù)據(jù)正確反映到客戶端又得把所有的一千條數(shù)據(jù)重新組織一遍,浪費了大量的資源。而根據(jù)本發(fā)明一些方面的這種局部更新可以只花最少的代價來更新修改過的數(shù)據(jù)。而且,如上所述,通過數(shù)據(jù)的集中編輯操作提升了數(shù)據(jù)編輯操作的效率。本發(fā)明一些方面還相應(yīng)給出了一種基于網(wǎng)絡(luò)的項目計劃的管理方法,由于其主要步驟在前已有描述,在此不再贅述。以上內(nèi)容是結(jié)合具體的優(yōu)選實施方式對本發(fā)明所作的進(jìn)一步詳細(xì)說明,但這只是為便于理解而舉的實例,不應(yīng)認(rèn)為本發(fā)明的具體實施只局限于這些說明。對于本發(fā)明所屬
技術(shù)領(lǐng)域
的普通技術(shù)人員來說,在不脫離本發(fā)明構(gòu)思的前提下,可以做出各種可能的等同改變或替換,這些改變或替換都應(yīng)屬于本發(fā)明的保護(hù)范圍。權(quán)利要求1、一種基于網(wǎng)絡(luò)的項目計劃管理系統(tǒng),包括計劃結(jié)構(gòu)組織模塊,用于以樹型結(jié)構(gòu)組織計劃實體內(nèi)的任務(wù)分層集和任務(wù),其中,任務(wù)分層集為樹型結(jié)構(gòu)中的樹節(jié)點,任務(wù)為樹型結(jié)構(gòu)的葉節(jié)點;業(yè)務(wù)操作模塊,用于對計劃實體執(zhí)行操作,并將所述操作的結(jié)果提供給所述計劃結(jié)構(gòu)組織模塊。2、如權(quán)利要求l所述的項目計劃管理系統(tǒng),其特征在于,所述業(yè)務(wù)操作模塊對計劃實體的操作包括所述任務(wù)的執(zhí)行操作和/或所述計劃實體的結(jié)構(gòu)的調(diào)整操作,所述計劃實體的結(jié)構(gòu)的調(diào)整操作包括任務(wù)或任務(wù)分層集的平級或?qū)蛹壱苿印?、如權(quán)利要求1所述的項目計劃管理系統(tǒng),其特征在于,所述計劃結(jié)果組織模塊和業(yè)務(wù)操作模塊設(shè)置于應(yīng)用服務(wù)器中,所述應(yīng)用服務(wù)器還包括屬性信息設(shè)置和更新模塊,用于為任務(wù)和任務(wù)分層集設(shè)置及更新屬性信息,其中,若任務(wù)分層集下只包含任務(wù),其屬性信息根據(jù)下屬任務(wù)的屬性信息設(shè)置和更新,若任務(wù)分層集下包含任務(wù)及子任務(wù)分層集,其屬性信息根據(jù)下屬的任務(wù)和子任務(wù)分層集的屬性信息設(shè)置和更新。4、如權(quán)利要求3所述的項目計劃管理系統(tǒng),其特征在于,所述應(yīng)用服務(wù)器還包括鎖池管理模塊,用于管理計劃實體鎖,所述計劃實體鎖用于鎖定計劃實體,以在同一時刻僅由一個客戶端對該被鎖定的計劃實體進(jìn)行修改操作。5、如權(quán)利要求4所述的項目計劃管理系統(tǒng),其特征在于,所述鎖池管理模塊包括鎖檢查單元用于響應(yīng)客戶端操作計劃實體請求,檢査該計劃實體是否加鎖,并在加鎖時拒絕客戶端的操作請求,未加鎖時發(fā)出鎖注冊通知;鎖注冊單元用于接收鎖檢査單元發(fā)出的鎖注冊通知,為相應(yīng)的計劃實體注冊鎖;鎖刪除單元用于刪除計劃實體鎖。6、如權(quán)利要求5所述的項目計劃管理系統(tǒng),其特征在于,所述鎖池管理模塊還包括鎖生命指數(shù)設(shè)置單元用于為計劃實體鎖預(yù)設(shè)生命指數(shù),所述生命指數(shù)指明計劃實體鎖的有效期;鎖核銷單元用于周期性進(jìn)行核銷,在每次核銷時,檢查鎖池中是否有鎖,當(dāng)有鎖時,將鎖的生命指數(shù)減少,以及將生命指數(shù)減少到預(yù)設(shè)值的鎖交由鎖刪除單元刪除;當(dāng)無鎖時,等待下一次核銷;鎖復(fù)位單元用于響應(yīng)客戶端續(xù)鎖請求,將對應(yīng)鎖的生命指數(shù)復(fù)位。7、如權(quán)利要求3所述的項目計劃管理系統(tǒng),其特征在于,還包括設(shè)置在應(yīng)用服務(wù)器中的代碼構(gòu)建模塊,用于動態(tài)構(gòu)建對計劃實體進(jìn)行修改操作的客戶端所需的HTML代碼塊;所述客戶端包括局部更新模塊,用于對客戶端HTML代碼塊執(zhí)行局部更新,所述更新包括插入、替換或刪除操作,其中,所述插入和所述替換所需的代碼塊由所述代碼構(gòu)建模塊構(gòu)建。8、如權(quán)利要求l-7任一項所述的項目計劃管理系統(tǒng),其特征在于,還包括模板導(dǎo)出模塊,用于導(dǎo)出計劃模板;計劃新建模塊,用于以時間平移方式通過導(dǎo)出的計劃模板新建計劃,所述時間平移方式為以預(yù)設(shè)參考時間和計劃模板中所有任務(wù)的最早開始時間的差值作為新建計劃與模板計劃的時間偏移值進(jìn)行時間偏移而得到新建計劃的任務(wù)時間。9、一種基于網(wǎng)絡(luò)的項目計劃管理方法,執(zhí)行在應(yīng)用服務(wù)器和執(zhí)行項目計劃的客戶端上,其特征在于,包括應(yīng)用服務(wù)器在計劃實體內(nèi)以樹型結(jié)構(gòu)組織任務(wù)分層集和任務(wù),其中,任務(wù)分層集為樹型結(jié)構(gòu)中的樹節(jié)點,任務(wù)為樹型結(jié)構(gòu)的葉節(jié)點;應(yīng)用服務(wù)器對所述計劃實體執(zhí)行操作,以反映所述客戶端對所述計劃實體的修改操作。10、如權(quán)利要求9所述的項目計劃管理方法,其特征在于,應(yīng)用服務(wù)器對計劃實體執(zhí)行操作包括對任務(wù)執(zhí)行操作及對計劃結(jié)構(gòu)執(zhí)行調(diào)整操作,所述計劃結(jié)構(gòu)的調(diào)整操作包括任務(wù)或任務(wù)分層集的平級或?qū)蛹壱苿印H恼景l(fā)明公開了一種基于網(wǎng)絡(luò)的項目計劃管理系統(tǒng)及方法,所述系統(tǒng)包括應(yīng)用服務(wù)器和執(zhí)行項目計劃的至少一個客戶端,所述應(yīng)用服務(wù)器包括計劃結(jié)構(gòu)組織模塊,用于在計劃實體內(nèi)以樹型結(jié)構(gòu)組織任務(wù)分層集和任務(wù),其中,任務(wù)分層集為樹型結(jié)構(gòu)中的樹節(jié)點,任務(wù)為樹型結(jié)構(gòu)的葉節(jié)點;業(yè)務(wù)操作模塊,用于對計劃實體執(zhí)行操作。本發(fā)明通過對計劃實體內(nèi)的任務(wù)進(jìn)行優(yōu)化組織,通過構(gòu)建任務(wù)分層集,將任務(wù)分層集以樹型結(jié)構(gòu)進(jìn)行組織,以任務(wù)分層集作為樹型結(jié)構(gòu)中的樹節(jié)點,任務(wù)作為樹型結(jié)構(gòu)中的葉節(jié)點,使得整個計劃實體內(nèi)的結(jié)構(gòu)明確,便于對任務(wù)及計劃結(jié)構(gòu)執(zhí)行操作,提高對項目計劃進(jìn)行管理時的效率。文檔編號G06F17/30GK101604421SQ200910106310公開日2009年12月16日申請日期2009年3月19日優(yōu)先權(quán)日2009年3月19日發(fā)明者盧志奮,宋少良,輝梁,洪學(xué)琦申請人:深圳市青銅器軟件系統(tǒng)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1