基于腳本的輔助業(yè)務實現(xiàn)方法
【專利摘要】本發(fā)明公開了一種基于腳本的輔助業(yè)務實現(xiàn)方法,包括:服務器讀入用于實現(xiàn)輔助業(yè)務的腳本文件;對所述腳本文件進行編譯,得到對應的匯編指令;當服務器需要調(diào)用所述腳本文件時,獲取所需參數(shù)并轉(zhuǎn)換為二進制數(shù)據(jù)塊并添加入腳本文件對應的匯編指令,得到目標代碼,并將目標代碼加鎖;服務器執(zhí)行加鎖后的目標代碼,獲取執(zhí)行后返回的二進制數(shù)據(jù)塊,并對加鎖的目標代碼解鎖;服務器讀入返回的二進制數(shù)據(jù)塊,并從中解析出目標代碼執(zhí)行后的結(jié)果;所述軟件系統(tǒng)根據(jù)執(zhí)行后的結(jié)果進行處理,從而實現(xiàn)輔助業(yè)務。本發(fā)明還公開了一種基于腳本的垃圾郵件處理的實現(xiàn)方法。本發(fā)明采用腳本實現(xiàn)軟件系統(tǒng)的輔助業(yè)務,可以在程序運行期間根據(jù)具體情況作動態(tài)調(diào)整。
【專利說明】
基于腳本的輔助業(yè)務實現(xiàn)方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及軟件處理【技術(shù)領(lǐng)域】,尤其涉及一種基于腳本的的輔助業(yè)務實現(xiàn)方法。
【背景技術(shù)】
[0002]反垃圾郵件系統(tǒng)是一種判定郵件是否為垃圾郵件并處理垃圾郵件的系統(tǒng)。反垃圾郵件系統(tǒng)為了判定一封未知郵件是否垃圾郵件,收集了相當多郵件有關(guān)的信息,包括發(fā)信IP是否命中黑白名單,發(fā)信IP的頻率,發(fā)信人的頻率,重復郵件出現(xiàn)次數(shù),郵件格式是否符合標準等信息。而反垃圾系統(tǒng)需要根據(jù)這些相關(guān)的信息最終確定郵件是否垃圾郵件。由于相關(guān)信息很多,所以最終需要編程,按照一定的邏輯判定郵件是否為垃圾郵件。由于很多信息之間互相沖突(比如一封郵件命中了 ip白名單,但是同時命中了發(fā)信人黑名單),所以這些邏輯不可能在程序上線的時候就確定,需要在程序運行期間根據(jù)具體情況作動態(tài)調(diào)整。但是為了保持反垃圾服務的高可用性,減少服務下線時間,所以這些邏輯不固化在程序中實現(xiàn),而是外掛在腳本中實現(xiàn)。這樣在程序運行期間,可以通過修改腳本來修改判定郵件是否垃圾郵件的邏輯,修改后只要重載腳本,即可應用新的邏輯,而無需重啟服務。
[0003]專利CN102707934A公開了一種以腳本形式表示增值業(yè)務流程的實現(xiàn)方法和系統(tǒng),均可根據(jù)語法規(guī)則及業(yè)務特性,將SIB按照業(yè)務邏輯進行封裝,生成腳本文件;對生成的所述腳本文件進行編譯解析,生成可加載執(zhí)行的業(yè)務邏輯文件。此發(fā)明是在經(jīng)過大量論證的基礎(chǔ)上,實現(xiàn)類C腳本化增值業(yè)務流程的表示方法。業(yè)務開發(fā)人員可以像編寫程序一樣,用類C腳本形式描述業(yè)務邏輯,大大提高了業(yè)務開發(fā)效率以及處理復雜、大型業(yè)務的能力,從而實現(xiàn)敏捷業(yè)務開發(fā)。但是此發(fā)明腳本使用類C腳本,而不是使用已經(jīng)廣泛使用的腳本編程語言,導致需要專門學習才可以開發(fā)對應的腳本。另外也不可以在不停機的情況下重新載入新的腳本,應用新的邏輯。
【發(fā)明內(nèi)容】
[0004]本發(fā)明所要解決的技術(shù)問題在于,提供一種采用腳本實現(xiàn)軟件系統(tǒng)的輔助業(yè)務的方法。
[0005]為解決以上技術(shù)問題,本發(fā)明提供了一種基于腳本的輔助業(yè)務實現(xiàn)方法,包括步驟:
[0006]服務器讀入用于實現(xiàn)軟件系統(tǒng)的輔助業(yè)務的腳本文件,其中,所述輔助業(yè)務用于輔助所述軟件系統(tǒng)進行數(shù)據(jù)處理;
[0007]采用腳本解釋器對所述腳本文件進行編譯,得到所述腳本文件對應的匯編指令;
[0008]當所述服務器需要調(diào)用所述腳本文件時,獲取所述腳本文件所需參數(shù)并轉(zhuǎn)換為二進制數(shù)據(jù)塊;
[0009]將所述腳本文件所需參數(shù)對應的二進制數(shù)據(jù)塊添加入所述腳本文件對應的匯編指令,得到可執(zhí)行的目標代碼,并將所述目標代碼加鎖;
[0010]所述服務器執(zhí)行加鎖后的目標代碼,獲取執(zhí)行后返回的二進制數(shù)據(jù)塊,并對所述加鎖的目標代碼解鎖;
[0011]所述服務器讀入所述返回的二進制數(shù)據(jù)塊,并從中解析出所述目標代碼執(zhí)行后的結(jié)果;
[0012]所述軟件系統(tǒng)根據(jù)所述執(zhí)行后的結(jié)果進行處理,從而實現(xiàn)輔助業(yè)務。
[0013]進一步的,所述軟件系統(tǒng)根據(jù)所述執(zhí)行后的結(jié)果進行處理,從而實現(xiàn)輔助業(yè)務,之后還包括步驟:
[0014]當腳本文件更新并形成新腳本文件時,所述服務器直接讀入所述新腳本文件;
[0015]所述服務器采用腳本解釋器對所述新腳本文件進行編譯,得到所述新腳本文件對應的目標代碼;
[0016]將所述新腳本文件對應的目標代碼加鎖,并將原目標代碼更新為所述新腳本文件對應的目標代碼,之后將所述新腳本文件對應的目標代碼解鎖;
[0017]當所述軟件系統(tǒng)需要實現(xiàn)輔助業(yè)務時,執(zhí)行所述新腳本文件對應的目標代碼。
[0018]本發(fā)明還提供了一種基于腳本的垃圾郵件處理的實現(xiàn)方法,包括步驟:
[0019]反垃圾郵件系統(tǒng)服務器讀入用于實現(xiàn)反垃圾郵件系統(tǒng)的垃圾郵件處理業(yè)務的腳本文件;
[0020]采用腳本解釋器對所述腳本文件進行編譯,得到所述腳本文件對應的匯編指令;
[0021]當所述反垃圾郵件系統(tǒng)服務器需要調(diào)用所述腳本文件時,獲取所述腳本文件所需參數(shù)并轉(zhuǎn)換為二進制數(shù)據(jù)塊;
[0022]將所述腳本文件所需參數(shù)對應的二進制數(shù)據(jù)塊添加入所述腳本文件對應的匯編指令,得到可執(zhí)行的目標代碼,并將所述目標代碼加鎖;
[0023]所述反垃圾郵件系統(tǒng)服務器執(zhí)行加鎖后的目標代碼,獲取執(zhí)行后返回的二進制數(shù)據(jù)塊,并對所述加鎖的目標代碼解鎖;
[0024]所述反垃圾郵件系統(tǒng)服務器讀入所述返回的二進制數(shù)據(jù)塊,并從中解析出所述目標代碼執(zhí)行后得到的郵件判定結(jié)果和對應的操作;
[0025]所述反垃圾郵件系統(tǒng)根據(jù)所述郵件判定結(jié)果,對判定為垃圾郵件的郵件按照所述對應的操作進行處理。
[0026]進一步的,所述反垃圾郵件系統(tǒng)根據(jù)所述郵件判定結(jié)果,對判定為垃圾郵件的郵件按照所述對應的操作進行處理,之后還包括步驟:
[0027]當腳本文件更新并形成新腳本文件時,所述反垃圾郵件系統(tǒng)服務器直接讀入所述新腳本文件;
[0028]所述反垃圾郵件系統(tǒng)服務器采用腳本解釋器對所述新腳本文件進行編譯,得到所述新腳本文件對應的目標代碼;
[0029]將所述新腳本文件對應的目標代碼加鎖,并將原目標代碼更新為所述新腳本文件對應的目標代碼,之后將所述新腳本文件對應的目標代碼解鎖;
[0030]當所述反垃圾郵件系統(tǒng)需要進行垃圾郵件處理時,執(zhí)行所述新腳本文件對應的目標代碼。
[0031]實施本發(fā)明,具有如下有益效果:
[0032]1、采用腳本實現(xiàn)軟件系統(tǒng)的輔助業(yè)務(例如垃圾郵件處理),可以在程序運行期間根據(jù)具體情況作動態(tài)調(diào)整。將輔助業(yè)務不固化在程序中實現(xiàn),而是外掛在腳本中實現(xiàn),具有高可用性,減少服務下線時間。
[0033]2、同時支持多種廣泛使用的腳本語言,并由服務器調(diào)用腳本并獲取腳本返回的處理結(jié)果。
[0034]3、在程序運行期間,可以修改腳本,修改后只要重載腳本,即可應用新的邏輯,而無需重啟服務。
【專利附圖】
【附圖說明】
[0035]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0036]圖1是本發(fā)明實施例1提供的基于腳本的輔助業(yè)務實現(xiàn)方法的流程示意圖;
[0037]圖2是本發(fā)明實施例2提供的基于腳本的輔助業(yè)務實現(xiàn)方法的流程示意圖;
[0038]圖3是本發(fā)明實施例3提供的基于腳本的垃圾郵件處理的實現(xiàn)方法的流程示意圖;
[0039]圖4是本發(fā)明實施例4提供的基于腳本的垃圾郵件處理的實現(xiàn)方法的流程示意圖。
【具體實施方式】
[0040]下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0041]圖1是本發(fā)明實施例1提供的基于腳本的輔助業(yè)務實現(xiàn)方法的流程示意圖,包括步驟:
[0042]S101、服務器讀入用于實現(xiàn)軟件系統(tǒng)的輔助業(yè)務的腳本文件。
[0043]其中,所述輔助業(yè)務用于輔助所述軟件系統(tǒng)進行數(shù)據(jù)處理,例如軟件系統(tǒng)的登錄驗證等功能腳本文件是程序員按照輔助業(yè)務要實現(xiàn)的功能所編寫的。所述腳本文件的編程語言為Iua或peri,但不限制這兩種語言。
[0044]S102、采用腳本解釋器對所述腳本文件進行編譯,得到所述腳本文件對應的匯編指令。
[0045]具體的,步驟S102具體包括步驟:采用腳本解釋器對所述腳本文件進行語法檢查,用于檢測所述腳本文件是否有語法錯誤;若所述腳本文件沒有語法錯誤,則采用所述腳本解釋器對所述腳本文件進行編譯,得到所述腳本文件對應的匯編指令。其中,腳本解釋器具體是可以是內(nèi)置的腳本解釋器。
[0046]S103、當所述服務器需要調(diào)用所述腳本文件時,獲取所述腳本文件所需參數(shù)并轉(zhuǎn)換為二進制數(shù)據(jù)塊。
[0047]具體的,步驟S103包括:當所述服務器需要調(diào)用所述腳本文件時,獲取所述腳本文件所需參數(shù)并按照腳本語言的協(xié)議轉(zhuǎn)換為二進制數(shù)據(jù)塊。
[0048]其中,輔助業(yè)務通常需要根據(jù)參數(shù)來進行處理,例如,垃圾郵件處理時,需要獲取郵件的IP地址作為參數(shù),以用于判定郵件的IP地址是否在黑名單或白名單,郵件是否在黑名單或白名單等。
[0049]S104、將所述腳本文件所需參數(shù)對應的二進制數(shù)據(jù)塊添加入所述腳本文件對應的匯編指令,得到可執(zhí)行的目標代碼,并將所述目標代碼加鎖。
[0050]其中,對目標代碼加鎖是避免在執(zhí)行期間有重載指令動作,造成沖突。計算機操作系統(tǒng)會提供加鎖調(diào)用接口。調(diào)用了加鎖操作之后,獲得鎖的線程能正常工作。而如果由于別的線程已經(jīng)獲得了鎖,則嘗試加鎖的線程將會阻塞進入操作系統(tǒng)的睡眠狀態(tài),讓別的線程先繼續(xù)執(zhí)行,直到鎖被釋放。
[0051]S105、所述服務器執(zhí)行加鎖后的目標代碼,獲取執(zhí)行后返回的二進制數(shù)據(jù)塊,并對所述加鎖的目標代碼解鎖。
[0052]S106、所述服務器讀入所述返回的二進制數(shù)據(jù)塊,并從中解析出所述目標代碼執(zhí)行后的結(jié)果。
[0053]S107、所述軟件系統(tǒng)根據(jù)所述執(zhí)行后的結(jié)果進行處理,從而實現(xiàn)輔助業(yè)務。
[0054]圖2是本發(fā)明實施例2提供的基于腳本的輔助業(yè)務實現(xiàn)方法的流程示意圖,包括步驟:
[0055]S201、服務器讀入用于實現(xiàn)軟件系統(tǒng)的輔助業(yè)務的腳本文件。
[0056]其中,所述輔助業(yè)務用于輔助所述軟件系統(tǒng)進行數(shù)據(jù)處理,腳本文件是程序員按照輔助業(yè)務要實現(xiàn)的功能所編寫的。所述腳本文件的編程語言為Iua或perl,但不限制這兩種語言。
[0057]S202、采用腳本解釋器對所述腳本文件進行編譯,得到所述腳本文件對應的匯編指令。
[0058]具體的,步驟S202具體包括步驟:采用腳本解釋器對所述腳本文件進行語法檢查,用于檢測所述腳本文件是否有語法錯誤;若所述腳本文件沒有語法錯誤,則采用所述腳本解釋器對所述腳本文件進行編譯,得到所述腳本文件對應的匯編指令。其中,腳本解釋器具體是可以是內(nèi)置的腳本解釋器。
[0059]S203、當所述服務器需要調(diào)用所述腳本文件時,獲取所述腳本文件所需參數(shù)并轉(zhuǎn)換為二進制數(shù)據(jù)塊。
[0060]具體的,步驟S203包括:當所述服務器需要調(diào)用所述腳本文件時,獲取所述腳本文件所需參數(shù)并按照腳本語言的協(xié)議轉(zhuǎn)換為二進制數(shù)據(jù)塊。
[0061]其中,輔助業(yè)務通常需要根據(jù)參數(shù)來進行處理,例如,垃圾郵件處理時,需要獲取郵件的IP地址作為參數(shù),以用于判定郵件的IP地址是否在黑名單或白名單,郵件是否在黑名單或白名單等。
[0062]S204、將所述腳本文件所需參數(shù)對應的二進制數(shù)據(jù)塊添加入所述腳本文件對應的匯編指令,得到可執(zhí)行的目標代碼,并將所述目標代碼加鎖。
[0063]其中,對目標代碼加鎖是避免在執(zhí)行期間有重載指令動作,造成沖突。計算機操作系統(tǒng)會提供加鎖調(diào)用接口。調(diào)用了加鎖操作之后,獲得鎖的線程能正常工作。而如果由于別的線程已經(jīng)獲得了鎖,則嘗試加鎖的線程將會阻塞進入操作系統(tǒng)的睡眠狀態(tài),讓別的線程先繼續(xù)執(zhí)行,直到鎖被釋放。
[0064]S205、所述服務器執(zhí)行加鎖后的目標代碼,獲取執(zhí)行后返回的二進制數(shù)據(jù)塊,并對所述加鎖的目標代碼解鎖。
[0065]S206、所述服務器讀入所述返回的二進制數(shù)據(jù)塊,并從中解析出所述目標代碼執(zhí)行后的結(jié)果。
[0066]S207、所述軟件系統(tǒng)根據(jù)所述執(zhí)行后的結(jié)果進行處理,從而實現(xiàn)輔助業(yè)務。
[0067]S208、當腳本文件更新并形成新腳本文件時,所述服務器直接讀入所述新腳本文件;
[0068]S209、所述服務器采用腳本解釋器對所述新腳本文件進行編譯,得到所述新腳本文件對應的目標代碼;
[0069]S210、將所述新腳本文件對應的目標代碼加鎖,并將原目標代碼更新為所述新腳本文件對應的目標代碼,之后將所述新腳本文件對應的目標代碼解鎖;
[0070]S211、當所述軟件系統(tǒng)需要實現(xiàn)輔助業(yè)務時,執(zhí)行所述新腳本文件對應的目標代碼。
[0071]圖3是本發(fā)明實施例3提供的基于腳本的垃圾郵件處理的實現(xiàn)方法的流程示意圖,包括步驟:
[0072]S301、反垃圾郵件系統(tǒng)服務器讀入用于實現(xiàn)反垃圾郵件系統(tǒng)的垃圾郵件處理業(yè)務的腳本文件。
[0073]其中,腳本文件是程序員按照輔助業(yè)務要實現(xiàn)的功能所編寫的。所述腳本文件的編程語言為Iua或peri,但不限制這兩種語言。
[0074]S302、采用腳本解釋器對所述腳本文件進行編譯,得到所述腳本文件對應的匯編指令。
[0075]具體的,步驟S302具體包括步驟:采用腳本解釋器對所述腳本文件進行語法檢查,用于檢測所述腳本文件是否有語法錯誤;若所述腳本文件沒有語法錯誤,則采用所述腳本解釋器對所述腳本文件進行編譯,得到所述腳本文件對應的匯編指令。其中,腳本解釋器具體是可以是內(nèi)置的腳本解釋器。
[0076]S303、當所述反垃圾郵件系統(tǒng)服務器需要調(diào)用所述腳本文件時,獲取所述腳本文件所需參數(shù)并轉(zhuǎn)換為二進制數(shù)據(jù)塊。
[0077]具體的,步驟S303包括:當所述反垃圾郵件系統(tǒng)服務器需要調(diào)用所述腳本文件時,獲取所述腳本文件所需參數(shù)并按照腳本語言的協(xié)議轉(zhuǎn)換為二進制數(shù)據(jù)塊。
[0078]其中,所述腳本文件所需參數(shù)是一些對郵件最終怎么處理有用的信息(包括但不限于是否命中了管理員設(shè)置的規(guī)則,郵件是否在用戶的白名單中,郵件是否在用戶的地址本中,反垃圾系統(tǒng)算法對郵件的判定結(jié)果,收信人是否和發(fā)信人曾經(jīng)有過通訊關(guān)系,發(fā)信人在過去一段時間的發(fā)信量,發(fā)信域名在過去一段時間的發(fā)信量等),這些信息都能影響郵件最終如何處理,但是有可能需要經(jīng)常的修改以便更好的平衡過濾垃圾郵件和避免誤判正常郵件。
[0079]S304、將所述腳本文件所需參數(shù)對應的二進制數(shù)據(jù)塊添加入所述腳本文件對應的匯編指令,得到可執(zhí)行的目標代碼,并將所述目標代碼加鎖。
[0080]其中,對目標代碼加鎖是避免在執(zhí)行期間有重載指令動作,造成沖突。計算機操作系統(tǒng)會提供加鎖調(diào)用接口。調(diào)用了加鎖操作之后,獲得鎖的線程能正常工作。而如果由于別的線程已經(jīng)獲得了鎖,則嘗試加鎖的線程將會阻塞進入操作系統(tǒng)的睡眠狀態(tài),讓別的線程先繼續(xù)執(zhí)行,直到鎖被釋放。
[0081]S305、所述反垃圾郵件系統(tǒng)服務器執(zhí)行加鎖后的目標代碼,獲取執(zhí)行后返回的二進制數(shù)據(jù)塊,并對所述加鎖的目標代碼解鎖。
[0082]S306、所述反垃圾郵件系統(tǒng)服務器讀入所述返回的二進制數(shù)據(jù)塊,并從中解析出所述目標代碼執(zhí)行后得到的郵件判定結(jié)果和對應的操作。
[0083]S307、所述反垃圾郵件系統(tǒng)根據(jù)所述郵件判定結(jié)果,對判定為垃圾郵件的郵件按照所述對應的操作進行處理。
[0084]其中,郵件判定結(jié)果具體是返回的是郵件是否垃圾郵件,對應的操作是對郵件如何處理的操作結(jié)果(包括但不限于退信,丟棄,保存到垃圾郵件文件夾,保存到廣告文件夾,轉(zhuǎn)發(fā)到指定郵箱,轉(zhuǎn)發(fā)到指定郵箱并丟棄原郵件)。
[0085]圖4是本發(fā)明實施例4提供的基于腳本的垃圾郵件處理的實現(xiàn)方法的流程示意圖,包括步驟:
[0086]S401、反垃圾郵件系統(tǒng)服務器讀入用于實現(xiàn)反垃圾郵件系統(tǒng)的垃圾郵件處理業(yè)務的腳本文件。
[0087]其中,腳本文件是程序員按照輔助業(yè)務要實現(xiàn)的功能所編寫的。所述腳本文件的編程語言為Iua或peri,但不限制這兩種語言。
[0088]S402、采用腳本解釋器對所述腳本文件進行編譯,得到所述腳本文件對應的匯編指令.
[0089]具體的,步驟S402具體包括步驟:采用腳本解釋器對所述腳本文件進行語法檢查,用于檢測所述腳本文件是否有語法錯誤;若所述腳本文件沒有語法錯誤,則采用所述腳本解釋器對所述腳本文件進行編譯,得到所述腳本文件對應的匯編指令。其中,腳本解釋器具體是可以是內(nèi)置的腳本解釋器。
[0090]S403、當所述反垃圾郵件系統(tǒng)服務器需要調(diào)用所述腳本文件時,獲取所述腳本文件所需參數(shù)并轉(zhuǎn)換為二進制數(shù)據(jù)塊。
[0091]具體的,步驟S403包括:當所述反垃圾郵件系統(tǒng)服務器需要調(diào)用所述腳本文件時,獲取所述腳本文件所需參數(shù)并按照腳本語言的協(xié)議轉(zhuǎn)換為二進制數(shù)據(jù)塊。
[0092]其中,所述腳本文件所需參數(shù)是一些對郵件最終怎么處理有用的信息(包括但不限于是否命中了管理員設(shè)置的規(guī)則,郵件是否在用戶的白名單中,郵件是否在用戶的地址本中,反垃圾系統(tǒng)算法對郵件的判定結(jié)果,收信人是否和發(fā)信人曾經(jīng)有過通訊關(guān)系,發(fā)信人在過去一段時間的發(fā)信量,發(fā)信域名在過去一段時間的發(fā)信量等),這些信息都能影響郵件最終如何處理,但是有可能需要經(jīng)常的修改以便更好的平衡過濾垃圾郵件和避免誤判正常郵件。
[0093]S404、將所述腳本文件所需參數(shù)對應的二進制數(shù)據(jù)塊添加入所述腳本文件對應的匯編指令,得到可執(zhí)行的目標代碼,并將所述目標代碼加鎖。
[0094]其中,對目標代碼加鎖是避免在執(zhí)行期間有重載指令動作,造成沖突。計算機操作系統(tǒng)會提供加鎖調(diào)用接口。調(diào)用了加鎖操作之后,獲得鎖的線程能正常工作。而如果由于別的線程已經(jīng)獲得了鎖,則嘗試加鎖的線程將會阻塞進入操作系統(tǒng)的睡眠狀態(tài),讓別的線程先繼續(xù)執(zhí)行,直到鎖被釋放。
[0095]S405、所述反垃圾郵件系統(tǒng)服務器執(zhí)行加鎖后的目標代碼,獲取執(zhí)行后返回的二進制數(shù)據(jù)塊,并對所述加鎖的目標代碼解鎖。
[0096]S406、所述反垃圾郵件系統(tǒng)服務器讀入所述返回的二進制數(shù)據(jù)塊,并從中解析出所述目標代碼執(zhí)行后得到的郵件判定結(jié)果和對應的操作。
[0097]S407、所述反垃圾郵件系統(tǒng)根據(jù)所述郵件判定結(jié)果,對判定為垃圾郵件的郵件按照所述對應的操作進行處理。
[0098]其中,郵件判定結(jié)果具體是返回的是郵件是否垃圾郵件,對應的操作是對郵件如何處理的操作結(jié)果(包括但不限于退信,丟棄,保存到垃圾郵件文件夾,保存到廣告文件夾,轉(zhuǎn)發(fā)到指定郵箱,轉(zhuǎn)發(fā)到指定郵箱并丟棄原郵件)。
[0099]S408、當腳本文件更新并形成新腳本文件時,所述反垃圾郵件系統(tǒng)服務器直接讀入所述新腳本文件。
[0100]S409、所述反垃圾郵件系統(tǒng)服務器采用腳本解釋器對所述新腳本文件進行編譯,得到所述新腳本文件對應的目標代碼。
[0101]S410、將所述新腳本文件對應的目標代碼加鎖,并將原目標代碼更新為所述新腳本文件對應的目標代碼,之后將所述新腳本文件對應的目標代碼解鎖。
[0102]S411、當所述反垃圾郵件系統(tǒng)需要進行垃圾郵件處理時,執(zhí)行所述新腳本文件對應的目標代碼。
[0103]實施本發(fā)明,具有如下有益效果:
[0104]1、采用腳本實現(xiàn)軟件系統(tǒng)的輔助業(yè)務(例如垃圾郵件處理),可以在程序運行期間根據(jù)具體情況作動態(tài)調(diào)整。將輔助業(yè)務不固化在程序中實現(xiàn),而是外掛在腳本中實現(xiàn),具有高可用性,減少服務下線時間。
[0105]2、同時支持多種廣泛使用的腳本語言,并由服務器調(diào)用腳本并獲取腳本返回的處理結(jié)果。
[0106]3、在程序運行期間,可以修改腳本,修改后只要重載腳本,即可應用新的邏輯,而無需重啟服務。
[0107]需要說明的是,在本文中,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者裝置不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者裝置所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括該要素的過程、方法、物品或者裝置中還存在另外的相同要素。
[0108]上述本發(fā)明實施例序號僅僅為了描述,不代表實施例的優(yōu)劣。
[0109]專業(yè)人員還可以進一步意識到,結(jié)合本文中所公開的實施例描述的各示例的單元及算法步驟,能夠以電子硬件、計算機軟件或者二者的結(jié)合來實現(xiàn),為了清楚地說明硬件和軟件的可互換性,在上述說明中已經(jīng)按照功能一般性地描述了各示例的組成及步驟。這些功能宄竟以硬件還是軟件方式來執(zhí)行,取決于技術(shù)方案的特定應用和設(shè)計約束條件。專業(yè)技術(shù)人員可以對每個特定的應用來使用不同方法來實現(xiàn)所描述的功能,但是這種實現(xiàn)不應認為超出本發(fā)明的范圍。
[0110]結(jié)合本文中所公開的實施例描述的方法或算法的步驟可以直接用硬件、處理器執(zhí)行的軟件模塊,或者二者的結(jié)合來實施。軟件模塊可以置于隨機存儲器(RAM)、內(nèi)存、只讀存儲器(ROM)、電可編程ROM、電可擦除可編程ROM、寄存器、硬盤、可移動磁盤、CD-ROM、或【技術(shù)領(lǐng)域】內(nèi)所公知的任意其它形式的存儲介質(zhì)中。
[0111]對所公開的實施例的上述說明,使本領(lǐng)域?qū)I(yè)技術(shù)人員能夠?qū)崿F(xiàn)或使用本發(fā)明。對這些實施例的多種修改對本領(lǐng)域的專業(yè)技術(shù)人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其它實施例中實現(xiàn)。因此,本發(fā)明將不會被限制于本文所示的這些實施例,而是要符合與本文所公開的原理和新穎特點相一致的最寬的范圍。
【權(quán)利要求】
1.一種基于腳本的輔助業(yè)務實現(xiàn)方法,其特征在于,包括步驟: 服務器讀入用于實現(xiàn)軟件系統(tǒng)的輔助業(yè)務的腳本文件,其中,所述輔助業(yè)務用于輔助所述軟件系統(tǒng)進行數(shù)據(jù)處理; 采用腳本解釋器對所述腳本文件進行編譯,得到所述腳本文件對應的匯編指令; 當所述服務器需要調(diào)用所述腳本文件時,獲取所述腳本文件所需參數(shù)并轉(zhuǎn)換為二進制數(shù)據(jù)塊; 將所述腳本文件所需參數(shù)對應的二進制數(shù)據(jù)塊添加入所述腳本文件對應的匯編指令,得到可執(zhí)行的目標代碼,并將所述目標代碼加鎖; 所述服務器執(zhí)行加鎖后的目標代碼,獲取執(zhí)行后返回的二進制數(shù)據(jù)塊,并對所述加鎖的目標代碼解鎖; 所述服務器讀入所述返回的二進制數(shù)據(jù)塊,并從中解析出所述目標代碼執(zhí)行后的結(jié)果; 所述軟件系統(tǒng)根據(jù)所述執(zhí)行后的結(jié)果進行處理,從而實現(xiàn)輔助業(yè)務。
2.如權(quán)利要求1所述的基于腳本的輔助業(yè)務實現(xiàn)方法,其特征在于,所述軟件系統(tǒng)根據(jù)所述執(zhí)行后的結(jié)果進行處理,從而實現(xiàn)輔助業(yè)務,之后還包括步驟: 當腳本文件更新并形成新腳本文件時,所述服務器直接讀入所述新腳本文件; 所述服務器采用腳本解釋器對所述新腳本文件進行編譯,得到所述新腳本文件對應的目標代碼; 將所述新腳本文件對應的目標代碼加鎖,并將原目標代碼更新為所述新腳本文件對應的目標代碼,之后將所述新腳本文件對應的目標代碼解鎖; 當所述軟件系統(tǒng)需要實現(xiàn)輔助業(yè)務時,執(zhí)行所述新腳本文件對應的目標代碼。
3.如權(quán)利要求1或2所述的基于腳本的輔助業(yè)務實現(xiàn)方法,其特征在于,所述采用腳本解釋器對所述腳本文件進行編譯,得到所述腳本文件對應的匯編指令,包括步驟: 采用腳本解釋器對所述腳本文件進行語法檢查,用于檢測所述腳本文件是否有語法錯誤; 若所述腳本文件沒有語法錯誤,則采用所述腳本解釋器對所述腳本文件進行編譯,得到所述腳本文件對應的匯編指令。
4.如權(quán)利要求1或2所述的基于腳本的輔助業(yè)務實現(xiàn)方法,其特征在于,所述當所述服務器需要調(diào)用所述腳本文件時,獲取所述腳本文件所需參數(shù)并轉(zhuǎn)換為二進制數(shù)據(jù)塊,包括步驟: 當所述服務器需要調(diào)用所述腳本文件時,獲取所述腳本文件所需參數(shù)并按照腳本語言的協(xié)議轉(zhuǎn)換為二進制數(shù)據(jù)塊。
5.如權(quán)利要求1或2所述的基于腳本的輔助業(yè)務實現(xiàn)方法,其特征在于,所述腳本文件的編程語言為Iua或peri。
6.一種基于腳本的垃圾郵件處理的實現(xiàn)方法,其特征在于,包括步驟: 反垃圾郵件系統(tǒng)服務器讀入用于實現(xiàn)反垃圾郵件系統(tǒng)的垃圾郵件處理業(yè)務的腳本文件; 采用腳本解釋器對所述腳本文件進行編譯,得到所述腳本文件對應的匯編指令; 當所述反垃圾郵件系統(tǒng)服務器需要調(diào)用所述腳本文件時,獲取所述腳本文件所需參數(shù)并轉(zhuǎn)換為二進制數(shù)據(jù)塊; 將所述腳本文件所需參數(shù)對應的二進制數(shù)據(jù)塊添加入所述腳本文件對應的匯編指令,得到可執(zhí)行的目標代碼,并將所述目標代碼加鎖; 所述反垃圾郵件系統(tǒng)服務器執(zhí)行加鎖后的目標代碼,獲取執(zhí)行后返回的二進制數(shù)據(jù)塊,并對所述加鎖的目標代碼解鎖; 所述反垃圾郵件系統(tǒng)服務器讀入所述返回的二進制數(shù)據(jù)塊,并從中解析出所述目標代碼執(zhí)行后得到的郵件判定結(jié)果和對應的操作; 所述反垃圾郵件系統(tǒng)根據(jù)所述郵件判定結(jié)果,對判定為垃圾郵件的郵件按照所述對應的操作進行處理。
7.如權(quán)利要求6所述的基于腳本的垃圾郵件處理的實現(xiàn)方法,其特征在于,所述反垃圾郵件系統(tǒng)根據(jù)所述郵件判定結(jié)果,對判定為垃圾郵件的郵件按照所述對應的操作進行處理,之后還包括步驟: 當腳本文件更新并形成新腳本文件時,所述反垃圾郵件系統(tǒng)服務器直接讀入所述新腳本文件; 所述反垃圾郵件系統(tǒng)服務器采用腳本解釋器對所述新腳本文件進行編譯,得到所述新腳本文件對應的目標代碼; 將所述新腳本文件對應的目標代碼加鎖,并將原目標代碼更新為所述新腳本文件對應的目標代碼,之后將所述新腳本文件對應的目標代碼解鎖; 當所述反垃圾郵件系統(tǒng)需要進行垃圾郵件處理時,執(zhí)行所述新腳本文件對應的目標代碼。
8.如權(quán)利要求6或7所述的基于腳本的垃圾郵件處理的實現(xiàn)方法,其特征在于,所述采用腳本解釋器對所述腳本文件進行編譯,得到所述腳本文件對應的匯編指令,包括步驟: 采用腳本解釋器對所述腳本文件進行語法檢查,用于檢測所述腳本文件是否有語法錯誤; 若所述腳本文件沒有語法錯誤,則采用所述腳本解釋器對所述腳本文件進行編譯,得到所述腳本文件對應的匯編指令。
9.如權(quán)利要求6或7所述的基于腳本的垃圾郵件處理的實現(xiàn)方法,其特征在于,所述當所述反垃圾郵件系統(tǒng)服務器需要調(diào)用所述腳本文件時,獲取所述腳本文件所需參數(shù)并轉(zhuǎn)換為二進制數(shù)據(jù)塊,包括步驟: 當所述反垃圾郵件系統(tǒng)服務器需要調(diào)用所述腳本文件時,獲取所述腳本文件所需參數(shù)并按照腳本語言的協(xié)議轉(zhuǎn)換為二進制數(shù)據(jù)塊。
10.如權(quán)利要求6或7所述的基于腳本的垃圾郵件處理的實現(xiàn)方法,其特征在于,所述腳本文件的編程語言為Iua或peri。
【文檔編號】G06F9/44GK104461522SQ201410696651
【公開日】2015年3月25日 申請日期:2014年11月26日 優(yōu)先權(quán)日:2014年11月26日
【發(fā)明者】潘慶峰 申請人:盈世信息科技(北京)有限公司