[發(fā)明專利]基于go語言定時(shí)任務(wù)異步執(zhí)行的實(shí)現(xiàn)方法及系統(tǒng)在審
| 申請(qǐng)?zhí)枺?/td> | 202011170480.8 | 申請(qǐng)日: | 2020-10-28 |
| 公開(公告)號(hào): | CN112256398A | 公開(公告)日: | 2021-01-22 |
| 發(fā)明(設(shè)計(jì))人: | 黃善輝;張暉;高傳集;王剛 | 申請(qǐng)(專利權(quán))人: | 浪潮云信息技術(shù)股份公司 |
| 主分類號(hào): | G06F9/455 | 分類號(hào): | G06F9/455;G06F9/54 |
| 代理公司: | 濟(jì)南信達(dá)專利事務(wù)所有限公司 37100 | 代理人: | 孫園園 |
| 地址: | 250100 山東省濟(jì)南市高*** | 國省代碼: | 山東;37 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 基于 go 語言 定時(shí) 任務(wù) 異步 執(zhí)行 實(shí)現(xiàn) 方法 系統(tǒng) | ||
本發(fā)明公開了基于go語言定時(shí)任務(wù)異步執(zhí)行的實(shí)現(xiàn)方法及系統(tǒng),屬于計(jì)算機(jī)技術(shù)領(lǐng)域,本發(fā)明要解決的技術(shù)問題為在Kubernetes集群中以多副本運(yùn)行的應(yīng)用中,存在的定時(shí)任務(wù)并發(fā)沖突問題以及眾多應(yīng)用使用定時(shí)任務(wù)難以管控,采用的技術(shù)方案為:該方法是建立一個(gè)基于XXL?JOB的調(diào)度中心,對(duì)pod上報(bào)的所有定時(shí)任務(wù)進(jìn)行統(tǒng)一調(diào)度,避免多副本應(yīng)用的定時(shí)任務(wù)發(fā)生并發(fā)沖突,對(duì)依賴于同一個(gè)服務(wù)的不同副本應(yīng)用的沖突任務(wù)進(jìn)行調(diào)度,使副本應(yīng)用能夠正常運(yùn)行;副本應(yīng)用將執(zhí)行定時(shí)任務(wù)以及連接調(diào)度中心的go語言執(zhí)行器引入,將每個(gè)副本應(yīng)用pod的ip地址注冊(cè)到調(diào)度中心,將執(zhí)行器以及任務(wù)執(zhí)行所必要的參數(shù)傳入調(diào)度中心,由調(diào)度中心統(tǒng)一調(diào)度。
技術(shù)領(lǐng)域
本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,具體地說是一種基于go語言定時(shí)任務(wù)異步執(zhí)行的實(shí)現(xiàn)方法及系統(tǒng)。
背景技術(shù)
隨著Kubernetes集群的興起,越來越多的公司及個(gè)人選擇將服務(wù)和應(yīng)用部署在基于kubernetes集群搭建的云平臺(tái)上,隨著集群規(guī)模地增大,以及服務(wù)、應(yīng)用數(shù)量的變多,如何去管控每個(gè)服務(wù)在其pod中運(yùn)行的一系列定時(shí)任務(wù)以及解決多副本應(yīng)用的并發(fā)沖突是一個(gè)待解決的技術(shù)問題。
發(fā)明內(nèi)容
本發(fā)明的技術(shù)任務(wù)是提供一種基于go語言定時(shí)任務(wù)異步執(zhí)行的實(shí)現(xiàn)方法及系統(tǒng),來解決在Kubernetes集群中以多副本運(yùn)行的應(yīng)用中,存在的定時(shí)任務(wù)并發(fā)沖突問題以及眾多應(yīng)用使用定時(shí)任務(wù)難以管控的問題。
本發(fā)明的技術(shù)任務(wù)是按以下方式實(shí)現(xiàn)的,一種基于go語言定時(shí)任務(wù)異步執(zhí)行的實(shí)現(xiàn)方法,該方法是建立一個(gè)基于XXL-JOB的調(diào)度中心,對(duì)pod上報(bào)的所有定時(shí)任務(wù)進(jìn)行統(tǒng)一調(diào)度,避免多副本應(yīng)用的定時(shí)任務(wù)發(fā)生并發(fā)沖突,對(duì)依賴于同一個(gè)服務(wù)的不同副本應(yīng)用的沖突任務(wù)進(jìn)行調(diào)度,使副本應(yīng)用能夠正常運(yùn)行;副本應(yīng)用將執(zhí)行定時(shí)任務(wù)以及連接調(diào)度中心的go語言執(zhí)行器引入,將每個(gè)副本應(yīng)用pod的ip地址注冊(cè)到調(diào)度中心,將執(zhí)行器以及任務(wù)執(zhí)行所必要的參數(shù)傳入調(diào)度中心,由調(diào)度中心統(tǒng)一調(diào)度。
作為優(yōu)選,所述執(zhí)行器用于接收調(diào)度請(qǐng)求并執(zhí)行任務(wù)邏輯,同時(shí)使用RPC通信接入XXL-JOB的調(diào)度中心,接收調(diào)度中心的執(zhí)行請(qǐng)求、終止請(qǐng)求和日志請(qǐng)求。
作為優(yōu)選,所述執(zhí)行器提供如下接口:
func idleBeat(jobId int)Ret{}:用于返回自身的狀態(tài);
func kill(jobId int)Ret{}:用于終止正在執(zhí)行的定時(shí)任務(wù);
func log(logDateTime,logId int64,fromLineNum int)LogResult{}:用于打印日志;
func run(param TriggerParam)Ret:用于執(zhí)行定時(shí)任務(wù);
func registry(registryParam RegistryParam);
func registryRemove(RegistryParam registryParam);
func callback(callbackParamList[]CallbackParam);
Ret,用于結(jié)構(gòu)體有返回結(jié)果;
LogResult:用于日志結(jié)果;
TriggerParam:用于執(zhí)行參數(shù);
RegistryParam:用于注冊(cè)參數(shù);
callbackParam:用于回調(diào)參數(shù)。
更優(yōu)地,所述執(zhí)行器包括,
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于浪潮云信息技術(shù)股份公司,未經(jīng)浪潮云信息技術(shù)股份公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011170480.8/2.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(wǎng)。
- 自動(dòng)檢測(cè)文件中搭配錯(cuò)誤的系統(tǒng)和方法
- 網(wǎng)絡(luò)連接裝置及網(wǎng)絡(luò)連接裝置的語言環(huán)境設(shè)定方法
- 一種口語評(píng)測(cè)方法及裝置
- 一種語言設(shè)置方法及移動(dòng)終端
- 一種語言文本加載方法和裝置
- 一種語言交流人工智能系統(tǒng)及其語言處理方法
- 語言序列標(biāo)注方法、裝置存儲(chǔ)介質(zhì)及計(jì)算機(jī)設(shè)備
- 一種基于語言包實(shí)現(xiàn)繼電保護(hù)裝置多語言版本方法及裝置
- 一種應(yīng)用軟件的多語言核對(duì)方法及系統(tǒng)
- 多語言字幕顯示方法、裝置、終端設(shè)備及存儲(chǔ)介質(zhì)





