欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種快速安全的實(shí)時(shí)數(shù)據(jù)庫訪問方法

文檔序號(hào):6554213閱讀:289來源:國知局
專利名稱:一種快速安全的實(shí)時(shí)數(shù)據(jù)庫訪問方法
技術(shù)領(lǐng)域
本發(fā)明涉及自動(dòng)化控制領(lǐng)域,尤其涉及基于內(nèi)存的實(shí)時(shí)數(shù)據(jù)庫訪問方法。
背景技術(shù)
在自動(dòng)化控制領(lǐng)域,通常使用基于內(nèi)存的實(shí)時(shí)數(shù)據(jù)庫。服務(wù)器中的所有任務(wù)共享這一個(gè)內(nèi)存實(shí)時(shí)數(shù)據(jù)庫,以達(dá)到快速訪問的目的。目前對(duì)于基于內(nèi)存實(shí)時(shí)數(shù)據(jù)庫的共享訪問通常采用以下幾個(gè)方法來保證安全訪問。
第一種,由一個(gè)應(yīng)用程序獨(dú)占實(shí)時(shí)數(shù)據(jù)庫,所有對(duì)實(shí)時(shí)數(shù)據(jù)庫的訪問的請(qǐng)求都需要發(fā)送給該應(yīng)用程序,由該應(yīng)用程序完成實(shí)際的訪問操作,然后再把訪問的結(jié)果返回請(qǐng)求的應(yīng)用程序。這種方法保證了對(duì)實(shí)時(shí)數(shù)據(jù)庫的安全訪問,但是該應(yīng)用程序也成了系統(tǒng)的瓶頸,造成實(shí)時(shí)數(shù)據(jù)庫訪問效率低下。
第二種,為實(shí)時(shí)數(shù)據(jù)庫分別設(shè)置一個(gè)寫實(shí)時(shí)數(shù)據(jù)庫信號(hào)燈和若干個(gè)讀實(shí)時(shí)數(shù)據(jù)庫信號(hào)燈(為每一個(gè)需要讀實(shí)時(shí)數(shù)據(jù)庫的應(yīng)用程序都設(shè)置一個(gè)讀實(shí)時(shí)數(shù)據(jù)庫信號(hào)燈)。當(dāng)需要寫實(shí)時(shí)數(shù)據(jù)庫的時(shí)候,寫應(yīng)用程序只有在獲得寫實(shí)時(shí)數(shù)據(jù)庫信號(hào)燈的時(shí)候才開始寫,防止兩個(gè)寫應(yīng)用程序同時(shí)寫實(shí)時(shí)數(shù)據(jù)庫。當(dāng)需要讀實(shí)時(shí)數(shù)據(jù)庫的時(shí)候,讀應(yīng)用程序則只有在獲得本應(yīng)用程序的讀實(shí)時(shí)數(shù)據(jù)庫信號(hào)燈的時(shí)候才開始讀。當(dāng)需要在線更新實(shí)時(shí)數(shù)據(jù)庫的時(shí)候,更新實(shí)時(shí)數(shù)據(jù)庫的應(yīng)用程序則先獲得寫實(shí)時(shí)數(shù)據(jù)庫信號(hào)燈,然后獲得所有應(yīng)用程序的讀實(shí)時(shí)數(shù)據(jù)庫信號(hào)燈,停止對(duì)實(shí)時(shí)數(shù)據(jù)庫的一切讀寫的操作之后,然后再對(duì)實(shí)時(shí)數(shù)據(jù)庫進(jìn)行更新,更新完畢則向所有的應(yīng)用程序發(fā)送實(shí)時(shí)數(shù)據(jù)庫更新的消息。
這種方法保證了對(duì)實(shí)時(shí)數(shù)據(jù)庫的安全訪問,并且所有讀實(shí)時(shí)數(shù)據(jù)庫的應(yīng)用程序相互獨(dú)立,不會(huì)互相影響。但是由于每次讀寫實(shí)時(shí)數(shù)據(jù)庫都需要進(jìn)行信號(hào)燈操作,進(jìn)行系統(tǒng)調(diào)用,效率比較低。同時(shí),由于對(duì)分別寫兩條不同記錄的寫應(yīng)用操作進(jìn)行了互斥,降低了寫操作的效率。

發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題是提供一種實(shí)時(shí)數(shù)據(jù)庫的訪問方法,可以克服現(xiàn)有技術(shù)的缺陷,快速、安全地訪問實(shí)時(shí)數(shù)據(jù)庫。
為了解決上述技術(shù)問題,本發(fā)明提供了一種快速安全的實(shí)時(shí)數(shù)據(jù)庫訪問方法,其特征在于,設(shè)置一共享標(biāo)志區(qū),對(duì)需要訪問實(shí)時(shí)數(shù)據(jù)庫的應(yīng)用程序設(shè)置記錄,該記錄包括實(shí)時(shí)數(shù)據(jù)庫允許訪問標(biāo)志和新實(shí)時(shí)數(shù)據(jù)庫標(biāo)志,該方法包括更新數(shù)據(jù)庫的過程,該過程分為以下步驟(a)將所有應(yīng)用程序的數(shù)據(jù)庫允許訪問標(biāo)志設(shè)置為禁止訪問;(b)在所有應(yīng)用程序停止對(duì)數(shù)據(jù)庫的讀寫操作后,更新實(shí)時(shí)數(shù)據(jù)庫;(c)然后置所有應(yīng)用程序的新數(shù)據(jù)庫標(biāo)志,并將所有應(yīng)用程序的數(shù)據(jù)庫允許訪問標(biāo)志置為允許訪問。
進(jìn)一步地,上述方法可具有以下特點(diǎn)該方法還包括連接實(shí)時(shí)數(shù)據(jù)庫的過程,該過程分為以下步驟(i)查詢應(yīng)用程序的數(shù)據(jù)庫允許訪問標(biāo)志,如果允許,則執(zhí)行步驟(j),否則延時(shí)后繼續(xù)執(zhí)行步驟(i);(j)檢查所述應(yīng)用程序的新數(shù)據(jù)庫標(biāo)志是否被設(shè)置,如果是繼續(xù)執(zhí)行下一步,否則連接成功,結(jié)束;(k)重新映像實(shí)時(shí)數(shù)據(jù)庫,清除新數(shù)據(jù)庫標(biāo)志,結(jié)束。
進(jìn)一步地,上述方法可具有以下特點(diǎn)對(duì)實(shí)時(shí)數(shù)據(jù)庫中的每一條或每一組記錄都設(shè)置一寫操作信號(hào)燈,該方法包括應(yīng)用程序?qū)憯?shù)據(jù)庫的過程,該過程分為以下步驟(o)該應(yīng)用程序連接實(shí)時(shí)數(shù)據(jù)庫,如果此時(shí)允許操作,執(zhí)行下一步;
(p)該應(yīng)用程序請(qǐng)求獲取被寫記錄的信號(hào)燈,如果成功,執(zhí)行步驟(q),否則延時(shí)后繼續(xù)執(zhí)行步驟(p);(q)對(duì)該記錄進(jìn)行寫操作,寫畢釋放該記錄的信號(hào)燈,結(jié)束。
進(jìn)一步地,上述方法可具有以下特點(diǎn)該方法還包括讀數(shù)據(jù)庫的過程,該過程分為以下步驟(u)連接實(shí)時(shí)數(shù)據(jù)庫,如果此時(shí)允許操作,執(zhí)行下一步;(v)讀取實(shí)時(shí)數(shù)據(jù)庫。
進(jìn)一步地,上述方法可具有以下特點(diǎn)對(duì)每一個(gè)需要訪問實(shí)時(shí)數(shù)據(jù)庫的應(yīng)用程序設(shè)置一條記錄。
采用本發(fā)明所述方法,可以在確保安全的情況下快速的訪問實(shí)時(shí)數(shù)據(jù)庫,提高實(shí)時(shí)數(shù)據(jù)庫的訪問效率。


圖1是本發(fā)明實(shí)施例寫操作流程圖;圖2是本發(fā)明實(shí)施例讀操作流程圖;圖3是本發(fā)明實(shí)施例連接實(shí)時(shí)數(shù)據(jù)庫操作流程圖;圖4是本發(fā)明實(shí)施例更新操作流程圖。
具體實(shí)施例方式
通過對(duì)實(shí)時(shí)數(shù)據(jù)庫訪問行為的分析,發(fā)現(xiàn)對(duì)實(shí)時(shí)數(shù)據(jù)庫主要有三種操作讀、寫和更新。其中讀操作指讀取實(shí)時(shí)數(shù)據(jù)庫中的數(shù)據(jù),不會(huì)對(duì)實(shí)時(shí)數(shù)據(jù)庫有任何影響,但是在實(shí)時(shí)數(shù)據(jù)庫更新時(shí)需要停止對(duì)實(shí)時(shí)數(shù)據(jù)庫的一切讀操作;寫操作指對(duì)實(shí)時(shí)數(shù)據(jù)庫中數(shù)據(jù)值的修改,不影響對(duì)實(shí)時(shí)數(shù)據(jù)庫的讀操作,但是對(duì)相同記錄的寫操作之間互斥,即不能同時(shí)寫同一條記錄。并且在實(shí)時(shí)數(shù)據(jù)庫更新時(shí)需要停止對(duì)實(shí)時(shí)數(shù)據(jù)庫的一切寫操作;更新操作是指對(duì)整個(gè)實(shí)時(shí)數(shù)據(jù)庫數(shù)據(jù)的更新,需要向內(nèi)存重新裝載數(shù)據(jù),影響所有的對(duì)實(shí)時(shí)數(shù)據(jù)庫的操作,更新實(shí)時(shí)數(shù)據(jù)庫之前需要停止對(duì)實(shí)時(shí)數(shù)據(jù)庫的一切讀寫的操作。
本發(fā)明采用共享標(biāo)志區(qū)與信號(hào)量相結(jié)合的方法快速安全地訪問實(shí)時(shí)數(shù)據(jù)庫。所做的設(shè)置和各種操作的規(guī)則如下1)設(shè)置一個(gè)共享標(biāo)志區(qū),在該標(biāo)志區(qū),每一個(gè)需要訪問實(shí)時(shí)數(shù)據(jù)庫的應(yīng)用程序中都有一條記錄,該記錄包含兩項(xiàng)實(shí)時(shí)數(shù)據(jù)庫允許訪問標(biāo)志和新實(shí)時(shí)數(shù)據(jù)庫標(biāo)志。
其中,每個(gè)應(yīng)用程序的“實(shí)時(shí)數(shù)據(jù)庫允許訪問標(biāo)志”用于標(biāo)記該應(yīng)用程序是否允許訪問實(shí)時(shí)數(shù)據(jù)庫,只有設(shè)置為允許訪問時(shí),該應(yīng)用程序才可以進(jìn)行讀寫操作,該實(shí)時(shí)數(shù)據(jù)庫允許訪問標(biāo)志只能由實(shí)時(shí)數(shù)據(jù)庫更新程序進(jìn)行訪問,其它應(yīng)用程序則不能訪問;每個(gè)應(yīng)用程序的“新實(shí)時(shí)數(shù)據(jù)庫標(biāo)志”用于標(biāo)記實(shí)時(shí)數(shù)據(jù)庫是否被更新,如果應(yīng)用程序查詢?cè)撔聦?shí)時(shí)數(shù)據(jù)庫標(biāo)志被設(shè)置為有效,則需要進(jìn)行實(shí)時(shí)數(shù)據(jù)庫的重新映像操作,該新實(shí)時(shí)數(shù)據(jù)庫標(biāo)志由實(shí)時(shí)數(shù)據(jù)庫更新程序進(jìn)行設(shè)置,而由每個(gè)應(yīng)用程序在對(duì)實(shí)時(shí)數(shù)據(jù)庫重新映像后進(jìn)行清除。
2)對(duì)實(shí)時(shí)數(shù)據(jù)庫中的每一條記錄(或每一組記錄)都設(shè)置一個(gè)寫操作信號(hào)燈。當(dāng)需要寫實(shí)時(shí)數(shù)據(jù)庫的時(shí)候,寫應(yīng)用程序只有獲得要寫的那條記錄的寫操作信號(hào)燈,就可以對(duì)該記錄進(jìn)行寫操作。
通過這兩項(xiàng)措施,就可以完成對(duì)實(shí)時(shí)數(shù)據(jù)庫的快速、安全的訪問了。
下面分別具體介紹應(yīng)用程序?qū)?shí)時(shí)數(shù)據(jù)的讀操作、寫操作和更新操作的具體流程。
圖1是本發(fā)明寫操作流程圖,步驟如下
步驟101,應(yīng)用程序連接實(shí)時(shí)數(shù)據(jù)庫,成功后執(zhí)行下一步;步驟102,該應(yīng)用程序請(qǐng)求獲取被寫記錄的信號(hào)燈,如果成功,執(zhí)行步驟104,否則執(zhí)行步驟103;步驟103,延時(shí)后返回步驟102;步驟104,該應(yīng)用程序?qū)υ撚涗涍M(jìn)行寫操作,在此期間其它應(yīng)用程序不能獲取該記錄的寫操作信號(hào)燈,直到該應(yīng)用程序?qū)懖僮魍瓿珊螅尫旁撚涗浀男盘?hào)燈,結(jié)束。
寫操作燈是由操作系統(tǒng)來維護(hù)的,可以有效避免各個(gè)應(yīng)用程序之間發(fā)生沖突。而通過對(duì)不同的記錄分別設(shè)置信號(hào)燈,對(duì)分別寫兩條不同記錄的寫操作不會(huì)互斥,因而提高了寫操作的效率。
圖2是本發(fā)明讀操作流程圖,步驟如下步驟201,應(yīng)用程序連接實(shí)時(shí)數(shù)據(jù)庫,成功后執(zhí)行下一步;步驟202,該應(yīng)用程序讀取實(shí)時(shí)數(shù)據(jù)庫。
現(xiàn)有技術(shù)中是為每個(gè)應(yīng)用程序設(shè)置了一個(gè)讀操作燈,而本實(shí)施例是用內(nèi)存中的一個(gè)允許操作標(biāo)志來替代的。因?yàn)樽x操作燈是操作系統(tǒng)提供的功能,需要從用戶模塊改為系統(tǒng)模式,對(duì)系統(tǒng)內(nèi)核進(jìn)行操作,因此本發(fā)明方法效率更高,操作速率更快。
圖3是本發(fā)明連接實(shí)時(shí)數(shù)據(jù)庫操作的流程圖,步驟如下步驟301,應(yīng)用程序先到共享標(biāo)志區(qū)查詢本應(yīng)用程序的實(shí)時(shí)數(shù)據(jù)庫允許訪問標(biāo)志,如果該標(biāo)志為允許訪問,則執(zhí)行步驟303,如果不允許,則執(zhí)行步驟302;步驟302,延時(shí)后返回步驟301;步驟303,該應(yīng)用程序檢查本應(yīng)用程序的新實(shí)時(shí)數(shù)據(jù)庫標(biāo)志是否被設(shè)置,如果是,執(zhí)行下一步,否則結(jié)束;步驟304,重新映像實(shí)時(shí)數(shù)據(jù)庫,清除新實(shí)時(shí)數(shù)據(jù)庫標(biāo)志,結(jié)束。
圖4是本發(fā)明更新操作流程圖,步驟如下步驟401,應(yīng)用程序進(jìn)行更新操作時(shí),先將共享標(biāo)志區(qū)中所有應(yīng)用程序的實(shí)時(shí)數(shù)據(jù)庫允許訪問標(biāo)志設(shè)置為禁止訪問;步驟402,等待所有應(yīng)用程序停止對(duì)實(shí)時(shí)數(shù)據(jù)庫的讀寫操作,然后執(zhí)行下一步;步驟403,更新實(shí)時(shí)數(shù)據(jù)庫;步驟404,更新完成后,設(shè)置所有應(yīng)用程序的新實(shí)時(shí)數(shù)據(jù)庫標(biāo)志;步驟405,將所有應(yīng)用程序的實(shí)時(shí)數(shù)據(jù)庫允許訪問標(biāo)志設(shè)置為允許訪問。
本發(fā)明在此基礎(chǔ)上還可以做各種變換,比如僅對(duì)實(shí)時(shí)數(shù)據(jù)庫中的每條記錄設(shè)置寫操作信號(hào)燈,或者,僅用共享標(biāo)志區(qū)的標(biāo)志取代讀信號(hào)燈來實(shí)現(xiàn)更新時(shí)的禁止操作,都也可以達(dá)到快速讀寫實(shí)時(shí)數(shù)據(jù)庫的目的。
權(quán)利要求
1.一種快速安全的實(shí)時(shí)數(shù)據(jù)庫訪問方法,其特征在于,設(shè)置一共享標(biāo)志區(qū),對(duì)需要訪問實(shí)時(shí)數(shù)據(jù)庫的應(yīng)用程序設(shè)置記錄,該記錄包括實(shí)時(shí)數(shù)據(jù)庫允許訪問標(biāo)志和新實(shí)時(shí)數(shù)據(jù)庫標(biāo)志,該方法包括更新數(shù)據(jù)庫的過程,該過程分為以下步驟(a)將所有應(yīng)用程序的數(shù)據(jù)庫允許訪問標(biāo)志設(shè)置為禁止訪問;(b)在所有應(yīng)用程序停止對(duì)數(shù)據(jù)庫的讀寫操作后,更新實(shí)時(shí)數(shù)據(jù)庫;(c)然后置所有應(yīng)用程序的新數(shù)據(jù)庫標(biāo)志,并將所有應(yīng)用程序的數(shù)據(jù)庫允許訪問標(biāo)志置為允許訪問。
2.如權(quán)利要求1所述的方法,其特征在于,該方法還包括連接實(shí)時(shí)數(shù)據(jù)庫的過程,該過程分為以下步驟(i)查詢應(yīng)用程序的數(shù)據(jù)庫允許訪問標(biāo)志,如果允許,則執(zhí)行步驟(j),否則延時(shí)后繼續(xù)執(zhí)行步驟(i);(j)檢查所述應(yīng)用程序的新數(shù)據(jù)庫標(biāo)志是否被設(shè)置,如果是繼續(xù)執(zhí)行下一步,否則連接成功,結(jié)束;(k)重新映像實(shí)時(shí)數(shù)據(jù)庫,清除新數(shù)據(jù)庫標(biāo)志,結(jié)束。
3.如權(quán)利要求1或2所述的方法,其特征在于,對(duì)實(shí)時(shí)數(shù)據(jù)庫中的每一條或每一組記錄都設(shè)置一寫操作信號(hào)燈,該方法包括應(yīng)用程序?qū)憯?shù)據(jù)庫的過程,該過程分為以下步驟(o)該應(yīng)用程序連接實(shí)時(shí)數(shù)據(jù)庫,如果此時(shí)允許操作,執(zhí)行下一步;(p)該應(yīng)用程序請(qǐng)求獲取被寫記錄的信號(hào)燈,如果成功,執(zhí)行步驟(q),否則延時(shí)后繼續(xù)執(zhí)行步驟(p);(q)對(duì)該記錄進(jìn)行寫操作,寫畢釋放該記錄的信號(hào)燈,結(jié)束。
4.如權(quán)利要求1或2所述的方法,其特征在于,該方法還包括讀數(shù)據(jù)庫的過程,該過程分為以下步驟(u)連接實(shí)時(shí)數(shù)據(jù)庫,如果此時(shí)允許操作,執(zhí)行下一步;(v)讀取實(shí)時(shí)數(shù)據(jù)庫。
5.如權(quán)利要求1所述的方法,其特征在于,是對(duì)每一個(gè)需要訪問實(shí)時(shí)數(shù)據(jù)庫的應(yīng)用程序設(shè)置一條記錄。
全文摘要
本發(fā)明公開了一種快速安全的實(shí)時(shí)數(shù)據(jù)庫訪問方法,本發(fā)明采用共享標(biāo)志區(qū)與信號(hào)量相結(jié)合的方法快速安全地訪問實(shí)時(shí)數(shù)據(jù)庫,為每一個(gè)需要訪問實(shí)時(shí)數(shù)據(jù)庫的應(yīng)用程序中設(shè)置一條記錄,該記錄包含兩項(xiàng)實(shí)時(shí)數(shù)據(jù)庫允許訪問標(biāo)志和新實(shí)時(shí)數(shù)據(jù)庫標(biāo)志;對(duì)實(shí)時(shí)數(shù)據(jù)庫中的每一條(或每一組)記錄都設(shè)置一個(gè)寫操作信號(hào)燈。當(dāng)需要寫實(shí)時(shí)數(shù)據(jù)庫的時(shí)候,寫應(yīng)用程序只有獲得要寫的那條記錄的寫操作信號(hào)燈,就可以對(duì)該記錄進(jìn)行寫操作,可以有效避免各個(gè)應(yīng)用程序之間發(fā)生沖突,提高操作效率。采用本發(fā)明所述方法可以克服現(xiàn)有技術(shù)的缺陷,在確保安全的情況下快速的訪問實(shí)時(shí)數(shù)據(jù)庫,提高實(shí)時(shí)數(shù)據(jù)庫的訪問效率。
文檔編號(hào)G06F17/30GK1808433SQ20061000267
公開日2006年7月26日 申請(qǐng)日期2006年1月26日 優(yōu)先權(quán)日2006年1月26日
發(fā)明者董陽, 賀學(xué)文, 胡雁 申請(qǐng)人:北京和利時(shí)系統(tǒng)工程股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
新闻| 新郑市| 娄烦县| 兴山县| 北安市| 巴彦淖尔市| 高雄市| 昌江| 马尔康县| 武义县| 会同县| 雅安市| 伊金霍洛旗| 平凉市| 水城县| 苍梧县| 贡山| 洛隆县| 银川市| 精河县| 温州市| 临潭县| 文昌市| 双鸭山市| 阿合奇县| 大田县| 贺兰县| 苗栗市| 时尚| 乌兰察布市| 康定县| 镇平县| 佛冈县| 金溪县| 阜新市| 广宗县| 沙坪坝区| 普兰店市| 饶河县| 凭祥市| 新乐市|