亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

數(shù)據(jù)庫數(shù)據(jù)異步存儲方法和系統(tǒng)與流程

文檔序號:12666912閱讀:385來源:國知局
本發(fā)明涉及到數(shù)據(jù)庫的數(shù)據(jù)存儲方法,特別是涉及到一種數(shù)據(jù)庫數(shù)據(jù)異步存儲方法和系統(tǒng)。
背景技術(shù)
::現(xiàn)有技術(shù)中,數(shù)據(jù)庫異步存儲就是把將要寫數(shù)據(jù)庫的記錄放到某一個指定的緩沖區(qū),另外一個獨(dú)立的線程或進(jìn)程將此緩沖區(qū)的記錄取出寫進(jìn)數(shù)據(jù)庫,但這種方式通常是一個線程或進(jìn)程去處理,處理效率低。技術(shù)實(shí)現(xiàn)要素:本發(fā)明的主要目的為提供一種數(shù)據(jù)庫數(shù)據(jù)異步存儲方法,可以定義多個工作線程和多個緩沖區(qū)提高處理效率以解決上述
背景技術(shù)
:中提出的問題。本發(fā)明提供一種數(shù)據(jù)庫數(shù)據(jù)異步存儲的方法,包括步驟:開啟多個工作線程及對應(yīng)的緩沖隊列;將數(shù)據(jù)庫語句放入所述緩沖隊列;控制數(shù)據(jù)庫語句寫入數(shù)據(jù)庫系統(tǒng)。進(jìn)一步地,所述將數(shù)據(jù)庫語句放入緩沖隊列的步驟包括:將有外鍵約束相關(guān)的數(shù)據(jù)庫語句放入同一個緩沖隊列。進(jìn)一步地,所述控制數(shù)據(jù)庫語句寫入數(shù)據(jù)庫系統(tǒng)的步驟前包括步驟:控制所述工作線程將數(shù)據(jù)庫語句從緩沖隊列中取出。進(jìn)一步地,所述控制所述工作線程將數(shù)據(jù)庫語句從緩沖隊列中取出的步驟包括:將該緩沖隊列內(nèi)有外鍵約束相關(guān)的數(shù)據(jù)庫語句相鄰取出。進(jìn)一步地,所述將數(shù)據(jù)庫語句放入所述緩沖隊列的步驟前包括步驟:接收數(shù)據(jù)庫信息;根據(jù)數(shù)據(jù)庫信息生成數(shù)據(jù)庫語句。一種數(shù)據(jù)庫數(shù)據(jù)異步存儲系統(tǒng),包括模塊:開啟模塊,用于開啟多個工作線程及對應(yīng)的緩沖隊列;放入模塊,用于將數(shù)據(jù)庫語句放入所述緩沖隊列;寫入模塊,用于將數(shù)據(jù)庫語句寫入數(shù)據(jù)庫系統(tǒng)。進(jìn)一步地,所述放入模塊包括:外鍵子模塊,用于將有外鍵約束相關(guān)的數(shù)據(jù)庫語句放入同一個緩沖隊列。進(jìn)一步地,還包括取出模塊,用于控制所述工作線程將數(shù)據(jù)庫語句從緩沖隊列中取出。進(jìn)一步地,所述取出模塊包括:相鄰取出子模塊,用于將該緩沖隊列內(nèi)有外鍵約束相關(guān)的數(shù)據(jù)庫語句相鄰取出。進(jìn)一步地,還包括接收模塊,用于設(shè)置接收數(shù)據(jù)庫信息;生成模塊,用于根據(jù)數(shù)據(jù)庫信息生成數(shù)據(jù)庫語句。與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是:通過定義多個線程和緩沖隊列,讓多個線程同時工作,提高了寫入速度和效率。在數(shù)據(jù)進(jìn)入緩沖隊列前通過數(shù)據(jù)庫語句的外鍵約束,更方便數(shù)據(jù)庫系統(tǒng)的寫入。附圖說明圖1是本發(fā)明的一實(shí)施例的數(shù)據(jù)庫數(shù)據(jù)異步存儲方法步驟流程圖;圖2是本發(fā)明的一實(shí)施例的數(shù)據(jù)庫數(shù)據(jù)異步存儲系統(tǒng)模塊結(jié)構(gòu)示意圖。本發(fā)明目的的實(shí)現(xiàn)、功能特點(diǎn)及優(yōu)點(diǎn)將結(jié)合實(shí)施例,參照附圖做進(jìn)一步說明。具體實(shí)施方式應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。參照圖1,提出本發(fā)明一實(shí)施例的數(shù)據(jù)庫數(shù)據(jù)異步存儲方法,包括步驟:S1、開啟多個工作線程及對應(yīng)的緩沖隊列;S4、將數(shù)據(jù)庫語句放入上述緩沖隊列;S6、控制數(shù)據(jù)庫語句寫入上述數(shù)據(jù)庫系統(tǒng)。本實(shí)施例中,工作線程是執(zhí)行程序的最小單元。通過開啟多個工作線程從而增加多個處理路徑,加快數(shù)據(jù)處理的速度,提高數(shù)據(jù)的存儲速度。緩沖隊列是用作工作線程的處理空間,通過設(shè)置每個工作線程對應(yīng)一個緩沖隊列,可以讓每個工作線程處理數(shù)據(jù)的任務(wù)量小,使處理任務(wù)相對簡潔單一,更能提高數(shù)據(jù)的處理速度。本實(shí)施例中,上述將數(shù)據(jù)庫語句放入緩沖隊列的步驟S4包括:選擇將有外鍵約束相關(guān)的數(shù)據(jù)庫語句放入同一個緩沖隊列。本實(shí)施例中,外鍵又叫關(guān)鍵字,是計算機(jī)語言中的一個常用詞語。外鍵表示兩個數(shù)據(jù)庫語句之間的相關(guān)聯(lián)系。例如一個企業(yè)的職工基本情況(職工號、姓名、年齡、性別、籍貫、工資、簡歷等)有關(guān)系中,“職工號”是主鍵,“張三”屬性表示該職工所在編輯的姓名的職工號,它引用了本關(guān)系中的“職工號”屬性,因此“姓名”是外鍵。外鍵約束用于保持?jǐn)?shù)據(jù)的一致性和完整性,有外鍵約束相關(guān)的數(shù)據(jù)庫語句放入同一個緩沖隊列,可以加快數(shù)據(jù)庫語句進(jìn)入數(shù)據(jù)庫系統(tǒng)的速度。例如將所有的包含有“姓名”的數(shù)據(jù)庫語句全部放入到同一個緩沖隊列里面。本實(shí)施例中,上述控制數(shù)據(jù)庫語句寫入數(shù)據(jù)庫系統(tǒng)的步驟S6前包括步驟:S5、控制上述工作線程將數(shù)據(jù)庫語句從緩沖隊列中取出。本實(shí)施例中,由于有多個工作線程及對應(yīng)的緩沖隊列,因此上述工作線程是將緩沖隊列的數(shù)據(jù)庫語句不停的取出,而不是等全部數(shù)據(jù)庫信息生成數(shù)據(jù)庫語句后再取出。這樣做可以減少系統(tǒng)的處理時間,加快寫入速度。另外,由于該存儲方法是異步處理,異步處理就是按照不同步的程序處理問題。異步處理與同步處理是對立的,而產(chǎn)生他們的是多線程或者多進(jìn)程。異步處理的好處就是提高設(shè)備使用率,從而在宏觀上提升程序運(yùn)行效率,異步處理不用阻塞當(dāng)前線程來等待處理,而是允許后續(xù)操作,直至其它線程將處理完成,并回調(diào)通知此線程,而且不需要占用額外的線程。因此上述工作線程將緩沖隊列的數(shù)據(jù)庫語句不停的取出,不會影響后續(xù)進(jìn)入數(shù)據(jù)庫系統(tǒng)的混亂。本實(shí)施例中,上述控制上述工作線程將數(shù)據(jù)庫語句從緩沖隊列中取出的步驟包括:將該緩沖隊列內(nèi)有外鍵約束相關(guān)的數(shù)據(jù)庫語句相鄰取出。本實(shí)施例中,有200條數(shù)據(jù)庫語句寫入20個緩沖隊列,200條數(shù)據(jù)庫語句有40個外鍵。在數(shù)據(jù)庫語句寫入緩沖隊列時,一個緩沖隊列可能有多個外鍵語句,因此緩沖隊列里不是全都是同一個外鍵相關(guān)的數(shù)據(jù)庫語句。工作線程取出緩沖隊列中的數(shù)據(jù)庫語句時,優(yōu)先將有外鍵約束相關(guān)的數(shù)據(jù)庫語句相鄰取出,可以加快數(shù)據(jù)庫系統(tǒng)的寫入。例如一個緩沖隊列中有四條數(shù)據(jù)庫語句,其中第一條和第二條是A外鍵相關(guān),第三條和第四條是B外鍵相關(guān);在取出時,若先取出第二條數(shù)據(jù)庫語句,則隨后要將和第二條數(shù)據(jù)庫語句外鍵相關(guān)的數(shù)據(jù)庫語句相鄰取出,即取出第二條數(shù)據(jù)庫語句后則要緊跟著取出第一條數(shù)據(jù)庫語句。本實(shí)施例中,上述將數(shù)據(jù)庫語句放入上述緩沖隊列的步驟S4前還包括步驟:S2、接收數(shù)據(jù)庫信息;S3、根據(jù)數(shù)據(jù)庫信息生成數(shù)據(jù)庫語句。本實(shí)施例中,數(shù)據(jù)庫是指按照數(shù)據(jù)結(jié)構(gòu)來組織、存儲和管理數(shù)據(jù)的建立在計算機(jī)存儲設(shè)備上的倉庫,例如,企業(yè)或事業(yè)單位的人事部門常常要把本單位職工的基本情況(職工號、姓名、年齡、性別、籍貫、工資、簡歷等)存放在表中,這張表就可以看成是一個數(shù)據(jù)庫。數(shù)據(jù)庫語句是用于對數(shù)據(jù)庫里的數(shù)據(jù)信息進(jìn)行查詢、更新、管理等。系統(tǒng)接收到數(shù)據(jù)庫信息,根據(jù)不同的業(yè)務(wù)需求,生成不同的數(shù)據(jù)庫語句。例如,將一個企業(yè)的男女性別比例統(tǒng)計出來,那么要選取數(shù)據(jù)庫中的姓名和性別的數(shù)據(jù),選中后進(jìn)行統(tǒng)計,然后將數(shù)據(jù)做出比較得出比例結(jié)果。該過程中選取數(shù)據(jù)庫中的姓名和性別的數(shù)據(jù)的命令就是數(shù)據(jù)庫語句,系統(tǒng)生成數(shù)據(jù)庫語句為:insertintotable1(name)values(value1)insertintotable2(sex)values(value2),將數(shù)據(jù)庫中的姓名數(shù)據(jù)插入表1,將數(shù)據(jù)庫中的性別數(shù)據(jù)插入表2。這個步驟即為生成數(shù)據(jù)庫語句。在一具體實(shí)施例中,打開系統(tǒng),系統(tǒng)初始化,開啟多個工作線程和多個緩沖隊列,每一個工作線程綁定一個緩沖隊列。業(yè)務(wù)需要寫數(shù)據(jù)庫時,生成數(shù)據(jù)庫語句,根據(jù)業(yè)務(wù)需求不同,把生成的數(shù)據(jù)庫語句放入指定的緩沖隊列,有外鍵約束相關(guān)的數(shù)據(jù)庫語句必須放到同一個緩沖隊列。工作線程不停的從緩沖隊列里取出數(shù)據(jù)庫語句,然后將取出的數(shù)據(jù)庫語句寫入數(shù)據(jù)庫系統(tǒng)。參照圖2,提出本發(fā)明一實(shí)施例的數(shù)據(jù)庫數(shù)據(jù)異步存儲系統(tǒng),包括模塊:開啟模塊1,用于開啟多個工作線程及對應(yīng)的緩沖隊列;放入模塊4,用于將數(shù)據(jù)庫語句放入所述緩沖隊列;寫入模塊6,用于將數(shù)據(jù)庫語句寫入數(shù)據(jù)庫系統(tǒng)。本實(shí)施例中,工作線程是執(zhí)行程序的最小單元。通過開啟多個工作線程從而增加多個處理路徑,加快數(shù)據(jù)處理的速度,提高數(shù)據(jù)的存儲速度。緩沖隊列是用作工作線程的處理空間,通過設(shè)置每個工作線程對應(yīng)一個緩沖隊列,可以讓每個工作線程處理數(shù)據(jù)的任務(wù)量小,使處理任務(wù)相對簡潔單一,更能提高數(shù)據(jù)的處理速度。本實(shí)施例中,上述放入模塊4包括:外鍵子模塊,用于將有外鍵約束相關(guān)的數(shù)據(jù)庫語句放入同一個緩沖隊列。本實(shí)施例中,外鍵又叫關(guān)鍵字,是計算機(jī)語言中的一個常用詞語。外鍵表示兩個數(shù)據(jù)庫語句之間的相關(guān)聯(lián)系。例如一個企業(yè)的職工基本情況(職工號、姓名、年齡、性別、籍貫、工資、簡歷等)有關(guān)系中,“職工號”是主鍵,“張三”屬性表示該職工所在編輯的姓名的職工號,它引用了本關(guān)系中的“職工號”屬性,因此“姓名”是外鍵。外鍵約束用于保持?jǐn)?shù)據(jù)的一致性和完整性,有外鍵約束相關(guān)的數(shù)據(jù)庫語句放入同一個緩沖隊列,可以加快數(shù)據(jù)庫語句進(jìn)入數(shù)據(jù)庫系統(tǒng)的速度。例如將所有的包含有“姓名”的數(shù)據(jù)庫語句全部放入到同一個緩沖隊列里面。本實(shí)施例中,還包括:取出模塊5,用于控制所述工作線程將數(shù)據(jù)庫語句從緩沖隊列中取出。本實(shí)施例中,由于有多個工作線程及對應(yīng)的緩沖隊列,因此上述工作線程是將緩沖隊列的數(shù)據(jù)庫語句不停的取出,而不是等全部數(shù)據(jù)庫信息生成數(shù)據(jù)庫語句后再取出。這樣做可以減少系統(tǒng)的處理時間,加快寫入速度。另外,由于該存儲方法是異步處理,異步處理就是按照不同步的程序處理問題。異步處理與同步處理是對立的,而產(chǎn)生他們的是多線程或者多進(jìn)程。異步處理的好處就是提高設(shè)備使用率,從而在宏觀上提升程序運(yùn)行效率,異步處理不用阻塞當(dāng)前線程來等待處理,而是允許后續(xù)操作,直至其它線程將處理完成,并回調(diào)通知此線程,而且不需要占用額外的線程。因此上述工作線程將緩沖隊列的數(shù)據(jù)庫語句不停的取出,不會影響后續(xù)進(jìn)入數(shù)據(jù)庫系統(tǒng)的混亂。本實(shí)施例中,上述取出模塊5包括:相鄰取出子模塊,用于將該緩沖隊列內(nèi)有外鍵約束相關(guān)的數(shù)據(jù)庫語句相鄰取出。本實(shí)施例中,有200條數(shù)據(jù)庫語句寫入20個緩沖隊列,200條數(shù)據(jù)庫語句有40個外鍵。在數(shù)據(jù)庫語句寫入緩沖隊列時,一個緩沖隊列可能有多個外鍵語句,因此緩沖隊列里不是全都是同一個外鍵相關(guān)的數(shù)據(jù)庫語句。工作線程取出緩沖隊列中的數(shù)據(jù)庫語句時,優(yōu)先將有外鍵約束相關(guān)的數(shù)據(jù)庫語句相鄰取出,可以加快數(shù)據(jù)庫系統(tǒng)的寫入。例如一個緩沖隊列中有四條數(shù)據(jù)庫語句,其中第一條和第二條是A外鍵相關(guān),第三條和第四條是B外鍵相關(guān);在取出時,若先取出第二條數(shù)據(jù)庫語句,則隨后要將和第二條數(shù)據(jù)庫語句外鍵相關(guān)的數(shù)據(jù)庫語句相鄰取出,即取出第二條數(shù)據(jù)庫語句后則要緊跟著取出第一條數(shù)據(jù)庫語句。本實(shí)施例中,還包括:接收模塊2,用于設(shè)置接收數(shù)據(jù)庫信息;生成模塊3,用于根據(jù)數(shù)據(jù)庫信息生成數(shù)據(jù)庫語句。本實(shí)施例中,數(shù)據(jù)庫是指按照數(shù)據(jù)結(jié)構(gòu)來組織、存儲和管理數(shù)據(jù)的建立在計算機(jī)存儲設(shè)備上的倉庫,例如,企業(yè)或事業(yè)單位的人事部門常常要把本單位職工的基本情況(職工號、姓名、年齡、性別、籍貫、工資、簡歷等)存放在表中,這張表就可以看成是一個數(shù)據(jù)庫。數(shù)據(jù)庫語句是用于對數(shù)據(jù)庫里的數(shù)據(jù)信息進(jìn)行查詢、更新、管理等。系統(tǒng)接收到數(shù)據(jù)庫信息,根據(jù)不同的業(yè)務(wù)需求,生成不同的數(shù)據(jù)庫語句。例如,將一個企業(yè)的男女性別比例統(tǒng)計出來,那么要選取數(shù)據(jù)庫中的姓名和性別的數(shù)據(jù),選中后進(jìn)行統(tǒng)計,然后將數(shù)據(jù)做出比較得出比例結(jié)果。該過程中選取數(shù)據(jù)庫中的姓名和性別的數(shù)據(jù)的命令就是數(shù)據(jù)庫語句,系統(tǒng)生成數(shù)據(jù)庫語句為:insertintotable1(name)values(value1)insertintotable2(sex)values(value2),將數(shù)據(jù)庫中的姓名數(shù)據(jù)插入表1,將數(shù)據(jù)庫中的性別數(shù)據(jù)插入表2。在一具體實(shí)施例中,打開系統(tǒng),系統(tǒng)初始化,開啟多個工作線程和多個緩沖隊列,每一個工作線程綁定一個緩沖隊列。業(yè)務(wù)需要寫數(shù)據(jù)庫時,生成數(shù)據(jù)庫語句,根據(jù)業(yè)務(wù)需求不同,把生成的數(shù)據(jù)庫語句放入指定的緩沖隊列,有外鍵約束相關(guān)的數(shù)據(jù)庫語句必須放到同一個緩沖隊列。工作線程不停的從緩沖隊列里取出數(shù)據(jù)庫語句,然后將取出的數(shù)據(jù)庫語句寫入數(shù)據(jù)庫系統(tǒng)。以上所述僅為本發(fā)明的優(yōu)選實(shí)施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運(yùn)用在其他相關(guān)的
技術(shù)領(lǐng)域
:,均同理包括在本發(fā)明的專利保護(hù)范圍內(nèi)。當(dāng)前第1頁1 2 3 當(dāng)前第1頁1 2 3 
當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1