一種任務(wù)執(zhí)行方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及網(wǎng)絡(luò)通信技術(shù)領(lǐng)域,特別是涉及一種任務(wù)執(zhí)行方法和裝置。
【背景技術(shù)】
[0002]服務(wù)器的日志是記載著服務(wù)器每時(shí)每刻的信息的一個(gè)數(shù)據(jù)庫(kù)。日志按照內(nèi)容可被分為應(yīng)用程序日志、安全性日志和系統(tǒng)日志等。其中,應(yīng)用程序日志主要用于記錄服務(wù)器上應(yīng)用程序的運(yùn)行信息,安全性日志主要用于記錄服務(wù)器用戶登錄過(guò)程中的全部行為信息,如什么時(shí)間訪問(wèn)了哪個(gè)網(wǎng)頁(yè),有沒(méi)有收藏網(wǎng)頁(yè)等等;系統(tǒng)日志主要用于記錄服務(wù)器系統(tǒng)程序的運(yùn)行狀況。
[0003]現(xiàn)有方案中,向服務(wù)器的磁盤寫日志的操作是由各應(yīng)用模塊來(lái)執(zhí)行的,如各應(yīng)用程序?qū)?yīng)的應(yīng)用模塊分別將對(duì)應(yīng)應(yīng)用程序的運(yùn)行信息寫入應(yīng)用程序日志,針對(duì)網(wǎng)站設(shè)置的各應(yīng)用模塊分別用于將用戶產(chǎn)生的某行為信息寫入安全性日志等等。
[0004]上述執(zhí)行寫日志操作的方案具有輕耦合的優(yōu)點(diǎn),然而,多個(gè)應(yīng)用模塊需要分別占用相應(yīng)的系統(tǒng)資源,并且,在多個(gè)應(yīng)用模塊同時(shí)向服務(wù)器的磁盤寫日志時(shí)容易出現(xiàn)磁盤混亂的問(wèn)題。
【發(fā)明內(nèi)容】
[0005]鑒于上述問(wèn)題,提出了本發(fā)明以便提供一種克服上述問(wèn)題或者至少部分地解決上述問(wèn)題的一種任務(wù)執(zhí)行方法和裝置。
[0006]依據(jù)本發(fā)明的一個(gè)方面,提供了一種任務(wù)執(zhí)行方法,包括:
[0007]接收來(lái)自多個(gè)應(yīng)用模塊的任務(wù);
[0008]將所述任務(wù)寫入緩沖區(qū);以及
[0009]從所述緩沖區(qū)中讀取所述任務(wù),并利用單線程執(zhí)行所述任務(wù)。
[0010]可選地,所述將所述任務(wù)寫入緩沖區(qū)的步驟,包括:
[0011]按照所述任務(wù)的接收順序,將所述任務(wù)寫入緩沖區(qū);和/或
[0012]按照所述任務(wù)的優(yōu)先級(jí),將所述任務(wù)寫入緩沖區(qū);和/或
[0013]按照所述任務(wù)對(duì)應(yīng)應(yīng)用模塊的優(yōu)先級(jí),將所述任務(wù)寫入緩沖區(qū);和/或
[0014]按照所述任務(wù)的屬性信息,將所述任務(wù)寫入緩沖區(qū)。
[0015]可選地,所述從所述緩沖區(qū)中讀取所述任務(wù)的步驟,包括:
[0016]按照所述任務(wù)的寫入順序,從所述緩沖區(qū)中讀取所述任務(wù);和/或
[0017]按照所述任務(wù)的優(yōu)先級(jí),從所述緩沖區(qū)中讀取所述任務(wù);和/或
[0018]按照所述任務(wù)對(duì)應(yīng)應(yīng)用模塊的優(yōu)先級(jí),從所述緩沖區(qū)中讀取所述任務(wù);和/或
[0019]按照所述任務(wù)的屬性信息,從所述緩沖區(qū)中讀取所述任務(wù)。
[0020]可選地,所述緩沖區(qū)包括:內(nèi)存緩沖區(qū)和/或持久緩沖區(qū)。
[0021]可選地,所述將所述任務(wù)寫入緩沖區(qū)的步驟,包括:
[0022]將所述任務(wù)循環(huán)寫入所述緩沖區(qū)。
[0023]可選地,所述緩沖區(qū)為持久緩沖區(qū),所述持久緩沖區(qū)包括單位塊;
[0024]則所述方法還包括:
[0025]在按照所述任務(wù)的接收順序,將所述任務(wù)寫入所述持久緩沖區(qū)中單位塊后,針對(duì)所述單位塊中內(nèi)容生成相應(yīng)的第一校驗(yàn)參數(shù);
[0026]在從所述單位塊中讀取所述任務(wù)后,針對(duì)所讀取的任務(wù)生成相應(yīng)的第二校驗(yàn)參數(shù);
[0027]判斷所述第二校驗(yàn)參數(shù)與所述第一校驗(yàn)參數(shù)是否一致;
[0028]在所述第二校驗(yàn)參數(shù)與所述第一校驗(yàn)參數(shù)一致時(shí),執(zhí)行所讀取的任務(wù);
[0029]在所述第二校驗(yàn)參數(shù)與所述第一校驗(yàn)參數(shù)不一致時(shí),丟棄所讀取的任務(wù)。
[0030]可選地,所述任務(wù)的信息包括:任務(wù)數(shù)據(jù)幀,其中,所述任務(wù)數(shù)據(jù)幀為子包對(duì)應(yīng)的封裝幀,所述子包為依據(jù)數(shù)據(jù)包分解得到,所述任務(wù)數(shù)據(jù)幀包括:子包在數(shù)據(jù)包中的編號(hào)、子包數(shù)據(jù)和數(shù)據(jù)包結(jié)束標(biāo)識(shí)。
[0031]根據(jù)本發(fā)明的另一方面,提供了一種任務(wù)執(zhí)行裝置,包括:
[0032]接收模塊,用于接收來(lái)自多個(gè)應(yīng)用模塊的任務(wù);
[0033]寫入模塊,用于將所述任務(wù)寫入緩沖區(qū);以及
[0034]執(zhí)行模塊,用于從所述緩沖區(qū)中讀取所述任務(wù),并利用單線程執(zhí)行所述任務(wù)。
[0035]可選地,所述寫入模塊,包括:
[0036]第一寫入子模塊。用于按照所述任務(wù)的接收順序,將所述任務(wù)寫入緩沖區(qū);和/或
[0037]第二寫入子模塊。用于按照所述任務(wù)的優(yōu)先級(jí),將所述任務(wù)寫入緩沖區(qū);和/或
[0038]第三寫入子模塊。用于按照所述任務(wù)對(duì)應(yīng)應(yīng)用模塊的優(yōu)先級(jí),將所述任務(wù)寫入緩沖區(qū);和/或
[0039]第四寫入子模塊,用于按照所述任務(wù)的屬性信息,將所述任務(wù)寫入緩沖區(qū)。
[0040]可選地,所述執(zhí)行模塊,包括:
[0041]第一讀取子模塊,用于按照所述任務(wù)的寫入順序,從所述緩沖區(qū)中讀取所述任務(wù);和/或
[0042]第二讀取子模塊,用于按照所述任務(wù)的優(yōu)先級(jí),從所述緩沖區(qū)中讀取所述任務(wù);和/或
[0043]第三讀取子模塊,用于按照所述任務(wù)對(duì)應(yīng)應(yīng)用模塊的優(yōu)先級(jí),從所述緩沖區(qū)中讀取所述任務(wù);和/或
[0044]第四讀取子模塊,用于按照所述任務(wù)的屬性信息,從所述緩沖區(qū)中讀取所述任務(wù)。
[0045]根據(jù)本發(fā)明實(shí)施例提供的一種任務(wù)執(zhí)行方法和裝置,將來(lái)自多個(gè)應(yīng)用模塊的任務(wù)任務(wù)寫入緩沖區(qū),從所述緩沖區(qū)中讀取所述任務(wù),并利用單線程執(zhí)行所述任務(wù);相對(duì)于現(xiàn)有方案由多個(gè)應(yīng)用模塊占用多個(gè)線程資源來(lái)執(zhí)行所述任務(wù),本發(fā)明實(shí)施例利用單線程執(zhí)行所述任務(wù),能夠有效節(jié)省線程資源等系統(tǒng)資源。并且,利用單線程執(zhí)行所述任務(wù)能夠避免多線程共同操作一個(gè)對(duì)象而導(dǎo)致的對(duì)象混亂等問(wèn)題。
[0046]上述說(shuō)明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說(shuō)明書的內(nèi)容予以實(shí)施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點(diǎn)能夠更明顯易懂,以下特舉本發(fā)明的【具體實(shí)施方式】。
【附圖說(shuō)明】
[0047]通過(guò)閱讀下文可選實(shí)施方式的詳細(xì)描述,各種其他的優(yōu)點(diǎn)和益處對(duì)于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出可選實(shí)施方式的目的,而并不認(rèn)為是對(duì)本發(fā)明的限制。而且在整個(gè)附圖中,用相同的參考符號(hào)表示相同的部件。在附圖中:
[0048]圖1示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的一種任務(wù)執(zhí)行方法的步驟流程示意圖;
[0049]圖2示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的一種緩沖區(qū)的結(jié)構(gòu)示意圖;以及
[0050]圖3示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的一種任務(wù)執(zhí)行裝置的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0051]下面將參照附圖更詳細(xì)地描述本公開(kāi)的示例性實(shí)施例。雖然附圖中顯示了本公開(kāi)的示例性實(shí)施例,然而應(yīng)當(dāng)理解,可以以各種形式實(shí)現(xiàn)本公開(kāi)而不應(yīng)被這里闡述的實(shí)施例所限制。相反,提供這些實(shí)施例是為了能夠更透徹地理解本公開(kāi),并且能夠?qū)⒈竟_(kāi)的范圍完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。
[0052]參照?qǐng)D1,示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的一種任務(wù)執(zhí)行方法的步驟流程示意圖,具體可以包括如下步驟:
[0053]步驟101、接收來(lái)自多個(gè)應(yīng)用模塊的任務(wù);
[0054]步驟102、將所述任務(wù)寫入緩沖區(qū);以及
[0055]步驟103、從所述緩沖區(qū)中讀取所述任務(wù),并利用單線程執(zhí)行所述任務(wù)。
[0056]本發(fā)明實(shí)施例中,多個(gè)應(yīng)用模塊的任務(wù)可以涉及相同的操作,如均為向磁盤寫日志的操作等等;也可以涉及不同的操作,如從數(shù)據(jù)庫(kù)讀數(shù)據(jù)的操作及向數(shù)據(jù)庫(kù)寫數(shù)據(jù)的操作等等,本發(fā)明實(shí)施例對(duì)具體的任務(wù)及任務(wù)來(lái)源不加以限制。
[0057]在本發(fā)明的一種應(yīng)用示例中,可以按照所述任務(wù)的接收順序?qū)θ蝿?wù)進(jìn)行編號(hào),然后按照編號(hào)順序?qū)⑺鋈蝿?wù)寫入緩沖區(qū),以及,掃描所述緩沖區(qū),按照寫入順序從所述緩沖區(qū)中讀取任務(wù),并利用單線程執(zhí)行所述任務(wù),從而能夠保證任務(wù)的快速執(zhí)行。
[0058]本發(fā)明實(shí)施例中,緩沖區(qū)可用于存儲(chǔ)來(lái)自多個(gè)應(yīng)用模塊的任務(wù)。參照?qǐng)D2,示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的一種緩沖區(qū)的結(jié)構(gòu)示