最小的一次变化,让他找了好几分钟才最终找到,就变了一个词。
而最严重的一次,直接把好几页都变成乱码了。
从这个角度看,通过某种固定方式,修復產生的变化,估计是很困难。
那回滚呢?
贾修立刻想到。
保留论文的初始状態,在发生变化的时候,回滚到初始状態不就好了。
最简单粗暴的方案,就是所有论文存储时都一式两份,调用的时候默认被调用出去的那份混乱了,直接替换成备份,同时以此备份为基础,再复製出一个备份的备份。
反正存入过程是对没有法术占用的“空”空间进行施法,不会发生突变。
但还有一个问题是,需要检测查阅的过程中是否发生突变,如果发生,就给一份新的,如果又发生,就再换一份,直到完全確定查阅到的是原版內容。
然而在得到这个方法半分钟后,贾修就直接否定了此方案。
不“优美”。
感觉蠢蠢的。
身为一个有追求的程式设计师,还是希望方案可以优美一点,儘量减少最简单粗暴的方式。
那样做的话,他这边是简单了,“硬体”需求上麻烦就大了。
无论是作为程式设计师的身份,还是作为游戏玩家的身份,他都很討厌不给游戏做优化,全靠硬体撑著的厂商。
很不优美!
而且更要紧的,他的这台“伺服器”流量也有限,方案的复杂度太高,按照贾斯汀娜的说法会让她疯掉。
保护伺服器从他做起。
毕竟要是贾斯汀娜真烧坏了,圣光过不过来寻仇另说,他也没地方找替代品。
贾修翻开小本本,立刻开始写写画画起更便捷的方案。
以一百五十次里二十四次变化的频率,全备份確实浪费得不得了。
那么,只备份“用户”用到的那些呢。
贾斯汀娜作为服务端,查阅论文的施法者作为客户端,可以在客户端发来查阅指定论文的法术请求后,服务端再开始备份对应论文,备份完成后再允许查阅请求,这样避免所有论文都提前备一份的尷尬。至於什么情况下需要替换,其实也不算太复杂。
可以用一个无波动魔力流作为检测標准。
在获得了魔能通悟能力后,贾修就发现了一个现象。
突然变化的魔力波动,会引起无波动魔力流的震盪。
也就能用於检测出哪一次查阅法术请求,引起了突变。
至此,方案算是优化了一些。
但似乎还不够好。
有一个问题始终没解决,就是假如有个超级倒霉蛋,提出的查阅法术请求,每次都能引起突变,导致一直查不出来。
好像没法排除这种可能。
目前还不清楚这种跳变,是纯隨机,还是偽隨机。
要是纯隨机,真有天选“倒霉蛋”,那可怎么整。
贾修笔头戳著脑门,陷入纠结……