星期一, 12月 01, 2008

班網

這段修改出乎意料之外的順。我原本的權限物件用的是用很多pair來表示權限的方法,如(admin,a),(admin,b)表示a和b有admin權限這樣子。而我新的權限物件則是用modified preorder Traversal tree來表示群組關係,各個tree之中又能用稱為ACL的連結,來表示權限的有無。所以其實原本的pair都可以表示成tree,如剛剛的admin權限可以把a和b表示成admin的兩個子節點,甚至舊物件的hack在新物件也可以輕鬆找到對應的方式=.=b所以眾多code其實除了call權限物件的部份要改之外(廢話),要修改的地方沒有很多,很多時候都是呼叫的function和參數換一換就好了,那些花費巨大心血,經過精密除錯的old code一行都不用修改 \(^o^)/

基底物件方面,則是幫權限物件繼續除錯,第一次使用Cache果然還是會出包,常常發現系統執行一大堆莫名其妙的SQL,後來才發現原來是cache system沒有把該清的東西清掉,結果接下來的script拿錯誤的結果去做SQL....但是找到扭曲的根源後叫function把東西清掉就沒事了。剩下就是把一些function的語意弄的更明白點,基底物件算是幾乎完工。

工期可以分為四個階段,基底物件的重寫是第一個階段,班網的重寫是第二階段,其他服務的重寫是第三階段,converter的撰寫和new code的porting是最後階段,前兩個階段預計吃掉最多的時間,也確實是這樣,不過班網比較關鍵的系級部份幾乎都完成了,剩下的班網porting和其他階段應該就是勞力工作,希望可以很快完工。 全文連結

0 意見: