演示軟件自動(dòng)化服務(wù)的制作方法
【專(zhuān)利摘要】本發(fā)明公開(kāi)了用于執(zhí)行自動(dòng)化服務(wù)的實(shí)施例。在各實(shí)施例中,自動(dòng)化服務(wù)是能夠把初始文件轉(zhuǎn)換成與初始文件具有不同文件類(lèi)型的經(jīng)轉(zhuǎn)換的文件的應(yīng)用、過(guò)程或系統(tǒng)。在實(shí)施例中,請(qǐng)求者生成轉(zhuǎn)換請(qǐng)求消息。轉(zhuǎn)換請(qǐng)求消息可以包含與期望的轉(zhuǎn)換、轉(zhuǎn)換期間要執(zhí)行的選項(xiàng)和要轉(zhuǎn)換的初始文件有關(guān)的信息。可以用作為請(qǐng)求消息一部分的數(shù)據(jù)流來(lái)表示初始文件。請(qǐng)求消息被發(fā)送到文件轉(zhuǎn)換器,該文件轉(zhuǎn)換器對(duì)數(shù)據(jù)流執(zhí)行期望的請(qǐng)求以創(chuàng)建經(jīng)轉(zhuǎn)換的文件。
【專(zhuān)利說(shuō)明】演示軟件自動(dòng)化服務(wù)
[0001]背景
[0002]一些演示應(yīng)用向用戶提供了把演示文件類(lèi)型轉(zhuǎn)換成不同文件類(lèi)型的選項(xiàng)。為了使用這個(gè)選項(xiàng),用戶不得不使用演示應(yīng)用單獨(dú)地打開(kāi)并轉(zhuǎn)換每個(gè)文件。但是,存在用戶期望把大量演示文件轉(zhuǎn)換成不同文件格式的情形。這在其中公司想要把大量存儲(chǔ)的演示轉(zhuǎn)換成不同文件格式的商業(yè)環(huán)境中尤其成立。在這些情形中,使用由演示應(yīng)用提供的轉(zhuǎn)換選項(xiàng)來(lái)轉(zhuǎn)換大量的演示文件是沒(méi)有效率的。本發(fā)明的各實(shí)施例正是對(duì)于這一一般環(huán)境而構(gòu)想的。
[0003]雖然本【背景技術(shù)】中著眼于特定的問(wèn)題,但本發(fā)明決不旨在限于解決那些特定問(wèn)題。
[0004]概述
[0005]公開(kāi)了用于執(zhí)行自動(dòng)化服務(wù)的實(shí)施例。在各實(shí)施例中,自動(dòng)化服務(wù)是能夠把初始文件轉(zhuǎn)換成與初始文件具有不同文件類(lèi)型的經(jīng)轉(zhuǎn)換的文件的應(yīng)用、過(guò)程或系統(tǒng)。例如,可以采用自動(dòng)化服務(wù)把諸如POWERPOINT ΤΜ(.PPt)文件或/和開(kāi)放辦公室(Open Office) XML演示文件(.PPtx)的演示文件轉(zhuǎn)換成經(jīng)轉(zhuǎn)換的文件(例如,PDF文件,XPS文件,JPEG文件,PNG文件,或者任何其他類(lèi)型的文件)。
[0006]在實(shí)施例中,請(qǐng)求者生成轉(zhuǎn)換請(qǐng)求消息。轉(zhuǎn)換請(qǐng)求消息可以包含與期望的轉(zhuǎn)換、轉(zhuǎn)換期間要執(zhí)行的選項(xiàng)和要轉(zhuǎn)換的初始文件有關(guān)的信息??梢杂米鳛檎?qǐng)求消息一部分的數(shù)據(jù)流來(lái)表示初始文件。請(qǐng)求消息被發(fā)送到文件轉(zhuǎn)換器,該文件轉(zhuǎn)換器對(duì)數(shù)據(jù)流執(zhí)行期望的請(qǐng)求以創(chuàng)建經(jīng)轉(zhuǎn)換的文件。經(jīng)轉(zhuǎn)換的文件隨后被返回給請(qǐng)求者。在附加實(shí)施例中,文件轉(zhuǎn)換器可以排定各請(qǐng)求的優(yōu)先級(jí)。例如,文件轉(zhuǎn)換器可以將單個(gè)文件轉(zhuǎn)換請(qǐng)求的優(yōu)先級(jí)排定在轉(zhuǎn)換批處理文件的請(qǐng)求之上。
[0007]提供本概述是為了以簡(jiǎn)化的形式介紹將在以下詳細(xì)描述中進(jìn)一步描述的一些概念。本概述并不旨在標(biāo)識(shí)出所要求保護(hù)的主題的關(guān)鍵特征或必要特征,也不旨在用于限定所要求保護(hù)的主題的范圍。
【專(zhuān)利附圖】
【附圖說(shuō)明】
[0008]在所有的圖中,相同標(biāo)號(hào)表示相同元素或相同類(lèi)型的元素。
[0009]圖1示出了用于執(zhí)行自動(dòng)化服務(wù)的系統(tǒng)100的實(shí)施例。
[0010]圖2是表示用于生成并發(fā)送自動(dòng)化請(qǐng)求的方法200的實(shí)施例的流程圖。
[0011]圖3是表示對(duì)自動(dòng)化請(qǐng)求作出響應(yīng)的方法300的實(shí)施例的流程圖。
[0012]圖4是表示用于處理多個(gè)自動(dòng)化請(qǐng)求的方法400的實(shí)施例的流程圖。
[0013]圖5示出用于實(shí)現(xiàn)本文公開(kāi)的各方法的計(jì)算機(jī)環(huán)境和計(jì)算機(jī)系統(tǒng)500的實(shí)施例。
【具體實(shí)施方式】
[0014]本發(fā)明現(xiàn)將參考其中示出了一些可能的實(shí)施例的附圖來(lái)更完整地描述各示例性實(shí)施例。然而,其他方面能以許多不同的形式來(lái)實(shí)現(xiàn),并且在本發(fā)明中包括各具體實(shí)施例不應(yīng)被解釋為將這些方面限于在此闡明的各實(shí)施例。相反,包括附圖中描繪的各實(shí)施例是為了提供全面和完整且將預(yù)期的范圍完全地傳達(dá)給本領(lǐng)域技術(shù)人員的公開(kāi)。在參考附圖時(shí),使用相同的附圖標(biāo)記來(lái)指示所有附圖所示的相同的結(jié)構(gòu)和元素。
[0015]公開(kāi)了用于執(zhí)行自動(dòng)化服務(wù)的系統(tǒng)和方法的實(shí)施例。自動(dòng)化服務(wù)是能夠把初始文件轉(zhuǎn)換成具有與初始文件不同文件類(lèi)型的經(jīng)轉(zhuǎn)換的文件的應(yīng)用、過(guò)程或系統(tǒng)。例如,可以采用自動(dòng)化服務(wù)把諸如POWERPOINT TM (.ppt)文件或/和開(kāi)放辦公室(Open Office)XML演示文件(.PPtx)的演示文件轉(zhuǎn)換成經(jīng)轉(zhuǎn)換的文件(例如,PDF文件,XPS文件,JPEG文件,PNG文件,或者任何其他類(lèi)型的不同文件)。
[0016]在實(shí)施例中,請(qǐng)求者生成轉(zhuǎn)換請(qǐng)求消息。轉(zhuǎn)換請(qǐng)求消息可以包含與期望的轉(zhuǎn)換、轉(zhuǎn)換期間要執(zhí)行的選項(xiàng)和要轉(zhuǎn)換的初始文件有關(guān)的信息??梢杂米鳛檎?qǐng)求消息一部分的數(shù)據(jù)流來(lái)表示初始文件。請(qǐng)求消息被發(fā)送到文件轉(zhuǎn)換器,該文件轉(zhuǎn)換器對(duì)數(shù)據(jù)流執(zhí)行轉(zhuǎn)換請(qǐng)求以創(chuàng)建經(jīng)轉(zhuǎn)換的文件。經(jīng)轉(zhuǎn)換的文件隨后被返回給請(qǐng)求者。在附加實(shí)施例中,文件轉(zhuǎn)換器排定各請(qǐng)求的優(yōu)先級(jí)。例如,文件轉(zhuǎn)換器可以將單個(gè)文件轉(zhuǎn)換請(qǐng)求的優(yōu)先級(jí)排定在轉(zhuǎn)換批處理文件的請(qǐng)求之上。
[0017]例如,本文公開(kāi)的系統(tǒng)和方法可以被用來(lái)把演示文件(例如,開(kāi)放辦公室XML演示(.pptx)文件,POWERPOINT TM演示(.ppt)文件或任何其他類(lèi)型的演示文件)轉(zhuǎn)換成具有不同文件類(lèi)型的經(jīng)轉(zhuǎn)換的文件。在實(shí)施例中,經(jīng)轉(zhuǎn)換的文件類(lèi)型是除原始文件類(lèi)型之外的文件類(lèi)型。例如,經(jīng)轉(zhuǎn)換的文件類(lèi)型可以是但不受限于是以下文件類(lèi)型中的一種:開(kāi)放辦公室XML演示(.pptx)文件、POWERPOINT TM演示(.ppt)文件、便攜文檔格式(.pdf)文件、XML頁(yè)面規(guī)范(.xps)文件、JPEG (.jpg)文件,和/或便攜網(wǎng)絡(luò)圖形(.png)文件。在某些實(shí)施例中,在把演示文件轉(zhuǎn)換成諸如.jpg文件或.png文件的圖像文件時(shí),可以為該演示的每張幻燈片或頁(yè)面生成單獨(dú)圖像。在一些實(shí)施例中,這些單獨(dú)文件隨后可被一起分組在一個(gè)壓縮文件(例如,zip文件、tar文件、.gz文件、.7z文件或任何其他類(lèi)型的壓縮文件)中。
[0018]現(xiàn)在參考附圖,圖1示出了用于執(zhí)行自動(dòng)化服務(wù)的系統(tǒng)100的實(shí)施例。在實(shí)施例中,自動(dòng)化服務(wù)是把初始文件轉(zhuǎn)換成具有不同文件類(lèi)型的經(jīng)轉(zhuǎn)換的文件的服務(wù)。系統(tǒng)100可以是聯(lián)網(wǎng)系統(tǒng)、諸如但不限于諸如微軟TM SHAREP0INT TM的平臺(tái)的web服務(wù)平臺(tái)或者任何其他類(lèi)型的計(jì)算機(jī)環(huán)境的一部分。在實(shí)施例中,系統(tǒng)包括前端服務(wù)器101和后端服務(wù)器108。前端服務(wù)器101可以包括公共對(duì)象模型(“公共0M”)102,該公共對(duì)象模型102提供用于生成文件轉(zhuǎn)換請(qǐng)求(諸如,舉例而言轉(zhuǎn)換演示文件的請(qǐng)求)的邏輯。在實(shí)施例中,公共0M102是請(qǐng)求者(例如,用戶、開(kāi)發(fā)者、應(yīng)用、過(guò)程等)可用以創(chuàng)建文件轉(zhuǎn)換請(qǐng)求的應(yīng)用編程接口(“API”)。例如,在一個(gè)實(shí)施例中,公共0M102提供用于請(qǐng)求文件轉(zhuǎn)換的類(lèi)屬方法。在此類(lèi)實(shí)施例中,無(wú)論最終創(chuàng)建了什么類(lèi)型的經(jīng)轉(zhuǎn)換的文件,都可調(diào)用該類(lèi)屬方法。在其他實(shí)施例中,公共0M102可以為每一類(lèi)型的期望的經(jīng)轉(zhuǎn)換的文件類(lèi)型提供專(zhuān)用轉(zhuǎn)換方法。例如,公共0M102可以提供把演示文件轉(zhuǎn)換成.pdf文件的專(zhuān)用方法,把演示文件轉(zhuǎn)換成.jpg文件的不同方法,等等。在此類(lèi)實(shí)施例中,公共0M102可以為每種文件類(lèi)型轉(zhuǎn)換展示不同的方法。
[0019]在實(shí)施例中,所提供的生成文件轉(zhuǎn)換請(qǐng)求的各方法可以接受輸入?yún)?shù)。例如,各方法可以將諸如演示文件的文件作為輸入?yún)?shù)來(lái)接受。在一個(gè)實(shí)施例中,將該文件本身作為方法的輸入來(lái)提供。例如,可以向該方法提供到要轉(zhuǎn)換的初始文件的路徑。在這種情況下,該方法可以隨后使用路徑信息來(lái)訪問(wèn)文件。在其他實(shí)施例中,該方法可以接收表示初始文件的數(shù)據(jù)流。使用數(shù)據(jù)流為文件轉(zhuǎn)換自動(dòng)化服務(wù)提供額外效率。如果將初始文件作為流來(lái)提供,則允許自動(dòng)化服務(wù)對(duì)該數(shù)據(jù)流執(zhí)行文件轉(zhuǎn)換,而不必分配存儲(chǔ)器來(lái)存儲(chǔ)初始文件和經(jīng)轉(zhuǎn)換的文件。在轉(zhuǎn)換該流后,自動(dòng)化服務(wù)可把經(jīng)轉(zhuǎn)換的文件以數(shù)據(jù)流的形式傳遞回請(qǐng)求者。
[0020]在實(shí)施例中,公共0M102取決于輸入中所提供的文件數(shù)目來(lái)接受輸入路徑或流。例如,可以將單個(gè)文件作為輸入路徑或流來(lái)提供。但是,可以向整個(gè)文件夾或網(wǎng)絡(luò)列表(諸如但不限于SHAREP0INT TM列表)、這樣的對(duì)象分組提供路徑數(shù)據(jù),該路徑數(shù)據(jù)提供初始文件的位置和用以寫(xiě)經(jīng)轉(zhuǎn)換的文件的位置。在其他實(shí)施例中,諸如在公共0M102提供如上所述的類(lèi)屬轉(zhuǎn)換方法時(shí),該方法還以例如指示請(qǐng)求者所期望的文件轉(zhuǎn)換類(lèi)型的參數(shù)的形式接收信息。
[0021]在又一實(shí)施例中,公共0M102所提供的方法接收有關(guān)轉(zhuǎn)換選項(xiàng)的信息。例如,取決于所請(qǐng)求的經(jīng)轉(zhuǎn)換的文件的類(lèi)型,請(qǐng)求者可以指示自動(dòng)化服務(wù)可在轉(zhuǎn)換過(guò)程期間執(zhí)行附加動(dòng)作。例如,在請(qǐng)求者請(qǐng)求將演示文件轉(zhuǎn)換成圖像或一系列圖像的實(shí)施例中,請(qǐng)求者可以指定圖像的尺寸、圖像的分辨率或任何數(shù)量的其他與圖像相關(guān)的選項(xiàng)。在請(qǐng)求者請(qǐng)求將演示文件轉(zhuǎn)換成.Pdf文件的另一實(shí)施例中,請(qǐng)求者可以請(qǐng)求每頁(yè)的幻燈片數(shù)目,是否將來(lái)自演示文件的注解包括在經(jīng)轉(zhuǎn)換的.Pdf文件或.xpS文件中,經(jīng)轉(zhuǎn)換的文件是否是PDF/A格式,所得到的經(jīng)轉(zhuǎn)換的文件是否是使用標(biāo)準(zhǔn)質(zhì)量或高質(zhì)量創(chuàng)建的,是否包括隱藏幻燈片,是否給幻燈片加框,或者在創(chuàng)建.Pdf文件時(shí)常采用的任何其他類(lèi)型的說(shuō)明或選項(xiàng)。在其他實(shí)施例中,方法可以接收有關(guān)包括或去除元數(shù)據(jù)的選項(xiàng),有關(guān)經(jīng)轉(zhuǎn)換的文件是否被壓縮的選項(xiàng),或者在創(chuàng)建某種類(lèi)型的文件時(shí)所提供的任何其他類(lèi)型的選項(xiàng)。
[0022]自動(dòng)化服務(wù)還可以提供請(qǐng)求者可以使用來(lái)在文件轉(zhuǎn)換期間將某些數(shù)據(jù)從諸如演示文件的文件中去除的文檔檢查選項(xiàng)。在實(shí)施例中,自動(dòng)化服務(wù)可以提供自動(dòng)化去除信息的選項(xiàng)。例如,自動(dòng)化服務(wù)可以提供請(qǐng)求者可以選擇來(lái)判定是否將某些信息包括在經(jīng)轉(zhuǎn)換的文件中的選項(xiàng)。這樣的信息可以包括:評(píng)論和注釋、文檔屬性和PI1、定制XML、不可見(jiàn)的幻燈片上內(nèi)容、幻燈片外內(nèi)容、和/或演示注解。
[0023]除了提供生成對(duì)文檔轉(zhuǎn)換的請(qǐng)求的方法以外,公共0M102還提供用來(lái)執(zhí)行用于文件轉(zhuǎn)換的自動(dòng)化服務(wù)的附加方法。例如,公共0M102可以提供啟動(dòng)方法(例如,“開(kāi)始”或“開(kāi)動(dòng)”方法)以例如通過(guò)調(diào)用自動(dòng)化服務(wù)或通過(guò)向另一過(guò)程發(fā)送執(zhí)行自動(dòng)化服務(wù)的請(qǐng)求來(lái)開(kāi)始自動(dòng)化服務(wù)。由公共0M102提供的其他方法可以包括用以完成自動(dòng)化服務(wù)的終止方法(例如,“結(jié)束”方法)。例如,在一個(gè)實(shí)施例中,終止方法可以通知請(qǐng)求者自動(dòng)化服務(wù)已經(jīng)完成。在這些實(shí)施例中,終止方法還可以向請(qǐng)求者提供一個(gè)或多個(gè)經(jīng)轉(zhuǎn)換的文件。在另一個(gè)實(shí)施例中,如果自動(dòng)化服務(wù)文件轉(zhuǎn)換失敗,終止服務(wù)例如可以通過(guò)把錯(cuò)誤消息傳遞回請(qǐng)求者來(lái)將該失敗告知請(qǐng)求者。
[0024]在實(shí)施例中,公共0M102使用處理通知的異步模式方法。通過(guò)采用異步模式方法,請(qǐng)求者不必在轉(zhuǎn)換正進(jìn)行時(shí)監(jiān)視文件轉(zhuǎn)換請(qǐng)求的狀態(tài)。這允許請(qǐng)求者在等待文件轉(zhuǎn)換時(shí)執(zhí)行其他任務(wù)。另外,異步模式方法允許請(qǐng)求者向自動(dòng)化服務(wù)提出文件轉(zhuǎn)換請(qǐng)求而不阻塞資源。
[0025]在實(shí)施例中,在請(qǐng)求者能夠向自動(dòng)化服務(wù)提供初始文件并使用公共0M102來(lái)生成請(qǐng)求之前,對(duì)請(qǐng)求者執(zhí)行確認(rèn)和安全性檢查。例如,請(qǐng)求者可能不得不執(zhí)行認(rèn)證和授權(quán)檢查以確保請(qǐng)求者具有訪問(wèn)初始文件或目錄的合適許可集。在一個(gè)實(shí)施例中,在請(qǐng)求者訪問(wèn)公共0M102之前執(zhí)行確認(rèn)和安全性檢查。在另一個(gè)實(shí)施例中,公共0M102可以執(zhí)行確認(rèn)和安全性檢查。
[0026]前端服務(wù)器101還可以包括請(qǐng)求管理器104。請(qǐng)求管理器104可以和公共0M102或使用公共0M102的任何應(yīng)用通信。請(qǐng)求管理器104向后端服務(wù)器108發(fā)送請(qǐng)求。在實(shí)施例中,雖然在圖1中未示出,但自動(dòng)化服務(wù)可以是跨多個(gè)服務(wù)器的分布式服務(wù)。在這些實(shí)施例中,在系統(tǒng)100中可以采用多個(gè)后端服務(wù)器108。在分布式實(shí)施例中,請(qǐng)求管理器104可以通過(guò)執(zhí)行負(fù)載平衡來(lái)判定把請(qǐng)求發(fā)送到哪個(gè)后端服務(wù)器108。例如,請(qǐng)求管理器104可以使用一致性散列在后端服務(wù)器108間分配請(qǐng)求。在另外的實(shí)施例中,請(qǐng)求管理器104還可以在前端服務(wù)器101失去其到后端服務(wù)器108的連接的情形下或在后端服務(wù)器108停工的情況下執(zhí)行故障轉(zhuǎn)移方法。請(qǐng)求管理器104還可以在請(qǐng)求消息沒(méi)被正確地遞送到后端服務(wù)器108的情況下重試發(fā)送消息。
[0027]在實(shí)施例中,前端服務(wù)器101還可以包括自動(dòng)化服務(wù)代理106,其被用來(lái)建立位于后端服務(wù)器108上的自動(dòng)化服務(wù)110和前端服務(wù)器101間的通信。自動(dòng)化服務(wù)代理106可以是Windows通信基礎(chǔ)(“WCF”)代理。WCF代理可以被用來(lái)訪問(wèn)后端服務(wù)器108上的自動(dòng)化服務(wù)110。在另一個(gè)實(shí)施例中,自動(dòng)化服務(wù)代理106可以是能夠提供與遠(yuǎn)程應(yīng)用的通信和/或訪問(wèn)遠(yuǎn)程應(yīng)用的任何其他類(lèi)型的代理或API。
[0028]系統(tǒng)100還包括后端服務(wù)器108。在實(shí)施例中,后端服務(wù)器108包含執(zhí)行自動(dòng)化服務(wù)文件轉(zhuǎn)換的應(yīng)用和/或過(guò)程。后端服務(wù)器108從前端服務(wù)器102接收請(qǐng)求并執(zhí)行自動(dòng)化服務(wù)以把文件轉(zhuǎn)換成新文件類(lèi)型。在實(shí)施例中,后端服務(wù)器108在數(shù)據(jù)流中接收供轉(zhuǎn)換的一個(gè)或多個(gè)初始文件。后端服務(wù)器108上的過(guò)程對(duì)數(shù)據(jù)流進(jìn)行操作以創(chuàng)建經(jīng)轉(zhuǎn)換的文件并經(jīng)由前端服務(wù)器把經(jīng)轉(zhuǎn)換的文件作為經(jīng)轉(zhuǎn)換的文件數(shù)據(jù)流傳遞回請(qǐng)求者。對(duì)數(shù)據(jù)流進(jìn)行操作通過(guò)使后端服務(wù)器108免于保存初始文件或經(jīng)轉(zhuǎn)換的文件而產(chǎn)生存儲(chǔ)效率。
[0029]在實(shí)施例中,后端服務(wù)器108包括自動(dòng)化服務(wù)110。自動(dòng)化服務(wù)110促成了經(jīng)由自動(dòng)化服務(wù)代理106與web前端服務(wù)器101通信。例如,自動(dòng)化服務(wù)110接收對(duì)文件轉(zhuǎn)換的請(qǐng)求,并且在成功轉(zhuǎn)換的情況下把經(jīng)轉(zhuǎn)換的文件返回給web前端服務(wù)器101。如果轉(zhuǎn)換不成功,自動(dòng)化服務(wù)110可以把錯(cuò)誤代碼傳送到前端服務(wù)器101。在一個(gè)實(shí)施例中,錯(cuò)誤代碼可以是與所產(chǎn)生的錯(cuò)誤類(lèi)型相對(duì)應(yīng)的唯一錯(cuò)誤代碼。錯(cuò)誤代碼可以包括與文件轉(zhuǎn)換為什么不成功有關(guān)的信息。在另外的實(shí)施例中,自動(dòng)化服務(wù)110可以是WCF端點(diǎn)。在這些實(shí)施例中,自動(dòng)化服務(wù)110具有地址并且指定綁定和前端服務(wù)器101可用來(lái)聯(lián)系自動(dòng)化服務(wù)的合同。在其他實(shí)施例中,自動(dòng)化服務(wù)110可以是能夠接收請(qǐng)求并把響應(yīng)傳送回請(qǐng)求者的任何類(lèi)型的遠(yuǎn)程可訪問(wèn)應(yīng)用。
[0030]后端服務(wù)器108還可以包括應(yīng)用管理器(AppManager) 112。該應(yīng)用管理器112可被用來(lái)選擇諸如轉(zhuǎn)換器116的合適過(guò)程來(lái)執(zhí)行所請(qǐng)求的文件轉(zhuǎn)換。如圖1所示,后端服務(wù)器108可以包括可被用來(lái)執(zhí)行所請(qǐng)求的文件轉(zhuǎn)換的多個(gè)轉(zhuǎn)換器116過(guò)程。另外,后端服務(wù)器108可以包括工作器114,諸如工作器I到工作器N。在實(shí)施例中,工作器114可以是促成應(yīng)用管理器112和一個(gè)或多個(gè)轉(zhuǎn)換器116過(guò)程之間的通信的對(duì)轉(zhuǎn)換器116過(guò)程的包裝。
[0031]在一個(gè)實(shí)施例中,后端服務(wù)器運(yùn)行多個(gè)轉(zhuǎn)換器116過(guò)程以執(zhí)行文件轉(zhuǎn)換,諸如把演示文件轉(zhuǎn)換成不同的文件格式。每個(gè)轉(zhuǎn)換器116可能能夠一次執(zhí)行單個(gè)文件轉(zhuǎn)換。由此,后端服務(wù)器108提供用來(lái)同時(shí)處理大量文件請(qǐng)求的多個(gè)轉(zhuǎn)換器116。在這些實(shí)施例中,在接收到請(qǐng)求后,后端服務(wù)器108就利用應(yīng)用管理器112來(lái)判定是否存在不處于使用中的空閑轉(zhuǎn)換器116。如果存在空閑轉(zhuǎn)換器116,應(yīng)用管理器112把請(qǐng)求引導(dǎo)到該空閑過(guò)程。在一個(gè)實(shí)施例中,引導(dǎo)請(qǐng)求到空閑轉(zhuǎn)換器116可以包括提供請(qǐng)求、任何請(qǐng)求選項(xiàng)以及初始文件或數(shù)據(jù)流。
[0032]在一個(gè)實(shí)施例中,每個(gè)轉(zhuǎn)換器116能夠?qū)Τ跏嘉募?zhí)行任何支持類(lèi)型的文件轉(zhuǎn)換。在另一個(gè)實(shí)施例中,不同的轉(zhuǎn)換器116可以被用來(lái)執(zhí)行不同類(lèi)型的文件轉(zhuǎn)換。在這些實(shí)施例中,除了標(biāo)識(shí)空閑轉(zhuǎn)換器116之外,應(yīng)用管理器112還標(biāo)識(shí)要將請(qǐng)求發(fā)送到的正確的轉(zhuǎn)換器(例如,能夠執(zhí)行所請(qǐng)求的轉(zhuǎn)換類(lèi)型的轉(zhuǎn)換器)。
[0033]在實(shí)施例中,由轉(zhuǎn)換器116執(zhí)行自動(dòng)化服務(wù)提供的文件轉(zhuǎn)換。例如,轉(zhuǎn)換器116接收初始文件(或包含初始文件的數(shù)據(jù)流)及任何所請(qǐng)求的轉(zhuǎn)換選項(xiàng),并生成經(jīng)轉(zhuǎn)換的文件。后端服務(wù)器108通過(guò)經(jīng)由自動(dòng)化服務(wù)110把經(jīng)轉(zhuǎn)換的文件傳遞回前端服務(wù)器101來(lái)把經(jīng)轉(zhuǎn)換的文件返回給請(qǐng)求者。前端服務(wù)器101可以隨后為請(qǐng)求者存儲(chǔ)經(jīng)轉(zhuǎn)換的文件或把經(jīng)轉(zhuǎn)換的文件提供回請(qǐng)求者。
[0034]盡管圖1示出使用前端服務(wù)器101和后端服務(wù)器108來(lái)執(zhí)行用于文件轉(zhuǎn)換的自動(dòng)化服務(wù)的系統(tǒng)100,本領(lǐng)域的技術(shù)人員將理解自動(dòng)化服務(wù)可以在具有更少或更多服務(wù)器的系統(tǒng)中執(zhí)行。例如,可以由單個(gè)服務(wù)器或三個(gè)或更多個(gè)服務(wù)器來(lái)執(zhí)行圖1中所述的所有過(guò)程和/或模塊。在實(shí)施例中,過(guò)程可以由駐留在計(jì)算機(jī)存儲(chǔ)介質(zhì)中的軟件指令來(lái)執(zhí)行,當(dāng)這些指令被處理器執(zhí)行時(shí)執(zhí)行自動(dòng)化服務(wù)。在另一個(gè)實(shí)施例中,圖1中所述的過(guò)程和/或方法可以用硬件實(shí)現(xiàn)。另外,當(dāng)圖1描述具體模塊(例如請(qǐng)求管理器104、應(yīng)用管理器112等)時(shí),參考系統(tǒng)100來(lái)描述的功能可以使用比圖1中示出的更少或更多的模塊來(lái)執(zhí)行。
[0035]已經(jīng)描述了用于執(zhí)行自動(dòng)化服務(wù)的系統(tǒng),圖2-4示出可被用來(lái)執(zhí)行自動(dòng)化服務(wù)的方法的各種實(shí)施例。圖2示出表示用于生成并發(fā)送自動(dòng)化請(qǐng)求的方法200的實(shí)施例的流程圖。方法200可以被系統(tǒng)、應(yīng)用或過(guò)程執(zhí)行來(lái)請(qǐng)求文件轉(zhuǎn)換。例如,方法200可以由諸如應(yīng)用或過(guò)程或作為網(wǎng)絡(luò)的一部分的服務(wù)器(諸如,前端服務(wù)器101)的請(qǐng)求生成器來(lái)執(zhí)行。流程開(kāi)始于操作202,在操作202處,方法200從請(qǐng)求者接收請(qǐng)求數(shù)據(jù)。請(qǐng)求者可以是請(qǐng)求文件轉(zhuǎn)換的用戶、應(yīng)用或過(guò)程,該文件轉(zhuǎn)換諸如但不限于把演示文件轉(zhuǎn)換成另一種文件類(lèi)型。在實(shí)施例中,請(qǐng)求數(shù)據(jù)可以包括與以下各項(xiàng)有關(guān)的信息:請(qǐng)求類(lèi)型、初始文件數(shù)據(jù)、初始文件類(lèi)型、期望的轉(zhuǎn)換文件類(lèi)型、轉(zhuǎn)換文件數(shù)據(jù)(例如,轉(zhuǎn)換文件的名稱、位置、類(lèi)型等)或?qū)ψ詣?dòng)化過(guò)程有用的其他任何類(lèi)型的信息。
[0036]在接收所請(qǐng)求的數(shù)據(jù)之后,流程可選地行進(jìn)到操作204,在操作204處,方法200可選地判定請(qǐng)求者的許可。例如,在可選的操作204,方法200可以驗(yàn)證請(qǐng)求者的真實(shí)性,驗(yàn)證請(qǐng)求者被授權(quán)訪問(wèn)初始文件或創(chuàng)建經(jīng)轉(zhuǎn)換的文件、執(zhí)行確認(rèn)功能、執(zhí)行安全性檢查等等。在另一個(gè)實(shí)施例中,在請(qǐng)求者能夠請(qǐng)求數(shù)據(jù)轉(zhuǎn)換之前檢查并確認(rèn)請(qǐng)求者的許可。在這樣的實(shí)施例中,方法200不執(zhí)行可選步驟204。
[0037]如果在操作204處確認(rèn)了請(qǐng)求者的許可或者在方法200開(kāi)始以前確認(rèn)了用戶的許可,流程繼續(xù)到操作206。在操作206處,方法準(zhǔn)備請(qǐng)求消息的請(qǐng)求部分。在實(shí)施例中,自動(dòng)化服務(wù)請(qǐng)求可以包含多個(gè)部分。請(qǐng)求消息的一部分可以是請(qǐng)求部分。在這些實(shí)施例中,消息的請(qǐng)求部分可以包括對(duì)新經(jīng)轉(zhuǎn)換的文件類(lèi)型、轉(zhuǎn)換選項(xiàng)或任何其他類(lèi)型的與請(qǐng)求相關(guān)信息的請(qǐng)求。
[0038]流程繼續(xù)到操作208,在操作208處,將請(qǐng)求數(shù)據(jù)與初始文件數(shù)據(jù)一起打包以創(chuàng)建請(qǐng)求消息。在實(shí)施例中,請(qǐng)求消息包括請(qǐng)求數(shù)據(jù)和要轉(zhuǎn)換的初始文件。在一個(gè)實(shí)施例中,初始文件可以通過(guò)在操作208處把到該文件的路徑包括在請(qǐng)求消息中來(lái)提供。在另一個(gè)實(shí)施例中,初始文件數(shù)據(jù)可以被表示為數(shù)據(jù)流,該數(shù)據(jù)流與要發(fā)送的請(qǐng)求數(shù)據(jù)一起打包成請(qǐng)求消息。在將請(qǐng)求數(shù)據(jù)和文件數(shù)據(jù)打包并由此生成請(qǐng)求消息之后,流程繼續(xù)到操作210,在操作210處,請(qǐng)求消息被發(fā)送到自動(dòng)化服務(wù)。在一個(gè)實(shí)施例中,發(fā)送請(qǐng)求消息到自動(dòng)化的服務(wù)包括發(fā)送消息到執(zhí)行自動(dòng)化服務(wù)的任何數(shù)量的應(yīng)用或過(guò)程。在一個(gè)實(shí)施例中,自動(dòng)化服務(wù)可以與請(qǐng)求者和/或請(qǐng)求應(yīng)用位于相同的機(jī)器上。在另一個(gè)實(shí)施例中,自動(dòng)化的服務(wù)可以位于不同的服務(wù)器上。在這些實(shí)施例中,操作210處的發(fā)送請(qǐng)求消息可以利用諸如自動(dòng)化服務(wù)代理106的通信模塊來(lái)促成與遠(yuǎn)程機(jī)器的通信。
[0039]在發(fā)送請(qǐng)求消息之后,流程繼續(xù)到操作212,在操作212處,請(qǐng)求生成器接收對(duì)請(qǐng)求的響應(yīng)。在實(shí)施例中,自動(dòng)化服務(wù)利用向請(qǐng)求生成器提供通知的異步模式方法。這使得請(qǐng)求生成器免于必須監(jiān)視轉(zhuǎn)換請(qǐng)求的狀態(tài)并且允許請(qǐng)求生成器在等待對(duì)請(qǐng)求的響應(yīng)時(shí)執(zhí)行其他任務(wù)。但是,在另一個(gè)實(shí)施例中,在操作212處,執(zhí)行方法200的請(qǐng)求生成器可以實(shí)際監(jiān)視請(qǐng)求的狀態(tài)。
[0040]對(duì)請(qǐng)求的響應(yīng)可以是經(jīng)轉(zhuǎn)換的文件或者其可以是錯(cuò)誤代碼。如果響應(yīng)包括經(jīng)轉(zhuǎn)換的文件,在操作212處處理經(jīng)轉(zhuǎn)換的文件。處理經(jīng)轉(zhuǎn)換的文件可以包括向請(qǐng)求者發(fā)送文件、存儲(chǔ)文件、訪問(wèn)文件并向用戶顯示文件、和/或修改文件。如果在操作212處響應(yīng)包括錯(cuò)誤代碼而不是經(jīng)轉(zhuǎn)換的文件,處理響應(yīng)可以包括重新發(fā)送請(qǐng)求。在實(shí)施例中,錯(cuò)誤代碼可以是提供包含失敗的轉(zhuǎn)換的原因的附加信息的唯一的錯(cuò)誤代碼。如果請(qǐng)求生成器接收錯(cuò)誤代碼,它可以在重新發(fā)送請(qǐng)求之前解決錯(cuò)誤。解決錯(cuò)誤可以包括修改請(qǐng)求或生成新請(qǐng)求及發(fā)送新請(qǐng)求。
[0041]盡管方法200已經(jīng)被描述為包括各分立操作,但本領(lǐng)域的技術(shù)人員將理解圖2中所述的各操作可以結(jié)合到一起或分離開(kāi),從而產(chǎn)生仍能執(zhí)行參考方法200所述的各實(shí)施例的更少或更多的操作。此外,本領(lǐng)域的技術(shù)人員將理解盡管按照特定次序描述了方法200,但這些操作的次序可以被重新排列,而仍執(zhí)行圖2中所述方法的各實(shí)施例。
[0042]圖3是表示對(duì)自動(dòng)化請(qǐng)求作出響應(yīng)的方法300的實(shí)施例的流程圖。在實(shí)施例中,方法300可以由文件轉(zhuǎn)換器來(lái)實(shí)施。文件轉(zhuǎn)換器可以是能夠執(zhí)行圖3中所述操作的應(yīng)用、過(guò)程、機(jī)器或任何其他設(shè)備。例如,方法300可以由后端服務(wù)器108和/或之前參考圖1討論的模塊中的一個(gè)或多個(gè)來(lái)執(zhí)行。流程開(kāi)始于操作302,在操作302處,方法300接收對(duì)文件轉(zhuǎn)換的請(qǐng)求。在實(shí)施例中,請(qǐng)求可以包含請(qǐng)求消息,該請(qǐng)求消息包括與請(qǐng)求和/或要轉(zhuǎn)換的初始文件相關(guān)的信息。在實(shí)施例中,在方法300可以對(duì)其執(zhí)行轉(zhuǎn)換的數(shù)據(jù)流中接收初始文件。這允許該方法轉(zhuǎn)換初始文件,而無(wú)需在本地保存初始文件的備份。
[0043]響應(yīng)于接收請(qǐng)求,流程繼續(xù)到操作304,在操作304處執(zhí)行文件轉(zhuǎn)換。例如,諸如但不限于.ppt和.pptx文件的演示文件被轉(zhuǎn)換成不同的文件類(lèi)型(例如,.pdf文件,.xpS文件,.jpg文件,.png文件,或包括多個(gè).jpg或.png文件的壓縮文件,或任何其他文件類(lèi)型)。在另一個(gè)實(shí)施例中,文件轉(zhuǎn)換器還把.PPt文件轉(zhuǎn)換成.pptx或把.pptx文件轉(zhuǎn)換成.ppt文件。在另外的實(shí)施例中,文件轉(zhuǎn)換器還執(zhí)行轉(zhuǎn)換選項(xiàng),這些轉(zhuǎn)換選項(xiàng)諸如但不限于設(shè)定圖像尺寸及分辨率,以及添加或去除信息。
[0044]在轉(zhuǎn)換過(guò)程之后,流程行進(jìn)到判定操作306,在操作306處,方法300判定轉(zhuǎn)換是否成功。如果轉(zhuǎn)換成功,流程使“是”分支到操作308并且經(jīng)轉(zhuǎn)換的文件被發(fā)送到請(qǐng)求者。例如,在對(duì)數(shù)據(jù)流操作的轉(zhuǎn)換的實(shí)施例中,數(shù)據(jù)流可以被發(fā)送回請(qǐng)求者。在一個(gè)實(shí)施例中,如果轉(zhuǎn)換不成功,流程使“否”分支到操作310,并且方法300向請(qǐng)求者返回錯(cuò)誤代碼。在實(shí)施例中,錯(cuò)誤代碼告知請(qǐng)求者轉(zhuǎn)換失敗,并且錯(cuò)誤代碼包括有關(guān)轉(zhuǎn)換為什么不成功的信息。
[0045]圖4是表示用于處理多個(gè)自動(dòng)化請(qǐng)求的方法400的實(shí)施例的流程圖。在實(shí)施例中,方法400可以由文件轉(zhuǎn)換器來(lái)實(shí)施。文件轉(zhuǎn)換器可以是能夠執(zhí)行圖4中所述操作的應(yīng)用、過(guò)程、機(jī)器或任何其他設(shè)備。例如,方法400可以由后端服務(wù)器100和/或之前參考圖1討論的模塊中的一個(gè)或多個(gè)來(lái)執(zhí)行。
[0046]流程開(kāi)始于操作402,在操作402處,文件轉(zhuǎn)換器從請(qǐng)求者接收第一請(qǐng)求。該請(qǐng)求可以包括請(qǐng)求消息,該請(qǐng)求消息包含與請(qǐng)求和/或要轉(zhuǎn)換的初始文件相關(guān)的信息。在實(shí)施例中,在方法400可以對(duì)其執(zhí)行轉(zhuǎn)換的數(shù)據(jù)流中接收初始文件。這允許該方法轉(zhuǎn)換初始文件,而無(wú)需在本地保存初始文件的備份。在另外的實(shí)施例中,請(qǐng)求可以包括需要轉(zhuǎn)換的文件的數(shù)目。例如,該請(qǐng)求可以包括轉(zhuǎn)換多個(gè)文件的批處理請(qǐng)求。流程行進(jìn)到操作404,在操作404處,文件轉(zhuǎn)換器開(kāi)始轉(zhuǎn)換在操作402中接收到的一個(gè)或多個(gè)文件。再一次作為示例,諸如但不限于.PPt和.pptx文件的一個(gè)或多個(gè)演示文件可被轉(zhuǎn)換成不同的文件類(lèi)型(例如,.pdf文件,.xps文件,.jpg文件,.png文件,或包括多個(gè).jpg或.png文件的壓縮文件,或任何其他文件類(lèi)型)。在另一個(gè)實(shí)施例中,文件轉(zhuǎn)換器還可把.PPt文件轉(zhuǎn)換成.pptx或把.PPtx文件轉(zhuǎn)換成.ppt文件。在另外的實(shí)施例中,文件轉(zhuǎn)換器還執(zhí)行轉(zhuǎn)換選項(xiàng),這些轉(zhuǎn)換選項(xiàng)諸如但不限于設(shè)定圖像尺寸及分辨率,以及添加或去除信息。
[0047]在稍后的時(shí)間點(diǎn),文件轉(zhuǎn)換器從請(qǐng)求者接收對(duì)文件轉(zhuǎn)換的第二請(qǐng)求。該請(qǐng)求者可以是與生成在操作402處接收到的第一請(qǐng)求的那個(gè)請(qǐng)求者相同或不同的請(qǐng)求者。如參考圖1所討論的,諸如后端服務(wù)器100的文件轉(zhuǎn)換器可以包括多個(gè)文件轉(zhuǎn)換過(guò)程。但是,多個(gè)過(guò)程可以全部都參與到文件轉(zhuǎn)換過(guò)程,例如如果每一過(guò)程都參與到轉(zhuǎn)換一批文件中的話。一般而言,當(dāng)請(qǐng)求者請(qǐng)求批處理轉(zhuǎn)換時(shí),請(qǐng)求者并不期望該轉(zhuǎn)換立即完成。在這種情況下,請(qǐng)求者可能并不期望訪問(wèn)所有經(jīng)轉(zhuǎn)換的文件,直到所有文件被轉(zhuǎn)換完。另一方面,對(duì)單個(gè)文件轉(zhuǎn)換的請(qǐng)求可能需要立即訪問(wèn)該經(jīng)轉(zhuǎn)換的文件。例如,請(qǐng)求者可以是需要對(duì)文件執(zhí)行諸如處理或顯示文件之類(lèi)的任務(wù)但以當(dāng)前格式無(wú)法這樣做的應(yīng)用。請(qǐng)求者提出對(duì)文件格式轉(zhuǎn)換的請(qǐng)求,從而使其可以執(zhí)行其任務(wù)。在這種情況下,請(qǐng)求者對(duì)經(jīng)轉(zhuǎn)換的文件的需求可能是立即的。但是,對(duì)于不立即需要經(jīng)轉(zhuǎn)換的文件的請(qǐng)求者而言,文件轉(zhuǎn)換器可能會(huì)參與到批處理轉(zhuǎn)換中。這對(duì)于稍后的請(qǐng)求者而言會(huì)導(dǎo)致過(guò)度的延遲。
[0048]為了減輕該問(wèn)題,文件轉(zhuǎn)換器可以將對(duì)單個(gè)文件的請(qǐng)求的優(yōu)先級(jí)排定在對(duì)一批文件的請(qǐng)求之上。為了實(shí)現(xiàn)優(yōu)先級(jí)排定,流程繼續(xù)到操作408,在操作408處,文件轉(zhuǎn)換器判定第一請(qǐng)求(或者多個(gè)較早的請(qǐng)求)是否仍在處理中或者在進(jìn)行中。如果第一請(qǐng)求已經(jīng)完成,或者任何單獨(dú)文件轉(zhuǎn)換過(guò)程(例如,轉(zhuǎn)換器116)為空閑,流程使“否”分支到操作410并且第二請(qǐng)求被處理(例如,第二文件被轉(zhuǎn)換)。
[0049]如果第一請(qǐng)求仍在處理中,或者如果不存在空閑的轉(zhuǎn)換過(guò)程,流程使“是”分支到操作412。在操作412處,作出第二請(qǐng)求是否是針對(duì)一批文件的轉(zhuǎn)換的判定。如果第二請(qǐng)求針對(duì)批處理轉(zhuǎn)換,則所列出的問(wèn)題很可能就不是問(wèn)題了,因?yàn)檎?qǐng)求者可能期望該轉(zhuǎn)換過(guò)一段時(shí)間再完成。在該情形中,流程使“是”分支到操作414。在這種情況下,第二請(qǐng)求(例如,在時(shí)間上稍后的請(qǐng)求)可以等待第一轉(zhuǎn)換在操作414處完成。在第一操作完成之后,或者轉(zhuǎn)換過(guò)程一變成空閑,流程就繼續(xù)到操作410,在操作410處,文件轉(zhuǎn)換器執(zhí)行第二請(qǐng)求的文件轉(zhuǎn)換并隨后方法完成。
[0050]如果第二轉(zhuǎn)換不是批處理請(qǐng)求,請(qǐng)求者可能正期望很快收到經(jīng)轉(zhuǎn)換的文件。在這種情況下,流程使“否”從判定操作412分支到判定操作416。在判定操作416,文件轉(zhuǎn)換器判定第一過(guò)程(或者所有在時(shí)間上較早的過(guò)程)是否針對(duì)批處理轉(zhuǎn)換。如果較早的請(qǐng)求都不針對(duì)批處理轉(zhuǎn)換,所有較早的請(qǐng)求者可能都期望快速收到其經(jīng)轉(zhuǎn)換的文件。在這種情況下,第二請(qǐng)求(例如,在時(shí)間上稍后的請(qǐng)求)可以等待它的時(shí)機(jī)。流程使“否”分支到操作414。在第一操作完成之后,或者轉(zhuǎn)換過(guò)程一變成空閑且在處理隊(duì)列上接下來(lái)是第二過(guò)程,流程就繼續(xù)到操作410,在操作410處,文件轉(zhuǎn)換器執(zhí)行第二請(qǐng)求的文件轉(zhuǎn)換并隨后方法完成。
[0051]如果第一過(guò)程是批處理過(guò)程,則流程使“是”分支到操作418且將第二過(guò)程的優(yōu)先級(jí)排定在第一過(guò)程之上。在一個(gè)實(shí)施例中,如果第一請(qǐng)求仍在等待可用的文件轉(zhuǎn)換器過(guò)程,優(yōu)先級(jí)排定可以包括在處理次序上把第二請(qǐng)求放置在第一請(qǐng)求之前。在另一個(gè)實(shí)施例中,如果第一過(guò)程當(dāng)前正被處理,可以暫停該過(guò)程以釋放文件轉(zhuǎn)換過(guò)程來(lái)處理第二請(qǐng)求。一完成第二請(qǐng)求就可繼續(xù)第一轉(zhuǎn)換。方法400通過(guò)在針對(duì)不期望快速遞送經(jīng)轉(zhuǎn)換的文件的請(qǐng)求者的請(qǐng)求進(jìn)行轉(zhuǎn)換之前或在完成該轉(zhuǎn)換之前先處理來(lái)自期望快速響應(yīng)的請(qǐng)求者的請(qǐng)求,而減輕了過(guò)度延遲。
[0052]參考圖5,用于實(shí)現(xiàn)本文描述的各實(shí)施例的計(jì)算環(huán)境的一實(shí)施例包括計(jì)算機(jī)系統(tǒng),如計(jì)算機(jī)系統(tǒng)500。所描述的各實(shí)施例的任何和所有組件可以作為客戶機(jī)計(jì)算機(jī)系統(tǒng)、服務(wù)器計(jì)算機(jī)系統(tǒng)、客戶機(jī)和服務(wù)器計(jì)算機(jī)系統(tǒng)的組合、手持式設(shè)備、以及本文描述的其他可能的計(jì)算環(huán)境或系統(tǒng)來(lái)執(zhí)行或在它們之上執(zhí)行。如此,以下描述可應(yīng)用于所有這些環(huán)境的基本計(jì)算機(jī)系統(tǒng)。
[0053]在其最基本的配置中,計(jì)算機(jī)系統(tǒng)500包括至少一個(gè)處理單元或處理器504和系統(tǒng)存儲(chǔ)器506。計(jì)算機(jī)系統(tǒng)500的該最基本配置在圖5中由虛線502來(lái)示出。在各實(shí)施例中,所描述的系統(tǒng)的一個(gè)或多個(gè)組件被加載到系統(tǒng)存儲(chǔ)器506中,并由處理單元504從系統(tǒng)存儲(chǔ)器506中執(zhí)行。取決于計(jì)算機(jī)系統(tǒng)500的確切配置和類(lèi)型,系統(tǒng)存儲(chǔ)器506可以是易失性(如RAM)、非易失性(諸如ROM、閃存等)或這兩者的某種組合。
[0054]另外,計(jì)算機(jī)系統(tǒng)500還可具有附加特征/功能。例如,系統(tǒng)500包括附加存儲(chǔ)介質(zhì)508,如可移動(dòng)和/或不可移動(dòng)存儲(chǔ),包括但不限于磁盤(pán)、光盤(pán)或磁帶。在一些實(shí)施例中,軟件或可執(zhí)行碼以及用于所描述的系統(tǒng)的任何數(shù)據(jù)被持久存儲(chǔ)在存儲(chǔ)介質(zhì)508中。存儲(chǔ)介質(zhì)508包括以存儲(chǔ)如計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其他數(shù)據(jù)等信息的任何方法或技術(shù)來(lái)實(shí)現(xiàn)的易失性和非易失性、可移動(dòng)和不可移動(dòng)介質(zhì)。在實(shí)施例中,計(jì)算機(jī)可執(zhí)行指令用來(lái)執(zhí)行本文所述的方法,諸如但不限于對(duì)自動(dòng)化請(qǐng)求作出響應(yīng)的方法300 (圖3)以及對(duì)自動(dòng)化請(qǐng)求400作出響應(yīng)的方法400 (圖4)的方法被存儲(chǔ)在存儲(chǔ)介質(zhì)508中。
[0055]系統(tǒng)存儲(chǔ)器506和存儲(chǔ)介質(zhì)508都是計(jì)算機(jī)存儲(chǔ)介質(zhì)的示例。計(jì)算機(jī)存儲(chǔ)介質(zhì)包括,但不限于,RAM、ROM、EEPR0M、閃存或其他存儲(chǔ)器技術(shù)、CD-ROM、數(shù)字多功能盤(pán)(“DVD”)或其他光學(xué)存儲(chǔ)、磁帶盒、磁帶、磁盤(pán)存儲(chǔ)或其他磁性存儲(chǔ)設(shè)備或能用于存儲(chǔ)所需信息且可以由計(jì)算機(jī)系統(tǒng)500和處理器504訪問(wèn)的任何其他介質(zhì)。任何這樣的計(jì)算機(jī)存儲(chǔ)介質(zhì)都可以是計(jì)算機(jī)系統(tǒng)500的一部分。在各實(shí)施例中,系統(tǒng)存儲(chǔ)器506和/或存儲(chǔ)介質(zhì)508存儲(chǔ)用于執(zhí)行本文所公開(kāi)的各方法和/或形成本文公開(kāi)的系統(tǒng)的數(shù)據(jù),這些方法和系統(tǒng)諸如創(chuàng)建文件轉(zhuǎn)換請(qǐng)求或執(zhí)行自動(dòng)化服務(wù)。參考圖1所述的各種模塊還可以存儲(chǔ)在系統(tǒng)存儲(chǔ)器506和/或存儲(chǔ)介質(zhì)508中。在實(shí)施例中,系統(tǒng)存儲(chǔ)器506存儲(chǔ)用于執(zhí)行本文中所述方法的指令,諸如請(qǐng)求生成指令514和自動(dòng)化服務(wù)516。
[0056]計(jì)算機(jī)系統(tǒng)500還可包含允許該設(shè)備與其他設(shè)備通信的通信連接510。在各實(shí)施例中,通信連接510可被用來(lái)在發(fā)送者設(shè)備、中間設(shè)備、以及接收者設(shè)備之間傳送和接收消息。通信連接510是通信介質(zhì)的一個(gè)示例。通信介質(zhì)可包含諸如載波或其他傳輸機(jī)制等已調(diào)制數(shù)據(jù)信號(hào)并且包括任何信息傳遞介質(zhì),它能以已調(diào)制數(shù)據(jù)信號(hào)來(lái)體現(xiàn)計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其他數(shù)據(jù)。術(shù)語(yǔ)“已調(diào)制數(shù)據(jù)信號(hào)”指的是其一個(gè)或多個(gè)特征以在數(shù)據(jù)信號(hào)中編碼信息或消息的方式被設(shè)定或更改的信號(hào)。作為示例而非限制,通信介質(zhì)包括有線介質(zhì),諸如有線網(wǎng)絡(luò)或直接線連接,以及無(wú)線介質(zhì),諸如聲學(xué)、RF、紅外線和其他無(wú)線介質(zhì)。
[0057]在一些實(shí)施例中,計(jì)算機(jī)系統(tǒng)500還包括輸入和輸出連接512以及接口和外圍設(shè)備,如圖形用戶界面。輸入設(shè)備也被稱為用戶界面選擇設(shè)備并且包括但不限于,鍵盤(pán)、鼠標(biāo)、筆、語(yǔ)音輸入設(shè)備、觸摸輸入設(shè)備等。輸出設(shè)備也被稱為顯示器,并且包括但不限于,陰極射線管顯示器、等離子屏顯示器、液晶屏顯示器、揚(yáng)聲器、打印機(jī)等?;騿为?dú)地或組合地連接到輸入和輸出連接512的這些設(shè)備被用來(lái)顯示本文描述的信息。所有這些設(shè)備在本領(lǐng)域是眾知的并且不必在此詳細(xì)討論。
[0058]在一些實(shí)施例中,本文描述的組件包括可由計(jì)算機(jī)系統(tǒng)500執(zhí)行的、可以存儲(chǔ)在計(jì)算機(jī)存儲(chǔ)介質(zhì)中和其他有形介質(zhì)中并在通信介質(zhì)中傳送的模塊或指令。計(jì)算機(jī)存儲(chǔ)介質(zhì)包括以用于存儲(chǔ)如計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其他數(shù)據(jù)等信息的任何方法或技術(shù)實(shí)現(xiàn)的易失性和非易失性、可移動(dòng)和不可移動(dòng)介質(zhì)。以上的任何組合也可包括在可讀介質(zhì)的范圍內(nèi)。在一些實(shí)施例中,計(jì)算機(jī)系統(tǒng)500是將數(shù)據(jù)存儲(chǔ)在遠(yuǎn)程存儲(chǔ)介質(zhì)中以供計(jì)算機(jī)系統(tǒng)500使用的網(wǎng)絡(luò)的一部分。
[0059]本說(shuō)明書(shū)參考附圖描述了一些實(shí)施例,附圖中只示出了可能的實(shí)施例中的一些。然而,其他方面可被實(shí)現(xiàn)為許多不同的形式并且不應(yīng)被解釋為被限于此處描述的各實(shí)施例。相反,提供這些實(shí)施例以使得本公開(kāi)透徹和完整,并且將所有可能實(shí)施例的范圍完全傳達(dá)給本領(lǐng)域技術(shù)人員。
[0060]雖然已經(jīng)用對(duì)結(jié)構(gòu)特征、方法動(dòng)作和包含這些動(dòng)作的計(jì)算機(jī)可讀介質(zhì)專(zhuān)用的語(yǔ)言描述了各實(shí)施例,但是應(yīng)該理解,如在所附權(quán)利要求中定義的可能的實(shí)施例不必限于所描述的具體結(jié)構(gòu)、動(dòng)作、或介質(zhì)。本領(lǐng)域技術(shù)人員將認(rèn)識(shí)到本發(fā)明精神和范圍中的其他實(shí)施例或改進(jìn)。因此,具體結(jié)構(gòu)、動(dòng)作或介質(zhì)只是作為說(shuō)明性實(shí)施例來(lái)公開(kāi)的。本發(fā)明由所附權(quán)利要求書(shū)來(lái)限定。
【權(quán)利要求】
1.一種用于執(zhí)行自動(dòng)化服務(wù)的方法,所述方法包括: 在后端服務(wù)器處從第一請(qǐng)求者接收對(duì)第一文件轉(zhuǎn)換的第一請(qǐng)求,其中所述第一請(qǐng)求包括表示至少一個(gè)初始文件的流數(shù)據(jù),并且其中所述至少一個(gè)初始文件包括初始文件類(lèi)型;判定多個(gè)轉(zhuǎn)換過(guò)程中的至少一個(gè)轉(zhuǎn)換過(guò)程是空閑的; 基于所述判定,向所述至少一個(gè)空閑過(guò)程提供所述流數(shù)據(jù); 使用所述至少一個(gè)空閑過(guò)程從所述數(shù)據(jù)流生成至少一個(gè)經(jīng)轉(zhuǎn)換的文件; 判定所述至少一個(gè)空閑過(guò)程是否成功地生成了所述至少一個(gè)經(jīng)轉(zhuǎn)換的文件;以及在所述至少一個(gè)空閑過(guò)程成功地生成了所述至少一個(gè)經(jīng)轉(zhuǎn)換的文件時(shí),將所述至少一個(gè)經(jīng)轉(zhuǎn)換的文件發(fā)送到所述請(qǐng)求者。
2.如權(quán)利要求1所述的方法,其特征在于,所述請(qǐng)求還包括請(qǐng)求數(shù)據(jù)。
3.如權(quán)利要求2所述的方法,其特征在于,所述請(qǐng)求數(shù)據(jù)進(jìn)一步包括轉(zhuǎn)換選項(xiàng)。
4.如權(quán)利要求1所述的方法,其特征在于,還包括: 在所述至少一個(gè)空閑過(guò)程沒(méi)有成功地生成所述至少一個(gè)經(jīng)轉(zhuǎn)換的文件時(shí),向所述請(qǐng)求者發(fā)送錯(cuò)誤消息。
5.如權(quán)利要求1所述的方法,其特征在于,所述第一請(qǐng)求是執(zhí)行批處理過(guò)程文件轉(zhuǎn)換的請(qǐng)求。
6.如權(quán)利要求5所述的方法,其特征在于,還包括: 在所述后端服務(wù)器處接收對(duì)第二文件轉(zhuǎn)換的第二請(qǐng)求; 判定對(duì)所述對(duì)第二文件轉(zhuǎn)換的所述第二請(qǐng)求是單個(gè)文件請(qǐng)求; 判定所述第一批處理過(guò)程文件轉(zhuǎn)換仍在進(jìn)行中;以及 將所述單個(gè)文件請(qǐng)求的優(yōu)先級(jí)排定在所述批處理過(guò)程請(qǐng)求之上,其中將所述單個(gè)文件請(qǐng)求的優(yōu)先級(jí)排定在所述批處理過(guò)程請(qǐng)求之上為在所述第一文件轉(zhuǎn)換完成之前執(zhí)行所述第二文件轉(zhuǎn)換作準(zhǔn)備。
7.一種用于請(qǐng)求演示文件自動(dòng)化服務(wù)的方法,所述方法包括: 在前端服務(wù)器處由請(qǐng)求者生成文件轉(zhuǎn)換請(qǐng)求,所述請(qǐng)求包括文件轉(zhuǎn)換選項(xiàng)和表示至少一個(gè)初始文件的數(shù)據(jù),其中所述至少一個(gè)初始文件具有初始文件類(lèi)型,并且其中生成對(duì)演示自動(dòng)化服務(wù)的請(qǐng)求包括: 收集請(qǐng)求數(shù)據(jù),其中所述請(qǐng)求數(shù)據(jù)包括轉(zhuǎn)換選項(xiàng); 判定所述請(qǐng)求者被授權(quán)訪問(wèn)所述至少一個(gè)初始文件;以及 把所述請(qǐng)求和所述至少一個(gè)初始文件打包在請(qǐng)求消息中,其中所述至少一個(gè)初始文件被打包成數(shù)據(jù)流; 將所述請(qǐng)求消息發(fā)送給后端服務(wù)器進(jìn)行文件轉(zhuǎn)換。
8.如權(quán)利要求7所述的方法,其特征在于,還包括在所述前端服務(wù)器處接收來(lái)自所述后端服務(wù)器的響應(yīng)。
9.如權(quán)利要求8所述的方法,其特征在于,所述響應(yīng)包括至少一個(gè)經(jīng)轉(zhuǎn)換的文件。
10.一種用于執(zhí)行自動(dòng)化服務(wù)的系統(tǒng),所述系統(tǒng)包括: 前端服務(wù)器,所述前端服務(wù)器包括: 處理器;以及 與所述處理器電通信的存儲(chǔ)器,所述存儲(chǔ)器包括計(jì)算機(jī)可執(zhí)行指令,所述計(jì)算機(jī)可執(zhí)行指令在由所述處理器執(zhí)行時(shí)執(zhí)行一種方法,所述方法包括: 由請(qǐng)求者生成文件轉(zhuǎn)換請(qǐng)求,所述請(qǐng)求包括文件轉(zhuǎn)換選項(xiàng)和表示至少一個(gè)初始文件的數(shù)據(jù),其中所述至少一個(gè)初始文件具有初始文件類(lèi)型,并且其中生成文件轉(zhuǎn)換請(qǐng)求包括:收集請(qǐng)求數(shù)據(jù),其中所述請(qǐng)求數(shù)據(jù)包括轉(zhuǎn)換選項(xiàng); 判定所述請(qǐng)求者被授權(quán)訪問(wèn)所述至少一個(gè)初始文件;以及 把所述請(qǐng)求和所述至少一個(gè)初始文件打包在請(qǐng)求消息中,其中所述至少一個(gè)初始文件被打包成數(shù)據(jù)流;以及 將所述請(qǐng)求消息發(fā)送給后端服務(wù)器進(jìn)行文件轉(zhuǎn)換。
【文檔編號(hào)】G06F15/16GK103608801SQ201280029240
【公開(kāi)日】2014年2月26日 申請(qǐng)日期:2012年6月10日 優(yōu)先權(quán)日:2011年6月15日
【發(fā)明者】H·因戈?duì)? R·洛, C·楊, C·基科恩 申請(qǐng)人:微軟公司