技術(shù)領(lǐng)域
本發(fā)明涉及軟件版本控制工具領(lǐng)域,具體的說是一種基于GIT的下載完成關(guān)機(jī)方法。
背景技術(shù):
Git是一個(gè)開源的分布式版本控制系統(tǒng),可以有效、高速的處理從很小到非常大的項(xiàng)目版本管理。目前Git作為最為流行的代碼版本控制管理工具,已經(jīng)集成了相當(dāng)強(qiáng)大的功能。但是,另一方面,當(dāng)Git需要下載的內(nèi)容較多時(shí),尤其是在網(wǎng)速較慢的情況下,常常會(huì)造成下載的時(shí)間非常長(zhǎng)。當(dāng)用戶需要離開或在夜間進(jìn)行下載時(shí),當(dāng)任務(wù)完成時(shí),計(jì)算機(jī)依舊保持開機(jī)狀態(tài),常常會(huì)造成電能資源的浪費(fèi)。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明針對(duì)目前技術(shù)發(fā)展的需求和不足之處,提供一種基于GIT的下載完成關(guān)機(jī)方法。
本發(fā)明所述一種基于GIT的下載完成關(guān)機(jī)方法,解決上述技術(shù)問題采用的技術(shù)方案如下:一種基于GIT的下載完成關(guān)機(jī)方法, 基于Git技術(shù),通過在Git中添加下載完成關(guān)機(jī)子命令,來實(shí)現(xiàn)對(duì)于Git下載任務(wù)的完成關(guān)機(jī)操作;主要包括以下步驟:一、用戶通過命令行輸入Git進(jìn)行遠(yuǎn)程文件下載的命令,同時(shí)在命令行中添加下載完成關(guān)機(jī)子命令;二、Git主程序收到命令后,檢索Git未完成下載任務(wù)列表,判斷Git未完成下載任務(wù)列表是否為空;將用戶輸入的Git下載任務(wù)添加到下載任務(wù)列表中;三、當(dāng)用戶輸入的包含下載完成關(guān)機(jī)子命令行Git下載任務(wù)完成時(shí),Git主程序在Git未完成下載任務(wù)列表中刪除該任務(wù);四、直至下載任務(wù)列表所有任務(wù)完成,執(zhí)行關(guān)機(jī)操作。
優(yōu)選的,所述步驟一中,用戶使用的命令行基于Bash標(biāo)準(zhǔn)進(jìn)行實(shí)現(xiàn),下載完成關(guān)機(jī)子命令定義為sac。
優(yōu)選的,所述步驟二中,Git主程序收到命令后,檢索Git未完成下載任務(wù)列表,判斷Git未完成下載任務(wù)列表是否為空,下載任務(wù)列表采用鏈表數(shù)據(jù)結(jié)構(gòu),鏈表的每個(gè)節(jié)點(diǎn)的數(shù)據(jù)結(jié)構(gòu)中包含未完成任務(wù)的進(jìn)程信息、下一個(gè)未完成任務(wù)的指針。
優(yōu)選的,所述步驟二中,Git主程序收到命令后,檢索Git未完成下載任務(wù)列表,判斷Git未完成下載任務(wù)列表是否為空;若Git未完成下載任務(wù)列表為空,則創(chuàng)建Git未完成下載任務(wù)列表,并將用戶輸入的Git下載任務(wù)添加到列表中。
優(yōu)選的,所述步驟二中,若Git未完成下載任務(wù)列表為空,則創(chuàng)建Git未完成下載任務(wù)列表,并將用戶輸入的Git下載任務(wù)添加到列表中,初始狀態(tài)下,未完成下載任務(wù)列表指針為空,當(dāng)用戶第一次使用Git命令通知Git主程序執(zhí)行下載完成關(guān)機(jī)操作后,Git主程序?qū)⑺挟?dāng)前系統(tǒng)內(nèi)運(yùn)行的未完成的Git下載任務(wù)封裝到前述的任務(wù)列表的數(shù)據(jù)結(jié)構(gòu)中,并逐一添加到未完成下載任務(wù)列表中。
優(yōu)選的,所述步驟二中,Git主程序收到命令后,檢索Git未完成下載任務(wù)列表,判斷Git未完成下載任務(wù)列表是否為空;若Git未完成下載任務(wù)列表不為空,則直接將用戶輸入的Git下載任務(wù)添加到列表末端。
優(yōu)選的,所述步驟二中,若Git未完成下載任務(wù)列表不為空,則直接將用戶輸入的Git下載任務(wù)添加到列表末端,當(dāng)前用戶需要執(zhí)行的Git下載任務(wù)為最新的未完成下載任務(wù),封裝到任務(wù)列表的數(shù)據(jù)結(jié)構(gòu)中,并添加到任務(wù)列表的末端。
優(yōu)選的,所述步驟三中,當(dāng)用戶輸入的包含下載完成關(guān)機(jī)子命令行Git下載任務(wù)完成時(shí),Git主程序在Git未完成下載任務(wù)列表中刪除該任務(wù),并檢視下載任務(wù)列表是否為空,當(dāng)某個(gè)Git下載任務(wù)完成時(shí),在任務(wù)列表中將該Git任務(wù)刪除。
優(yōu)選的,所述步驟三中,當(dāng)用戶輸入的包含下載完成關(guān)機(jī)子命令行Git下載任務(wù)完成時(shí),Git主程序在Git未完成下載任務(wù)列表中刪除該任務(wù),并檢視下載任務(wù)列表是否為空;若Git未完成下載任務(wù)列表為空,則Git主程序調(diào)用操作系統(tǒng)關(guān)機(jī)命令,執(zhí)行關(guān)機(jī)操作。
優(yōu)選的,所述步驟三中,當(dāng)用戶輸入的包含下載完成關(guān)機(jī)子命令行Git下載任務(wù)完成時(shí),Git主程序在Git未完成下載任務(wù)列表中刪除該任務(wù),并檢視下載任務(wù)列表是否為空;若Git未完成下載任務(wù)列表不為空,則Git主程序在下載任務(wù)列表所有任務(wù)完成之后調(diào)用操作系統(tǒng)關(guān)機(jī)命令,執(zhí)行關(guān)機(jī)操作。
本發(fā)明所述一種基于GIT的下載完成關(guān)機(jī)方法與現(xiàn)有技術(shù)相比具有的有益效果是:本發(fā)明通過在Git中添加下載完成關(guān)機(jī)命令,方便用戶在離開計(jì)算機(jī)時(shí)或夜間狀態(tài)下持續(xù)進(jìn)行下載任務(wù),當(dāng)任務(wù)完成時(shí),計(jì)算機(jī)自動(dòng)完成關(guān)機(jī)狀態(tài),節(jié)約時(shí)間,能夠降低對(duì)電能的消耗。
附圖說明
附圖1為所述基于GIT的下載完成關(guān)機(jī)方法的流程圖。
具體實(shí)施方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,以下結(jié)合具體實(shí)施例,對(duì)本發(fā)明所述一種基于GIT的下載完成關(guān)機(jī)方法進(jìn)一步詳細(xì)說明。
本發(fā)明公開了一種基于GIT的下載完成關(guān)機(jī)方法,基于Git技術(shù),通過在Git中添加下載完成關(guān)機(jī)命令,來實(shí)現(xiàn)對(duì)于Git下載任務(wù)的完成關(guān)機(jī)操作;方便用戶在離開計(jì)算機(jī)時(shí)或夜間狀態(tài)下持續(xù)進(jìn)行下載任務(wù),節(jié)約時(shí)間以及降低對(duì)電能的消耗。該下載完成后關(guān)機(jī)方法主要包括:一、用戶通過命令行輸入Git進(jìn)行遠(yuǎn)程文件下載的命令,同時(shí)在命令行中添加下載完成關(guān)機(jī)子命令;二、Git主程序收到命令后,檢索Git未完成下載任務(wù)列表,判斷Git未完成下載任務(wù)列表是否為空;將用戶輸入的Git下載任務(wù)添加到下載任務(wù)列表中;三、當(dāng)用戶輸入的包含下載完成關(guān)機(jī)子命令行Git下載任務(wù)完成時(shí),Git主程序在Git未完成下載任務(wù)列表中刪除該任務(wù);四、直至下載任務(wù)列表所有任務(wù)完成,執(zhí)行關(guān)機(jī)操作。
實(shí)施例:
本實(shí)施例所述一種基于GIT的下載完成關(guān)機(jī)方法,如附圖1所示,其主要實(shí)現(xiàn)過程包括以下步驟:
1)用戶通過命令行輸入Git進(jìn)行遠(yuǎn)程文件下載的命令,同時(shí)在命令行中添加下載完成關(guān)機(jī)子命令;
2)Git主程序收到命令后,檢索Git未完成下載任務(wù)列表,判斷Git未完成下載任務(wù)列表是否為空;
3)若Git未完成下載任務(wù)列表為空,則創(chuàng)建Git未完成下載任務(wù)列表,并將用戶輸入的Git下載任務(wù)添加到列表中;
4)若Git未完成下載任務(wù)列表不為空,則直接將用戶輸入的Git下載任務(wù)添加到列表末端;
5)當(dāng)用戶輸入的包含下載完成關(guān)機(jī)子命令行Git下載任務(wù)完成時(shí),Git主程序在Git未完成下載任務(wù)列表中刪除該任務(wù),并檢視下載任務(wù)列表是否為空;
6)若Git未完成下載任務(wù)列表為空,則Git主程序調(diào)用操作系統(tǒng)關(guān)機(jī)命令,執(zhí)行關(guān)機(jī)操作;
7)若Git未完成下載任務(wù)列表不為空,則Git主程序在下載任務(wù)列表所有任務(wù)完成之后調(diào)用操作系統(tǒng)關(guān)機(jī)命令,執(zhí)行關(guān)機(jī)操作。
本實(shí)施例所述基于GIT的下載完成關(guān)機(jī)方法,其具體實(shí)施過程如下:
步驟1)中,用戶通過命令行輸入Git進(jìn)行遠(yuǎn)程文件下載的命令,同時(shí)在命令行中添加下載完成關(guān)機(jī)子命令,用戶使用的命令行基于Bash標(biāo)準(zhǔn)進(jìn)行實(shí)現(xiàn),下載完成關(guān)機(jī)子命令定義為sac,為shutdown after completion的縮寫。用戶采用的命令格式如下:
git clone {遠(yuǎn)程Git下載地址} –sac。
步驟2)中,Git主程序收到命令后,檢索Git未完成下載任務(wù)列表,判斷Git未完成下載任務(wù)列表是否為空,下載任務(wù)列表采用鏈表數(shù)據(jù)結(jié)構(gòu),鏈表的每個(gè)節(jié)點(diǎn)的數(shù)據(jù)結(jié)構(gòu)中包含未完成任務(wù)的進(jìn)程信息、下一個(gè)未完成任務(wù)的指針。
步驟3)若Git未完成下載任務(wù)列表為空,則創(chuàng)建Git未完成下載任務(wù)列表,并將用戶輸入的Git下載任務(wù)添加到列表中,初始狀態(tài)下,未完成下載任務(wù)列表指針為空,當(dāng)用戶第一次使用Git命令通知Git主程序執(zhí)行下載完成關(guān)機(jī)操作后,Git主程序?qū)⑺挟?dāng)前系統(tǒng)內(nèi)運(yùn)行的未完成的Git下載任務(wù)封裝到前述的任務(wù)列表的數(shù)據(jù)結(jié)構(gòu)中,并逐一添加到未完成下載任務(wù)列表中。
步驟4)若Git未完成下載任務(wù)列表不為空,則直接將用戶輸入的Git下載任務(wù)添加到列表末端,當(dāng)前用戶需要執(zhí)行的Git下載任務(wù)為最新的未完成下載任務(wù),封裝到任務(wù)列表的數(shù)據(jù)結(jié)構(gòu)中,并添加到任務(wù)列表的末端。
步驟5)當(dāng)用戶輸入的包含下載完成關(guān)機(jī)子命令行Git下載任務(wù)完成時(shí),Git主程序在Git未完成下載任務(wù)列表中刪除該任務(wù),并檢視下載任務(wù)列表是否為空,當(dāng)某個(gè)Git下載任務(wù)完成時(shí),在任務(wù)列表中將該Git任務(wù)刪除。
上述具體實(shí)施方式僅是本發(fā)明的具體個(gè)案,本發(fā)明的專利保護(hù)范圍包括但不限于上述具體實(shí)施方式,任何符合本發(fā)明的權(quán)利要求書的且任何所屬技術(shù)領(lǐng)域的普通技術(shù)人員對(duì)其所做的適當(dāng)變化或替換,皆應(yīng)落入本發(fā)明的專利保護(hù)范圍。