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

一種被動式生產(chǎn)、消費計算機日志的需求實現(xiàn)方法及系統(tǒng)與流程

文檔序號:11590177閱讀:206來源:國知局

本發(fā)明涉及日志分析領(lǐng)域,特別涉及一種被動式生產(chǎn)、消費計算機日志的實現(xiàn)方法及系統(tǒng)。



背景技術(shù):

計算機日志在計算機系統(tǒng)中是一個非常廣泛的概念,任何程序都有可能輸出日志:操作系統(tǒng)內(nèi)核、各種應(yīng)用服務(wù)器等等。日志的內(nèi)容、規(guī)模和用途也各不相同。比如,web日志,可能包括但不限于各種前端web服務(wù)器:apache、lighttpd、tomcat等產(chǎn)生的用戶訪問日志,以及各種web應(yīng)用程序自己輸出的日志。在web日志中,每條日志通常代表著用戶的一次訪問行為。從一條日志中,可以得到很多有用的信息,例如訪問者的ip、訪問的時間、訪問的目標(biāo)網(wǎng)頁、來源的地址以及訪問者所使用的客戶端的useragent信息等。如果需要更多的信息,則要用其它手段去獲取:例如想得到用戶屏幕的分辨率,一般需要使用js代碼單獨發(fā)送請求;而如果想得到諸如用戶訪問的具體新聞標(biāo)題等信息,則可能需要web應(yīng)用程序在自己的代碼里輸出。然而,如何在具有日志關(guān)聯(lián)性的系統(tǒng)之間,如何實現(xiàn)生產(chǎn)日志、消費日志從而實現(xiàn)日志的需求,是目前有待解決的問題。



技術(shù)實現(xiàn)要素:

本發(fā)明要解決的技術(shù)問題是,讓軟件開發(fā)人員通過簡單的基本操作完成過去海量的編碼勞動,提高工作效率。

本系統(tǒng)處在具有日志關(guān)聯(lián)性的系統(tǒng)之間,屬于一種中間件產(chǎn)品。

解決上述技術(shù)問題,本發(fā)明提供了一種被動式生產(chǎn)、消費計算機日志的需求實現(xiàn)方法,包括如下步驟:

根據(jù)需求記錄業(yè)務(wù)操作的日志,并按照已校驗規(guī)范在數(shù)據(jù)庫中生成對應(yīng)的數(shù)據(jù)庫日志;

將所述數(shù)據(jù)庫日志按照分布式隊列的方式輸入到日志消費隊列中;

在所述日志消費隊列中按照所屬的消費者組,在同組的消費者中完成消費。

更進一步,根據(jù)需求記錄業(yè)務(wù)操作的日志的方法具體為:

根據(jù)需求生成配置文件,

在配置文件中添加配置節(jié)點,

根據(jù)所述配置節(jié)點,添加自定義信息,

對上述配置節(jié)點進行檢查,若確認(rèn)無誤,則將捕獲的屬性信息和所述自定義信息合并,然后再提交至數(shù)據(jù)庫中。

更進一步,所述配置文件按照xml和/或json格式儲存。

更進一步,按照已校驗規(guī)范在數(shù)據(jù)庫中生成對應(yīng)的數(shù)據(jù)庫日志包括如下步驟:

根據(jù)需求記錄業(yè)務(wù)操作的日志中引起數(shù)據(jù)庫中操作過程,并在數(shù)據(jù)庫中產(chǎn)生binlog日志。

更進一步,在數(shù)據(jù)庫中產(chǎn)生binlog日志還包括如下步驟:

監(jiān)視所述binlog日志的變化:若有新日志產(chǎn)生時,日志轉(zhuǎn)化讀取新日志,并通過數(shù)據(jù)庫dump協(xié)議將binlog進行解析,

對解析后的binlog日志的不同的格式進行轉(zhuǎn)換,形成統(tǒng)一protobuf格式數(shù)據(jù),

對所述protobuf格式數(shù)據(jù)的日志進行重復(fù)和可用校驗,

若校驗通過,則將所述protobuf格式數(shù)據(jù)進行持久化后將protobuf格式數(shù)據(jù)發(fā)往分布式隊列。

更進一步,方法還包括:將所述日志消費隊列放置于一需要訂閱日志的系統(tǒng)中,消費者組中的消費者搶奪到日志后,再根據(jù)優(yōu)化算法安排消費,同時上述系統(tǒng)的事件機制后完成消費。優(yōu)化算法安排消費的方法包括但不限于,排隊優(yōu)選級、日志優(yōu)先級、消費優(yōu)選級等。

基于上述本發(fā)明還提供了一種被動式生產(chǎn)、消費計算機日志的需求實現(xiàn)系統(tǒng),包括:規(guī)范定義模塊、日志轉(zhuǎn)換模塊以及日志訂閱消費模塊,

所述規(guī)范定義模塊,用以根據(jù)需求記錄業(yè)務(wù)操作的日志,并按照已校驗規(guī)范在數(shù)據(jù)庫中生成對應(yīng)的數(shù)據(jù)庫日志;

所述日志轉(zhuǎn)換模塊,用以將所述數(shù)據(jù)庫日志按照分布式隊列的方式輸入到日志消費隊列中;

所述日志訂閱消費模塊,用以在所述日志消費隊列中按照所屬的消費者組,在同組的消費者中完成消費。

更進一步,所述規(guī)范定義模塊中的配置方式為xml或者json。

更進一步,所述規(guī)范定義模塊位于crm系統(tǒng)中。

更進一步,所述所述日志訂閱消費模塊還用以把數(shù)據(jù)庫中的binlog日志轉(zhuǎn)換成與已校驗規(guī)范對應(yīng)的計算機數(shù)據(jù)結(jié)構(gòu)。

本發(fā)明的有益效果:

本發(fā)明的方法讓軟件開發(fā)人員通過簡單的基本操作完成過去海量的編碼勞動,提高工作效率。本發(fā)明中的系統(tǒng)處在具有日志關(guān)聯(lián)性的系統(tǒng)之間,屬于一種中間件產(chǎn)品,從而在具有日志關(guān)聯(lián)性的系統(tǒng)之間實現(xiàn)生產(chǎn)日志、消費日志從而實現(xiàn)日志的需求。

附圖說明

圖1是本發(fā)明一實施例中的方法流程示意圖;

圖2是本發(fā)明一實施例中的系統(tǒng)結(jié)構(gòu)示意圖;

圖3是本發(fā)明一實施例中的跨系統(tǒng)流程示意圖。

具體實施方式

現(xiàn)在將參考一些示例實施例描述本公開的原理。可以理解,這些實施例僅出于說明并且?guī)椭绢I(lǐng)域的技術(shù)人員理解和實施例本公開的目的而描述,而非建議對本公開的范圍的任何限制。在此描述的本公開的內(nèi)容可以以下文描述的方式之外的各種方式實施。

如本文中所述,術(shù)語“包括”及其各種變體可以被理解為開放式術(shù)語,其意味著“包括但不限于”。術(shù)語“基于”可以被理解為“至少部分地基于”。術(shù)語“一個實施例”可以被理解為“至少一個實施例”。術(shù)語“另一實施例”可以被理解為“至少一個其它實施例”。

圖1是本發(fā)明一實施例中的方法流程示意圖,本實施例中的一種被動式生產(chǎn)、消費計算機日志的需求實現(xiàn)方法,包括如下步驟:

步驟s100根據(jù)需求記錄業(yè)務(wù)操作的日志,并按照已校驗規(guī)范在數(shù)據(jù)庫中生成對應(yīng)的數(shù)據(jù)庫日志;

步驟s101將所述數(shù)據(jù)庫日志按照分布式隊列的方式輸入到日志消費隊列中;

步驟s102在所述日志消費隊列中按照所屬的消費者組,在同組的消費者中完成消費。

具體地,在所述步驟s100中對產(chǎn)生的日志進行描述,把過去復(fù)雜的計算機編碼已一種約定的形式表現(xiàn)。被定義后的規(guī)范會永久伴隨在日志中。再附加上系統(tǒng)默認(rèn)的屬性就構(gòu)成了日志的完整描述。通過該些描述,再通過所述步驟s101把數(shù)據(jù)庫的binlog日志轉(zhuǎn)換成與描述對應(yīng)的計算機數(shù)據(jù)結(jié)構(gòu),已分布式隊列的形式進行分發(fā),并歸檔。最后由經(jīng)由步驟s102以實時的速度完成消費。本實施例中的方法讓軟件開發(fā)人員通過簡單的基本操作完成過去海量的編碼勞動,提高工作效率。

作為本實施例中的優(yōu)選,在所述步驟s100中,根據(jù)需求記錄業(yè)務(wù)操作的日志的方法具體為:

根據(jù)需求生成配置文件,

在配置文件中添加配置節(jié)點,

根據(jù)所述配置節(jié)點,添加自定義信息,

對上述配置節(jié)點進行檢查,若確認(rèn)無誤,則將捕獲的屬性信息和所述自定義信息合并,然后再提交至數(shù)據(jù)庫中。

所述屬性信息包括但不限于,觸發(fā)操作時的日志屬性。

作為本實施例中的優(yōu)選,上述的配置文件按照xml和/或json格式儲存。

作為本實施例中的優(yōu)選,在所述步驟s100中按照已校驗規(guī)范在數(shù)據(jù)庫中生成對應(yīng)的數(shù)據(jù)庫日志還包括如下步驟:

根據(jù)需求記錄業(yè)務(wù)操作的日志中引起數(shù)據(jù)庫中操作過程,并在數(shù)據(jù)庫中產(chǎn)生binlog日志。

作為本實施例中的優(yōu)選,在數(shù)據(jù)庫中產(chǎn)生binlog日志還包括如下步驟:

監(jiān)視所述binlog日志的變化:若有新日志產(chǎn)生時,日志轉(zhuǎn)化讀取新日志,并通過數(shù)據(jù)庫dump協(xié)議將binlog進行解析,

對解析后的binlog日志的不同的格式進行轉(zhuǎn)換,形成統(tǒng)一protobuf格式數(shù)據(jù),

對所述protobuf格式數(shù)據(jù)的日志進行重復(fù)和可用校驗,

若校驗通過,則將所述protobuf格式數(shù)據(jù)進行持久化后將protobuf格式數(shù)據(jù)發(fā)往分布式隊列。

作為本實施例中的優(yōu)選,上述方法還包括:將所述日志消費隊列放置于一需要訂閱日志的系統(tǒng)中,消費者組中的消費者搶奪到日志后,再根據(jù)優(yōu)化算法安排消費,同時上述系統(tǒng)的事件機制后完成消費。

圖2是本發(fā)明一實施例中的系統(tǒng)結(jié)構(gòu)示意圖,本實施例中的一種被動式生產(chǎn)、消費計算機日志的需求實現(xiàn)系統(tǒng),包括:規(guī)范定義模塊1、日志轉(zhuǎn)換模塊2以及日志訂閱消費模塊3,所述規(guī)范定義模塊1,用以根據(jù)需求記錄業(yè)務(wù)操作的日志,并按照已校驗規(guī)范在數(shù)據(jù)庫中生成對應(yīng)的數(shù)據(jù)庫日志;優(yōu)選地,所述規(guī)范定義模塊1中的配置方式為xml或者json??蛇x地,所述規(guī)范定義模塊位于crm系統(tǒng)中。crm系統(tǒng)即客戶關(guān)系管理系統(tǒng)。所述日志轉(zhuǎn)換模塊2,用以將所述數(shù)據(jù)庫日志按照分布式隊列的方式輸入到日志消費隊列中;所述日志訂閱消費模塊3,用以在所述日志消費隊列中按照所屬的消費者組,在同組的消費者中完成消費。優(yōu)選地,所述日志訂閱消費模塊3還用以把數(shù)據(jù)庫中的binlog日志轉(zhuǎn)換成與已校驗規(guī)范對應(yīng)的計算機數(shù)據(jù)結(jié)構(gòu)。本實施例中的系統(tǒng)處在具有日志關(guān)聯(lián)性的系統(tǒng)之間,屬于一種中間件產(chǎn)品,從而在具有日志關(guān)聯(lián)性的系統(tǒng)之間實現(xiàn)生產(chǎn)日志、消費日志從而實現(xiàn)日志的需求。

具體地,在所述規(guī)范定義模塊1中,軟件開發(fā)人員根據(jù)自己的構(gòu)思,想象出自己想要對哪些業(yè)務(wù)操作進行日志記錄。根據(jù)規(guī)范定義模塊的要求,在相應(yīng)的配置文件中添加配置節(jié)點。在配置節(jié)點中,軟件人員可根據(jù)需要添加自定義的額外信息,這些信息將伴隨日志的整個生命周期。規(guī)范定義模塊對配置節(jié)點進行檢查,確認(rèn)無誤后,規(guī)范定義模塊自動將捕獲信息和自定義信息合并,提交的數(shù)據(jù)庫中。其中上述的配置方式以xml和json格式為主。

日志轉(zhuǎn)換模塊2中,主要作用在于,規(guī)范定義模塊引起的數(shù)據(jù)庫的操作,會造成數(shù)據(jù)庫產(chǎn)生binlog日志。

第一步,日志轉(zhuǎn)化模塊監(jiān)視著binlog日志的變化,當(dāng)有新日志產(chǎn)生時,日志轉(zhuǎn)化讀取新日志,通過數(shù)據(jù)庫dump協(xié)議將binlog解析。

第二步,解析后的binlog日志存在多種不同的格式,其中包括insert、update、delete等格式。按照本發(fā)明使用protobuf協(xié)議,對binlog格進行轉(zhuǎn)換,形成統(tǒng)一的protobuf格式。

第三步,對轉(zhuǎn)換后的protobuf格式進行重復(fù)性和可用性校驗。

第四步,校驗通過后,將protobuf數(shù)據(jù)進行持久化本分,通常以文件的形式存儲在硬盤中。

第五步,將protobuf發(fā)往ons分布式隊列。

所述日志訂閱消費模塊3,以獨立的開發(fā)包形式存在,放置在需要訂閱日志的系統(tǒng)中。日志訂閱模塊伴隨這母系統(tǒng)啟動而啟動,啟動后等待分布式隊列中消費日志的產(chǎn)生。每個日志訂閱模塊都屬于一個消費者組,同組的消費者產(chǎn)生競爭,避免重復(fù)消費。搶奪到日志后,日志訂閱模塊根據(jù)系統(tǒng)的壓力情況,根據(jù)優(yōu)化算法安排自行消費,從而觸發(fā)母系統(tǒng)的事件機制,完成消費。

在本實施例中的一實施例中,比如,在人事系統(tǒng)的請假操作,當(dāng)請假批準(zhǔn)后,需要財務(wù)系統(tǒng)扣取當(dāng)天的工資。

則在上述的人事系統(tǒng)涉及到操作如下:

第一步:在請假審批通過的action上添加@log.enum(“qingjia”),其中“qingjia”將伴隨本日志。

僅需這一步人事系統(tǒng)的操作就結(jié)束了。

當(dāng)每次審批通過操作被使用時,數(shù)據(jù)庫的binlog中自動存在一個enum為qingjia的日志記錄。

財務(wù)系統(tǒng)涉及的操作如下:

在日志訂閱模塊的配置中添加如下配置,

<service-activatorinput-channel="qingjia"ref="hrserviceimpl"method="kougongzi"/>

其中kougongzi是一個計算機代碼,用來真正的扣取工資,需要財務(wù)的軟件開發(fā)人員自己實現(xiàn)。

至此本日志的需求就改造完了。

圖3是本發(fā)明一實施例中的跨系統(tǒng)流程示意圖。本實施例中具有日志交互關(guān)聯(lián)性的系統(tǒng)包括:crm系統(tǒng)、日志備份系統(tǒng),還包括:日志消費隊列和其他消費方。在上述crm系統(tǒng)中,首先規(guī)范預(yù)定義——規(guī)范校驗——保存數(shù)據(jù)庫的修改——產(chǎn)生數(shù)據(jù)日志。產(chǎn)生數(shù)據(jù)日志后存入上述的日志備份系統(tǒng),并行進行歸檔數(shù)據(jù)日志。上述日志歸檔后進入分布式消費隊列——由多個消費者進行消費。

應(yīng)當(dāng)理解,本發(fā)明的各部分可以用硬件、軟件、固件或它們的組合來實現(xiàn)。在上述實施方式中,多個步驟或方法可以用存儲在存儲器中且由合適的指令執(zhí)行系統(tǒng)執(zhí)行的軟件或固件來實現(xiàn)。例如,如果用硬件來實現(xiàn),和在另一實施方式中一樣,可用本領(lǐng)域公知的下列技術(shù)中的任一項或他們的組合來實現(xiàn):具有用于對數(shù)據(jù)信號實現(xiàn)邏輯功能的邏輯門電路的離散邏輯電路,具有合適的組合邏輯門電路的專用集成電路,可編程門陣列(pga),現(xiàn)場可編程門陣列(fpga)等。

在本說明書的描述中,參考術(shù)語“一個實施例”、“一些實施例”、“示例”、“具體示例”、或“一些示例”等的描述意指結(jié)合該實施例或示例描述的具體特征、結(jié)構(gòu)、材料或者特點包含于本發(fā)明的至少一個實施例或示例中。在本說明書中,對上述術(shù)語的示意性表述不一定指的是相同的實施例或示例。而且,描述的具體特征、結(jié)構(gòu)、材料或者特點可以在任何的一個或多個實施例或示例中以合適的方式結(jié)合。

總體而言,本公開的各種實施例可以以硬件或?qū)S秒娐?、軟件、邏輯或其任意組合實施。一些方面可以以硬件實施,而其它一些方面可以以固件或軟件實施,該固件或軟件可以由控制器、微處理器或其它計算設(shè)備執(zhí)行。雖然本公開的各種方面被示出和描述為框圖、流程圖或使用其它一些繪圖表示,但是可以理解本文描述的框、設(shè)備、系統(tǒng)、技術(shù)或方法可以以非限制性的方式以硬件、軟件、固件、專用電路或邏輯、通用硬件或控制器或其它計算設(shè)備或其一些組合實施。

此外,雖然操作以特定順序描述,但是這不應(yīng)被理解為要求這類操作以所示的順序執(zhí)行或是以順序序列執(zhí)行,或是要求所有所示的操作被執(zhí)行以實現(xiàn)期望結(jié)果。在一些情形下,多任務(wù)或并行處理可以是有利的。類似地,雖然若干具體實現(xiàn)方式的細(xì)節(jié)在上面的討論中被包含,但是這些不應(yīng)被解釋為對本公開的范圍的任何限制,而是特征的描述僅是針對具體實施例。在分離的一些實施例中描述的某些特征也可以在單個實施例中組合地執(zhí)行。相反對,在單個實施例中描述的各種特征也可以在多個實施例中分離地實施或是以任何合適的子組合的方式實施。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
武穴市| 乌鲁木齐市| 陵川县| 沿河| 东港市| 阿拉善右旗| 定州市| 德清县| 从化市| 津南区| 元朗区| 岳西县| 丁青县| 辽阳市| 融水| 白玉县| 炉霍县| 大埔区| 茂名市| 武定县| 南召县| 利津县| 登封市| 平安县| 西平县| 韩城市| 灌南县| 修文县| 天气| 无锡市| 都江堰市| 西宁市| 鄱阳县| 新乡市| 平顺县| 东乡县| 凤台县| 武宁县| 诸暨市| 嵊泗县| 桦川县|