下載文件 ? 查看說明文檔
今天我很高興地宣布我的第二款作品,完全基于XML的數(shù)據(jù)庫:GeneGrid-DataBases(V1.0)
它基于這樣一個思想:以最簡單的原理,按照 GUID-對應(yīng)值的形式 把所有的數(shù)據(jù)都存儲在XML文件群中。
原始文檔發(fā)布地址: http://www.fssfans.com/blog.aspx?user=3&id=154552
它的缺點(diǎn) :這并不是一個關(guān)系式數(shù)據(jù)庫,所以它不支持SQL語言,內(nèi)在的數(shù)據(jù)存儲結(jié)構(gòu)中也不存在互相的關(guān)聯(lián)。但是它的這個缺點(diǎn)也是它的優(yōu)點(diǎn)之一: 高效、簡潔、平臺擴(kuò)展性強(qiáng) 。
它的優(yōu)點(diǎn)
:
1:
不需要安裝、不需要加載服務(wù)、不需要設(shè)置IIS
(對于很多使用虛擬主機(jī)的站長來說,這一點(diǎn)是致命傷痛)
2:同時支持運(yùn)行在IIS上和運(yùn)行在本地應(yīng)用。
3:
支持所有的平臺應(yīng)用
。雖然目前僅僅運(yùn)行在.Net平臺下,但是它的基礎(chǔ)架構(gòu)是XML文件,所以在平臺的移植上僅僅是我作為開發(fā)者的個人時間問題。而且,您現(xiàn)在就可以通過它的WEB服務(wù)功能,將它運(yùn)行在您的J2EE、PHP、ASP、Mobile環(huán)境中,而不需要等待我開發(fā)好JAVA和PHP版本(當(dāng)然,它們已經(jīng)存在于我的計(jì)劃中)
4:非常方便的數(shù)據(jù)合并,當(dāng)您準(zhǔn)備合并兩套數(shù)據(jù)的時候,您需要做的僅僅是把XML數(shù)據(jù)文件復(fù)制在同一個文件夾下面即可,因?yàn)槲募且訥UID來命名的,所以不會出現(xiàn)命名沖突和數(shù)據(jù)標(biāo)簽沖突。
5:它是基于文件集群的形式存放數(shù)據(jù)的,默認(rèn)每個文件最大512K(并且您可以根據(jù)自己的機(jī)器性能來定制這個大小),系統(tǒng)會自動建立新的文件來保存更多的數(shù)據(jù),所以,不用擔(dān)心數(shù)據(jù)量增大后導(dǎo)致執(zhí)行性能的下降。理論上,這個系統(tǒng)所能夠容納的數(shù)據(jù)量僅僅受限于您的磁盤空間大小。
6:原生支持JSON格式,為AJAX應(yīng)用帶來更強(qiáng)大的效率。
它默認(rèn)支持:返回 json 數(shù)據(jù)格式、通過 Ajax 應(yīng)用模式控制、基于Asp.Net的 Web服務(wù) 、以及在任何.Net程序( 本地 )中加載使用。
7:免費(fèi)使用許可,無論使用在任何用途,它都是免費(fèi)的,隨便您賺的黑錢還是白錢都不關(guān)我事,我不會向您收取使用費(fèi)用。
執(zhí)行原理:
當(dāng)您添加完成一個數(shù)據(jù)的時候,您會得到一個特殊的 GUID 序列號。 您必須記住這個 GUID ,才能夠保證以后可以查詢到您剛才添加的數(shù)據(jù)。所以,您一旦丟失了某個數(shù)據(jù)的GUID序列號,您將很難再找到這條數(shù)據(jù)。
使用方法:
WEB應(yīng)用:
1 ?? 把genegrid.dll放置到Bin文件夾中。
????? 保證站點(diǎn)根目錄下存在data文件夾(存在文件夾即可,里面有沒有其它文件無所謂)
????? 把genegrid_config文件夾復(fù)制到站點(diǎn)根目錄下
????? ajax.aspx、server.asmx、json.aspx三個文件可以放在任意目錄中
2
? ? ? AJAX應(yīng)用:
? ? ? 查詢單個數(shù)據(jù):json.aspx?guid=某個數(shù)據(jù)的GUID值
? ? ? 查詢多個數(shù)據(jù):json.aspx?guid=某個數(shù)據(jù)的GUID值&guid=某個數(shù)據(jù)的GUID值&guid=某個數(shù)據(jù)的GUID值&.............(任意多)
? ? ? 以上兩個辦法都是以 ?{guid:guid值,value:數(shù)據(jù)值} 的形式返回JSON格式,主要應(yīng)用AJAX中。
? ? ? 寫入:ajax.aspx?cmd=addNew&values=您的數(shù)據(jù) ?? (返回 true|false)
? ? ? 更新:ajax.aspx?cmd=update&guid=某條數(shù)據(jù)的GUID&values=新值 ?? (返回 true|false)
? ? ? (以上兩條操作的values參數(shù)也可以通過POST來傳遞)
? ? ? 刪除:ajax.aspx?cmd=delete&guid=某條數(shù)據(jù)的GUID ? (返回 true|false)
? ? ? WEB服務(wù)的使用方法大同小異,具體的說明可以參看server.asmx的自帶文檔。
?? 版本信息和版權(quán)聲明:ajax.aspx?cmd=vol
項(xiàng)目加載:
????? 您可以通過不同的辦法來將這個數(shù)據(jù)庫集成到您的開發(fā)項(xiàng)目中,其一是通過WEB服務(wù)(具體的方法不在本文討論范圍),
????? 其二是加載DLL模塊(.net):
? ? ? namespace genegrid
? ? ? dbOperate 類
? ? ? public Guid insert(string values); //添加數(shù)據(jù),返回一個GUID類型值
? ? ? public string select(string id); //查找單一數(shù)據(jù),參數(shù)是某數(shù)據(jù)的GUID
? ? ? public DataTable selects(string[] ids); //查找多個數(shù)據(jù),參數(shù)GUID格式的String數(shù)組
? ? ? public bool delete(string id);? //刪除數(shù)據(jù),參數(shù)是某數(shù)據(jù)的GUID
? ? ? public bool update(string id,string values); //更新數(shù)據(jù),參數(shù)是某數(shù)據(jù)的GUID、新的值。
設(shè)置文件:
? ? ? 保存在genegrid_databases_data目錄下的唯一一個文件,名字任意起,后綴名任意。本質(zhì)是一個XML文件。
最后是版權(quán)聲明:
????? 1.0版本屬于免費(fèi)版本,可免費(fèi)任意使用在商業(yè)用途和非商業(yè)用途。雖然該套系統(tǒng)已經(jīng)經(jīng)過我的多項(xiàng)測試,但是畢竟個人能力有限,作為開發(fā)者本人的我對于使用該軟件而產(chǎn)生的所有后果不負(fù)責(zé)。
????? GeneGrid-DataBases V1.0 Build 001 ? 2007 梁逸晨 kvspas@gmail.com
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
