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

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

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