一種定時(shí)事件管理方法、存儲(chǔ)方法、執(zhí)行方法及相應(yīng)裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)以及通信技術(shù),尤其涉及一種定時(shí)事件管理方法、存儲(chǔ)方法、執(zhí)行方法及相應(yīng)裝置。
【背景技術(shù)】
[0002]定時(shí)器是軟件領(lǐng)域常用的一種工具,允許用戶設(shè)置定時(shí)事件,在定時(shí)事件所設(shè)置的時(shí)間通知制定的事件接收者。分布式定時(shí)器平臺(tái)是一種服務(wù)平臺(tái),用戶可以通過(guò)前端應(yīng)用程序設(shè)置未來(lái)某一時(shí)間觸發(fā)的定時(shí)事件和事件的接收地址,服務(wù)平臺(tái)在到定時(shí)時(shí)間點(diǎn)時(shí)。把定時(shí)事件發(fā)送到事件的接受地址處。
[0003]隨著定時(shí)器業(yè)務(wù)的發(fā)展,定時(shí)事件數(shù)量也將大程度增加,需要更大容量的服務(wù)器來(lái)支持定時(shí)器的工作。現(xiàn)有的定時(shí)器平臺(tái)實(shí)現(xiàn)技術(shù)沒(méi)有考慮海量數(shù)據(jù)的情況,定時(shí)器平臺(tái)及業(yè)務(wù)往往部署在少數(shù)幾臺(tái)服務(wù)器,容量有限,如果要擴(kuò)充容量必須增加服務(wù)器數(shù)量,進(jìn)行硬件設(shè)施的改造,從而在面臨大數(shù)據(jù)或海量數(shù)據(jù)時(shí)業(yè)務(wù)容量無(wú)法平滑地?cái)U(kuò)展。
【發(fā)明內(nèi)容】
[0004]有鑒于此,本發(fā)明提供一種定時(shí)事件管理方法、存儲(chǔ)方法、執(zhí)行方法及相應(yīng)裝置,能夠適應(yīng)大量、海量的定時(shí)事件存儲(chǔ),同時(shí)允許使用者平滑地?cái)U(kuò)展定時(shí)事件數(shù)據(jù)業(yè)務(wù)的容量。
[0005]基于上述目的本發(fā)明提供的定時(shí)事件管理方法,包括如下步驟:
[0006]在基于分布式鍵值Key-Value存儲(chǔ)系統(tǒng)的定時(shí)器平臺(tái)上,接收用戶維護(hù)定時(shí)事件的指令;
[0007]利用屬于所述用戶的唯一標(biāo)識(shí)以及該唯一標(biāo)識(shí)與定時(shí)事件詳細(xì)信息記錄之間的對(duì)應(yīng)關(guān)系,取出定時(shí)事件詳細(xì)信息;
[0008]向所述定時(shí)事件詳細(xì)信息執(zhí)行所述用戶維護(hù)定時(shí)事件的指令。
[0009]可選的,所述唯一標(biāo)識(shí)與定時(shí)事件詳細(xì)記錄之間的對(duì)應(yīng)關(guān)系具體為:所述唯一標(biāo)識(shí)與至少一個(gè)索引列表為鍵值關(guān)系;所述索引列表中的每個(gè)索引與至少一條定時(shí)事件詳細(xì)信息為鍵值關(guān)系。
[0010]可選的,利用屬于所述用戶的唯一標(biāo)識(shí)以及該唯一標(biāo)識(shí)與定時(shí)事件詳細(xì)信息記錄之間的對(duì)應(yīng)關(guān)系、取出定時(shí)事件詳細(xì)信息的步驟具體包括:
[0011]以用戶唯一標(biāo)識(shí)為鍵,取出包含有索引列表的值;
[0012]根據(jù)所述指令在所述索引列表中查找對(duì)應(yīng)的索引;
[0013]以查找到的索引為鍵,取出包含有定時(shí)事件詳細(xì)信息的值。
[0014]進(jìn)一步,本發(fā)明提供一種定時(shí)事件存儲(chǔ)方法,包括如下步驟:
[0015]在基于分布式鍵值Key-Value存儲(chǔ)系統(tǒng)的定時(shí)器平臺(tái)上,接收用戶新建定時(shí)事件的指令;
[0016]對(duì)應(yīng)于待存儲(chǔ)的定時(shí)事件,新生成全局唯一的索引,并將新生成的索引加入與用戶唯一標(biāo)識(shí)對(duì)應(yīng)的索引列表;
[0017]以所述新生成的索引為鍵、待存儲(chǔ)的定時(shí)事件詳細(xì)信息為值,保存所述定時(shí)事件詳細(xì)信息。
[0018]可選的,接收用戶新建定時(shí)事件的指令之前,還包括:
[0019]在基于分布式鍵值Key-Value存儲(chǔ)系統(tǒng)的定時(shí)器平臺(tái)上,接收用戶發(fā)送的新建用戶的指令和用戶唯一標(biāo)識(shí);
[0020]對(duì)應(yīng)于所述用戶唯一標(biāo)識(shí),新生成全局唯一的索引列表;
[0021]以所述用戶唯一標(biāo)識(shí)為鍵、新生成的全局唯一索引列表為值,存儲(chǔ)所述索引列表。
[0022]可選的,生成所述待存儲(chǔ)的定時(shí)事件的索引之后,還包括如下步驟:
[0023]將所述索引加入到用于通知所述定時(shí)器平臺(tái)上的定時(shí)事件的消息隊(duì)列。
[0024]進(jìn)一步,本發(fā)明提供一種定時(shí)事件執(zhí)行方法,包括在基于分布式鍵值Key-Value存儲(chǔ)系統(tǒng)的定時(shí)器平臺(tái)上執(zhí)行的如下步驟:
[0025]根據(jù)當(dāng)前執(zhí)行的時(shí)間粒度對(duì)應(yīng)的分布式消息隊(duì)列中記錄的索引的時(shí)序,讀取執(zhí)行時(shí)間最如的索引;
[0026]根據(jù)所述執(zhí)行時(shí)間最前的索引與定時(shí)事件詳細(xì)信息之間的對(duì)應(yīng)關(guān)系,讀取對(duì)應(yīng)的定時(shí)事件詳細(xì)信息;
[0027]執(zhí)行所述定時(shí)事件詳細(xì)信息中記錄的定時(shí)事件內(nèi)容,并返回讀取執(zhí)行時(shí)間最前的索引的步驟。
[0028]進(jìn)一步,本發(fā)明提供一種定時(shí)事件管理裝置,包括:
[0029]維護(hù)指令接收模塊:用于在基于分布式鍵值Key-Value存儲(chǔ)系統(tǒng)的定時(shí)器平臺(tái)上,接收用戶維護(hù)定時(shí)事件的指令;
[0030]定時(shí)事件詳細(xì)信息取出模塊:用于利用屬于所述用戶的唯一標(biāo)識(shí)以及該唯一標(biāo)識(shí)與定時(shí)事件詳細(xì)信息記錄之間的對(duì)應(yīng)關(guān)系,取出定時(shí)事件詳細(xì)信息;
[0031]維護(hù)指令執(zhí)行模塊:用于向所述定時(shí)事件詳細(xì)信息執(zhí)行所述用戶維護(hù)定時(shí)事件的指令。
[0032]可選的,所述唯一標(biāo)識(shí)與定時(shí)事件詳細(xì)記錄之間的對(duì)應(yīng)關(guān)系具體為:所述唯一標(biāo)識(shí)與至少一個(gè)索引列表為鍵值關(guān)系;所述索引列表中的每個(gè)索引與至少一條定時(shí)事件詳細(xì)信息為鍵值關(guān)系。
[0033]可選的,所述定時(shí)事件詳細(xì)信息取出模塊具體包括:
[0034]索引列表獲取單元:用于以用戶唯一標(biāo)識(shí)為鍵,取出包含有索引列表的值;
[0035]索引查找單元:用于根據(jù)所述指令在所述索引列表中查找對(duì)應(yīng)的索引;
[0036]定時(shí)事件詳細(xì)信息值獲取單元:用于以查找到的索引為鍵,取出包含有定時(shí)事件詳細(xì)信息的值。
[0037]進(jìn)一步,本發(fā)明還提供一種定時(shí)事件存儲(chǔ)裝置,包括:
[0038]新建指令接收模塊:用于在基于分布式鍵值Key-Value存儲(chǔ)系統(tǒng)的定時(shí)器平臺(tái)上,接收用戶新建定時(shí)事件的指令;
[0039]索引生成模塊:用于對(duì)應(yīng)于待存儲(chǔ)的定時(shí)事件,新生成全局唯一的索引,并將新生成的索引加入與用戶唯一標(biāo)識(shí)對(duì)應(yīng)的索引列表;
[0040]待存儲(chǔ)定時(shí)事件詳細(xì)信息保存模塊:用于以所述新生成的索引為鍵、待存儲(chǔ)的定時(shí)事件詳細(xì)信息為值,保存所述定時(shí)事件詳細(xì)信息。
[0041]可選的,所述裝置還包括:
[0042]用戶新建指令接收模塊:用于在基于分布式鍵值Key-Value存儲(chǔ)系統(tǒng)的定時(shí)器平臺(tái)上,接收用戶發(fā)送的新建用戶的指令和用戶唯一標(biāo)識(shí);
[0043]索引列表生成模塊:用于對(duì)應(yīng)于所述用戶唯一標(biāo)識(shí),新生成全局唯一的索引列表;
[0044]索引列表存儲(chǔ)模塊:用于以所述用戶唯一標(biāo)識(shí)為鍵、新生成的全局唯一索引列表為值,存儲(chǔ)所述索引列表。
[0045]可選的,所述裝置還包括:
[0046]消息隊(duì)列更新模塊:用于將所述索引加入到用于通知所述定時(shí)器平臺(tái)上的定時(shí)事件的消息隊(duì)列。
[0047]進(jìn)一步,本發(fā)明還提供一種定時(shí)事件執(zhí)行裝置,用于基于分布式鍵值Key-Value存儲(chǔ)系統(tǒng)的定時(shí)器平臺(tái),包括:
[0048]當(dāng)前最近時(shí)序索引讀取模塊:用于根據(jù)當(dāng)前執(zhí)行的時(shí)間粒度對(duì)應(yīng)的分布式消息隊(duì)列中記錄的索引的時(shí)序,讀取執(zhí)彳丁時(shí)間最如的索引;
[0049]定時(shí)事件詳細(xì)信息讀取模塊:用于根據(jù)所述執(zhí)行時(shí)間最前的索引與定時(shí)事件詳細(xì)信息之間的對(duì)應(yīng)關(guān)系,讀取對(duì)應(yīng)的定時(shí)事件詳細(xì)信息;
[0050]定時(shí)事件執(zhí)行模塊:用于執(zhí)行所述定時(shí)事件詳細(xì)信息中記錄的定時(shí)事件內(nèi)容。
[0051]從上面所述可以看出,本發(fā)明提供的定時(shí)事件管理方法及裝置、定時(shí)事件存儲(chǔ)方法及裝置、定時(shí)事件執(zhí)行方法及裝置,基于分布式Key-Value存儲(chǔ)系統(tǒng)管理、存儲(chǔ)、執(zhí)行定時(shí)事件,能夠處理海量定時(shí)數(shù)據(jù)。同時(shí),本發(fā)明及其實(shí)施例將定時(shí)事件詳細(xì)信息的索引與定時(shí)事件詳細(xì)信息以鍵值對(duì)的方式存儲(chǔ),提高定時(shí)事件的存儲(chǔ)速度。
【附圖說(shuō)明】
[0052]圖1為本發(fā)明實(shí)施例的定時(shí)事件管理方法流程示