CN103608801A - 演示软件自动化服务 - Google Patents
演示软件自动化服务 Download PDFInfo
- Publication number
- CN103608801A CN103608801A CN201280029240.3A CN201280029240A CN103608801A CN 103608801 A CN103608801 A CN 103608801A CN 201280029240 A CN201280029240 A CN 201280029240A CN 103608801 A CN103608801 A CN 103608801A
- Authority
- CN
- China
- Prior art keywords
- request
- file
- conversion
- original document
- end server
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/116—Details of conversion of file system types or formats
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了用于执行自动化服务的实施例。在各实施例中,自动化服务是能够把初始文件转换成与初始文件具有不同文件类型的经转换的文件的应用、过程或系统。在实施例中,请求者生成转换请求消息。转换请求消息可以包含与期望的转换、转换期间要执行的选项和要转换的初始文件有关的信息。可以用作为请求消息一部分的数据流来表示初始文件。请求消息被发送到文件转换器,该文件转换器对数据流执行期望的请求以创建经转换的文件。
Description
背景
一些演示应用向用户提供了把演示文件类型转换成不同文件类型的选项。为了使用这个选项,用户不得不使用演示应用单独地打开并转换每个文件。但是,存在用户期望把大量演示文件转换成不同文件格式的情形。这在其中公司想要把大量存储的演示转换成不同文件格式的商业环境中尤其成立。在这些情形中,使用由演示应用提供的转换选项来转换大量的演示文件是没有效率的。本发明的各实施例正是对于这一一般环境而构想的。
虽然本背景技术中着眼于特定的问题,但本发明决不旨在限于解决那些特定问题。
概述
公开了用于执行自动化服务的实施例。在各实施例中,自动化服务是能够把初始文件转换成与初始文件具有不同文件类型的经转换的文件的应用、过程或系统。例如,可以采用自动化服务把诸如POWERPOINT TM(.ppt)文件或/和开放办公室(Open Office)XML演示文件(.pptx)的演示文件转换成经转换的文件(例如,PDF文件,XPS文件,JPEG文件,PNG文件,或者任何其他类型的文件)。
在实施例中,请求者生成转换请求消息。转换请求消息可以包含与期望的转换、转换期间要执行的选项和要转换的初始文件有关的信息。可以用作为请求消息一部分的数据流来表示初始文件。请求消息被发送到文件转换器,该文件转换器对数据流执行期望的请求以创建经转换的文件。经转换的文件随后被返回给请求者。在附加实施例中,文件转换器可以排定各请求的优先级。例如,文件转换器可以将单个文件转换请求的优先级排定在转换批处理文件的请求之上。
提供本概述是为了以简化的形式介绍将在以下详细描述中进一步描述的一些概念。本概述并不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于限定所要求保护的主题的范围。
附图说明
在所有的图中,相同标号表示相同元素或相同类型的元素。
图1示出了用于执行自动化服务的系统100的实施例。
图2是表示用于生成并发送自动化请求的方法200的实施例的流程图。
图3是表示对自动化请求作出响应的方法300的实施例的流程图。
图4是表示用于处理多个自动化请求的方法400的实施例的流程图。
图5示出用于实现本文公开的各方法的计算机环境和计算机系统500的实施例。
具体实施方式
本发明现将参考其中示出了一些可能的实施例的附图来更完整地描述各示例性实施例。然而,其他方面能以许多不同的形式来实现,并且在本发明中包括各具体实施例不应被解释为将这些方面限于在此阐明的各实施例。相反,包括附图中描绘的各实施例是为了提供全面和完整且将预期的范围完全地传达给本领域技术人员的公开。在参考附图时,使用相同的附图标记来指示所有附图所示的相同的结构和元素。
公开了用于执行自动化服务的系统和方法的实施例。自动化服务是能够把初始文件转换成具有与初始文件不同文件类型的经转换的文件的应用、过程或系统。例如,可以采用自动化服务把诸如POWERPOINT TM(.ppt)文件或/和开放办公室(Open Office)XML演示文件(.pptx)的演示文件转换成经转换的文件(例如,PDF文件,XPS文件,JPEG文件,PNG文件,或者任何其他类型的不同文件)。
在实施例中,请求者生成转换请求消息。转换请求消息可以包含与期望的转换、转换期间要执行的选项和要转换的初始文件有关的信息。可以用作为请求消息一部分的数据流来表示初始文件。请求消息被发送到文件转换器,该文件转换器对数据流执行转换请求以创建经转换的文件。经转换的文件随后被返回给请求者。在附加实施例中,文件转换器排定各请求的优先级。例如,文件转换器可以将单个文件转换请求的优先级排定在转换批处理文件的请求之上。
例如,本文公开的系统和方法可以被用来把演示文件(例如,开放办公室XML演示(.pptx)文件,POWERPOINT TM演示(.ppt)文件或任何其他类型的演示文件)转换成具有不同文件类型的经转换的文件。在实施例中,经转换的文件类型是除原始文件类型之外的文件类型。例如,经转换的文件类型可以是但不受限于是以下文件类型中的一种:开放办公室XML演示(.pptx)文件、POWERPOINT TM演示(.ppt)文件、便携文档格式(.pdf)文件、XML页面规范(.xps)文件、JPEG(.jpg)文件,和/或便携网络图形(.png)文件。在某些实施例中,在把演示文件转换成诸如.jpg文件或.png文件的图像文件时,可以为该演示的每张幻灯片或页面生成单独图像。在一些实施例中,这些单独文件随后可被一起分组在一个压缩文件(例如,zip文件、tar文件、.gz文件、.7z文件或任何其他类型的压缩文件)中。
现在参考附图,图1示出了用于执行自动化服务的系统100的实施例。在实施例中,自动化服务是把初始文件转换成具有不同文件类型的经转换的文件的服务。系统100可以是联网系统、诸如但不限于诸如微软TM SHAREPOINTTM的平台的web服务平台或者任何其他类型的计算机环境的一部分。在实施例中,系统包括前端服务器101和后端服务器108。前端服务器101可以包括公共对象模型(“公共OM”)102,该公共对象模型102提供用于生成文件转换请求(诸如,举例而言转换演示文件的请求)的逻辑。在实施例中,公共OM102是请求者(例如,用户、开发者、应用、过程等)可用以创建文件转换请求的应用编程接口(“API”)。例如,在一个实施例中,公共OM102提供用于请求文件转换的类属方法。在此类实施例中,无论最终创建了什么类型的经转换的文件,都可调用该类属方法。在其他实施例中,公共OM102可以为每一类型的期望的经转换的文件类型提供专用转换方法。例如,公共OM102可以提供把演示文件转换成.pdf文件的专用方法,把演示文件转换成.jpg文件的不同方法,等等。在此类实施例中,公共OM102可以为每种文件类型转换展示不同的方法。
在实施例中,所提供的生成文件转换请求的各方法可以接受输入参数。例如,各方法可以将诸如演示文件的文件作为输入参数来接受。在一个实施例中,将该文件本身作为方法的输入来提供。例如,可以向该方法提供到要转换的初始文件的路径。在这种情况下,该方法可以随后使用路径信息来访问文件。在其他实施例中,该方法可以接收表示初始文件的数据流。使用数据流为文件转换自动化服务提供额外效率。如果将初始文件作为流来提供,则允许自动化服务对该数据流执行文件转换,而不必分配存储器来存储初始文件和经转换的文件。在转换该流后,自动化服务可把经转换的文件以数据流的形式传递回请求者。
在实施例中,公共OM102取决于输入中所提供的文件数目来接受输入路径或流。例如,可以将单个文件作为输入路径或流来提供。但是,可以向整个文件夹或网络列表(诸如但不限于SHAREPOINT TM列表)、这样的对象分组提供路径数据,该路径数据提供初始文件的位置和用以写经转换的文件的位置。在其他实施例中,诸如在公共OM102提供如上所述的类属转换方法时,该方法还以例如指示请求者所期望的文件转换类型的参数的形式接收信息。
在又一实施例中,公共OM102所提供的方法接收有关转换选项的信息。例如,取决于所请求的经转换的文件的类型,请求者可以指示自动化服务可在转换过程期间执行附加动作。例如,在请求者请求将演示文件转换成图像或一系列图像的实施例中,请求者可以指定图像的尺寸、图像的分辨率或任何数量的其他与图像相关的选项。在请求者请求将演示文件转换成.pdf文件的另一实施例中,请求者可以请求每页的幻灯片数目,是否将来自演示文件的注解包括在经转换的.pdf文件或.xps文件中,经转换的文件是否是PDF/A格式,所得到的经转换的文件是否是使用标准质量或高质量创建的,是否包括隐藏幻灯片,是否给幻灯片加框,或者在创建.pdf文件时常采用的任何其他类型的说明或选项。在其他实施例中,方法可以接收有关包括或去除元数据的选项,有关经转换的文件是否被压缩的选项,或者在创建某种类型的文件时所提供的任何其他类型的选项。
自动化服务还可以提供请求者可以使用来在文件转换期间将某些数据从诸如演示文件的文件中去除的文档检查选项。在实施例中,自动化服务可以提供自动化去除信息的选项。例如,自动化服务可以提供请求者可以选择来判定是否将某些信息包括在经转换的文件中的选项。这样的信息可以包括:评论和注释、文档属性和PII、定制XML、不可见的幻灯片上内容、幻灯片外内容、和/或演示注解。
除了提供生成对文档转换的请求的方法以外,公共OM102还提供用来执行用于文件转换的自动化服务的附加方法。例如,公共OM102可以提供启动方法(例如,“开始”或“开动”方法)以例如通过调用自动化服务或通过向另一过程发送执行自动化服务的请求来开始自动化服务。由公共OM102提供的其他方法可以包括用以完成自动化服务的终止方法(例如,“结束”方法)。例如,在一个实施例中,终止方法可以通知请求者自动化服务已经完成。在这些实施例中,终止方法还可以向请求者提供一个或多个经转换的文件。在另一个实施例中,如果自动化服务文件转换失败,终止服务例如可以通过把错误消息传递回请求者来将该失败告知请求者。
在实施例中,公共OM102使用处理通知的异步模式方法。通过采用异步模式方法,请求者不必在转换正进行时监视文件转换请求的状态。这允许请求者在等待文件转换时执行其他任务。另外,异步模式方法允许请求者向自动化服务提出文件转换请求而不阻塞资源。
在实施例中,在请求者能够向自动化服务提供初始文件并使用公共OM102来生成请求之前,对请求者执行确认和安全性检查。例如,请求者可能不得不执行认证和授权检查以确保请求者具有访问初始文件或目录的合适许可集。在一个实施例中,在请求者访问公共OM102之前执行确认和安全性检查。在另一个实施例中,公共OM102可以执行确认和安全性检查。
前端服务器101还可以包括请求管理器104。请求管理器104可以和公共OM102或使用公共OM102的任何应用通信。请求管理器104向后端服务器108发送请求。在实施例中,虽然在图1中未示出,但自动化服务可以是跨多个服务器的分布式服务。在这些实施例中,在系统100中可以采用多个后端服务器108。在分布式实施例中,请求管理器104可以通过执行负载平衡来判定把请求发送到哪个后端服务器108。例如,请求管理器104可以使用一致性散列在后端服务器108间分配请求。在另外的实施例中,请求管理器104还可以在前端服务器101失去其到后端服务器108的连接的情形下或在后端服务器108停工的情况下执行故障转移方法。请求管理器104还可以在请求消息没被正确地递送到后端服务器108的情况下重试发送消息。
在实施例中,前端服务器101还可以包括自动化服务代理106,其被用来建立位于后端服务器108上的自动化服务110和前端服务器101间的通信。自动化服务代理106可以是Windows通信基础(“WCF”)代理。WCF代理可以被用来访问后端服务器108上的自动化服务110。在另一个实施例中,自动化服务代理106可以是能够提供与远程应用的通信和/或访问远程应用的任何其他类型的代理或API。
系统100还包括后端服务器108。在实施例中,后端服务器108包含执行自动化服务文件转换的应用和/或过程。后端服务器108从前端服务器102接收请求并执行自动化服务以把文件转换成新文件类型。在实施例中,后端服务器108在数据流中接收供转换的一个或多个初始文件。后端服务器108上的过程对数据流进行操作以创建经转换的文件并经由前端服务器把经转换的文件作为经转换的文件数据流传递回请求者。对数据流进行操作通过使后端服务器108免于保存初始文件或经转换的文件而产生存储效率。
在实施例中,后端服务器108包括自动化服务110。自动化服务110促成了经由自动化服务代理106与web前端服务器101通信。例如,自动化服务110接收对文件转换的请求,并且在成功转换的情况下把经转换的文件返回给web前端服务器101。如果转换不成功,自动化服务110可以把错误代码传送到前端服务器101。在一个实施例中,错误代码可以是与所产生的错误类型相对应的唯一错误代码。错误代码可以包括与文件转换为什么不成功有关的信息。在另外的实施例中,自动化服务110可以是WCF端点。在这些实施例中,自动化服务110具有地址并且指定绑定和前端服务器101可用来联系自动化服务的合同。在其他实施例中,自动化服务110可以是能够接收请求并把响应传送回请求者的任何类型的远程可访问应用。
后端服务器108还可以包括应用管理器(AppManager)112。该应用管理器112可被用来选择诸如转换器116的合适过程来执行所请求的文件转换。如图1所示,后端服务器108可以包括可被用来执行所请求的文件转换的多个转换器116过程。另外,后端服务器108可以包括工作器114,诸如工作器1到工作器N。在实施例中,工作器114可以是促成应用管理器112和一个或多个转换器116过程之间的通信的对转换器116过程的包装。
在一个实施例中,后端服务器运行多个转换器116过程以执行文件转换,诸如把演示文件转换成不同的文件格式。每个转换器116可能能够一次执行单个文件转换。由此,后端服务器108提供用来同时处理大量文件请求的多个转换器116。在这些实施例中,在接收到请求后,后端服务器108就利用应用管理器112来判定是否存在不处于使用中的空闲转换器116。如果存在空闲转换器116,应用管理器112把请求引导到该空闲过程。在一个实施例中,引导请求到空闲转换器116可以包括提供请求、任何请求选项以及初始文件或数据流。
在一个实施例中,每个转换器116能够对初始文件执行任何支持类型的文件转换。在另一个实施例中,不同的转换器116可以被用来执行不同类型的文件转换。在这些实施例中,除了标识空闲转换器116之外,应用管理器112还标识要将请求发送到的正确的转换器(例如,能够执行所请求的转换类型的转换器)。
在实施例中,由转换器116执行自动化服务提供的文件转换。例如,转换器116接收初始文件(或包含初始文件的数据流)及任何所请求的转换选项,并生成经转换的文件。后端服务器108通过经由自动化服务110把经转换的文件传递回前端服务器101来把经转换的文件返回给请求者。前端服务器101可以随后为请求者存储经转换的文件或把经转换的文件提供回请求者。
尽管图1示出使用前端服务器101和后端服务器108来执行用于文件转换的自动化服务的系统100,本领域的技术人员将理解自动化服务可以在具有更少或更多服务器的系统中执行。例如,可以由单个服务器或三个或更多个服务器来执行图1中所述的所有过程和/或模块。在实施例中,过程可以由驻留在计算机存储介质中的软件指令来执行,当这些指令被处理器执行时执行自动化服务。在另一个实施例中,图1中所述的过程和/或方法可以用硬件实现。另外,当图1描述具体模块(例如请求管理器104、应用管理器112等)时,参考系统100来描述的功能可以使用比图1中示出的更少或更多的模块来执行。
已经描述了用于执行自动化服务的系统,图2-4示出可被用来执行自动化服务的方法的各种实施例。图2示出表示用于生成并发送自动化请求的方法200的实施例的流程图。方法200可以被系统、应用或过程执行来请求文件转换。例如,方法200可以由诸如应用或过程或作为网络的一部分的服务器(诸如,前端服务器101)的请求生成器来执行。流程开始于操作202,在操作202处,方法200从请求者接收请求数据。请求者可以是请求文件转换的用户、应用或过程,该文件转换诸如但不限于把演示文件转换成另一种文件类型。在实施例中,请求数据可以包括与以下各项有关的信息:请求类型、初始文件数据、初始文件类型、期望的转换文件类型、转换文件数据(例如,转换文件的名称、位置、类型等)或对自动化过程有用的其他任何类型的信息。
在接收所请求的数据之后,流程可选地行进到操作204,在操作204处,方法200可选地判定请求者的许可。例如,在可选的操作204,方法200可以验证请求者的真实性,验证请求者被授权访问初始文件或创建经转换的文件、执行确认功能、执行安全性检查等等。在另一个实施例中,在请求者能够请求数据转换之前检查并确认请求者的许可。在这样的实施例中,方法200不执行可选步骤204。
如果在操作204处确认了请求者的许可或者在方法200开始以前确认了用户的许可,流程继续到操作206。在操作206处,方法准备请求消息的请求部分。在实施例中,自动化服务请求可以包含多个部分。请求消息的一部分可以是请求部分。在这些实施例中,消息的请求部分可以包括对新经转换的文件类型、转换选项或任何其他类型的与请求相关信息的请求。
流程继续到操作208,在操作208处,将请求数据与初始文件数据一起打包以创建请求消息。在实施例中,请求消息包括请求数据和要转换的初始文件。在一个实施例中,初始文件可以通过在操作208处把到该文件的路径包括在请求消息中来提供。在另一个实施例中,初始文件数据可以被表示为数据流,该数据流与要发送的请求数据一起打包成请求消息。在将请求数据和文件数据打包并由此生成请求消息之后,流程继续到操作210,在操作210处,请求消息被发送到自动化服务。在一个实施例中,发送请求消息到自动化的服务包括发送消息到执行自动化服务的任何数量的应用或过程。在一个实施例中,自动化服务可以与请求者和/或请求应用位于相同的机器上。在另一个实施例中,自动化的服务可以位于不同的服务器上。在这些实施例中,操作210处的发送请求消息可以利用诸如自动化服务代理106的通信模块来促成与远程机器的通信。
在发送请求消息之后,流程继续到操作212,在操作212处,请求生成器接收对请求的响应。在实施例中,自动化服务利用向请求生成器提供通知的异步模式方法。这使得请求生成器免于必须监视转换请求的状态并且允许请求生成器在等待对请求的响应时执行其他任务。但是,在另一个实施例中,在操作212处,执行方法200的请求生成器可以实际监视请求的状态。
对请求的响应可以是经转换的文件或者其可以是错误代码。如果响应包括经转换的文件,在操作212处处理经转换的文件。处理经转换的文件可以包括向请求者发送文件、存储文件、访问文件并向用户显示文件、和/或修改文件。如果在操作212处响应包括错误代码而不是经转换的文件,处理响应可以包括重新发送请求。在实施例中,错误代码可以是提供包含失败的转换的原因的附加信息的唯一的错误代码。如果请求生成器接收错误代码,它可以在重新发送请求之前解决错误。解决错误可以包括修改请求或生成新请求及发送新请求。
尽管方法200已经被描述为包括各分立操作,但本领域的技术人员将理解图2中所述的各操作可以结合到一起或分离开,从而产生仍能执行参考方法200所述的各实施例的更少或更多的操作。此外,本领域的技术人员将理解尽管按照特定次序描述了方法200,但这些操作的次序可以被重新排列,而仍执行图2中所述方法的各实施例。
图3是表示对自动化请求作出响应的方法300的实施例的流程图。在实施例中,方法300可以由文件转换器来实施。文件转换器可以是能够执行图3中所述操作的应用、过程、机器或任何其他设备。例如,方法300可以由后端服务器108和/或之前参考图1讨论的模块中的一个或多个来执行。流程开始于操作302,在操作302处,方法300接收对文件转换的请求。在实施例中,请求可以包含请求消息,该请求消息包括与请求和/或要转换的初始文件相关的信息。在实施例中,在方法300可以对其执行转换的数据流中接收初始文件。这允许该方法转换初始文件,而无需在本地保存初始文件的备份。
响应于接收请求,流程继续到操作304,在操作304处执行文件转换。例如,诸如但不限于.ppt和.pptx文件的演示文件被转换成不同的文件类型(例如,.pdf文件,.xps文件,.jpg文件,.png文件,或包括多个.jpg或.png文件的压缩文件,或任何其他文件类型)。在另一个实施例中,文件转换器还把.ppt文件转换成.pptx或把.pptx文件转换成.ppt文件。在另外的实施例中,文件转换器还执行转换选项,这些转换选项诸如但不限于设定图像尺寸及分辨率,以及添加或去除信息。
在转换过程之后,流程行进到判定操作306,在操作306处,方法300判定转换是否成功。如果转换成功,流程使“是”分支到操作308并且经转换的文件被发送到请求者。例如,在对数据流操作的转换的实施例中,数据流可以被发送回请求者。在一个实施例中,如果转换不成功,流程使“否”分支到操作310,并且方法300向请求者返回错误代码。在实施例中,错误代码告知请求者转换失败,并且错误代码包括有关转换为什么不成功的信息。
图4是表示用于处理多个自动化请求的方法400的实施例的流程图。在实施例中,方法400可以由文件转换器来实施。文件转换器可以是能够执行图4中所述操作的应用、过程、机器或任何其他设备。例如,方法400可以由后端服务器100和/或之前参考图1讨论的模块中的一个或多个来执行。
流程开始于操作402,在操作402处,文件转换器从请求者接收第一请求。该请求可以包括请求消息,该请求消息包含与请求和/或要转换的初始文件相关的信息。在实施例中,在方法400可以对其执行转换的数据流中接收初始文件。这允许该方法转换初始文件,而无需在本地保存初始文件的备份。在另外的实施例中,请求可以包括需要转换的文件的数目。例如,该请求可以包括转换多个文件的批处理请求。流程行进到操作404,在操作404处,文件转换器开始转换在操作402中接收到的一个或多个文件。再一次作为示例,诸如但不限于.ppt和.pptx文件的一个或多个演示文件可被转换成不同的文件类型(例如,.pdf文件,.xps文件,.jpg文件,.png文件,或包括多个.jpg或.png文件的压缩文件,或任何其他文件类型)。在另一个实施例中,文件转换器还可把.ppt文件转换成.pptx或把.pptx文件转换成.ppt文件。在另外的实施例中,文件转换器还执行转换选项,这些转换选项诸如但不限于设定图像尺寸及分辨率,以及添加或去除信息。
在稍后的时间点,文件转换器从请求者接收对文件转换的第二请求。该请求者可以是与生成在操作402处接收到的第一请求的那个请求者相同或不同的请求者。如参考图1所讨论的,诸如后端服务器100的文件转换器可以包括多个文件转换过程。但是,多个过程可以全部都参与到文件转换过程,例如如果每一过程都参与到转换一批文件中的话。一般而言,当请求者请求批处理转换时,请求者并不期望该转换立即完成。在这种情况下,请求者可能并不期望访问所有经转换的文件,直到所有文件被转换完。另一方面,对单个文件转换的请求可能需要立即访问该经转换的文件。例如,请求者可以是需要对文件执行诸如处理或显示文件之类的任务但以当前格式无法这样做的应用。请求者提出对文件格式转换的请求,从而使其可以执行其任务。在这种情况下,请求者对经转换的文件的需求可能是立即的。但是,对于不立即需要经转换的文件的请求者而言,文件转换器可能会参与到批处理转换中。这对于稍后的请求者而言会导致过度的延迟。
为了减轻该问题,文件转换器可以将对单个文件的请求的优先级排定在对一批文件的请求之上。为了实现优先级排定,流程继续到操作408,在操作408处,文件转换器判定第一请求(或者多个较早的请求)是否仍在处理中或者在进行中。如果第一请求已经完成,或者任何单独文件转换过程(例如,转换器116)为空闲,流程使“否”分支到操作410并且第二请求被处理(例如,第二文件被转换)。
如果第一请求仍在处理中,或者如果不存在空闲的转换过程,流程使“是”分支到操作412。在操作412处,作出第二请求是否是针对一批文件的转换的判定。如果第二请求针对批处理转换,则所列出的问题很可能就不是问题了,因为请求者可能期望该转换过一段时间再完成。在该情形中,流程使“是”分支到操作414。在这种情况下,第二请求(例如,在时间上稍后的请求)可以等待第一转换在操作414处完成。在第一操作完成之后,或者转换过程一变成空闲,流程就继续到操作410,在操作410处,文件转换器执行第二请求的文件转换并随后方法完成。
如果第二转换不是批处理请求,请求者可能正期望很快收到经转换的文件。在这种情况下,流程使“否”从判定操作412分支到判定操作416。在判定操作416,文件转换器判定第一过程(或者所有在时间上较早的过程)是否针对批处理转换。如果较早的请求都不针对批处理转换,所有较早的请求者可能都期望快速收到其经转换的文件。在这种情况下,第二请求(例如,在时间上稍后的请求)可以等待它的时机。流程使“否”分支到操作414。在第一操作完成之后,或者转换过程一变成空闲且在处理队列上接下来是第二过程,流程就继续到操作410,在操作410处,文件转换器执行第二请求的文件转换并随后方法完成。
如果第一过程是批处理过程,则流程使“是”分支到操作418且将第二过程的优先级排定在第一过程之上。在一个实施例中,如果第一请求仍在等待可用的文件转换器过程,优先级排定可以包括在处理次序上把第二请求放置在第一请求之前。在另一个实施例中,如果第一过程当前正被处理,可以暂停该过程以释放文件转换过程来处理第二请求。一完成第二请求就可继续第一转换。方法400通过在针对不期望快速递送经转换的文件的请求者的请求进行转换之前或在完成该转换之前先处理来自期望快速响应的请求者的请求,而减轻了过度延迟。
参考图5,用于实现本文描述的各实施例的计算环境的一实施例包括计算机系统,如计算机系统500。所描述的各实施例的任何和所有组件可以作为客户机计算机系统、服务器计算机系统、客户机和服务器计算机系统的组合、手持式设备、以及本文描述的其他可能的计算环境或系统来执行或在它们之上执行。如此,以下描述可应用于所有这些环境的基本计算机系统。
在其最基本的配置中,计算机系统500包括至少一个处理单元或处理器504和系统存储器506。计算机系统500的该最基本配置在图5中由虚线502来示出。在各实施例中,所描述的系统的一个或多个组件被加载到系统存储器506中,并由处理单元504从系统存储器506中执行。取决于计算机系统500的确切配置和类型,系统存储器506可以是易失性(如RAM)、非易失性(诸如ROM、闪存等)或这两者的某种组合。
另外,计算机系统500还可具有附加特征/功能。例如,系统500包括附加存储介质508,如可移动和/或不可移动存储,包括但不限于磁盘、光盘或磁带。在一些实施例中,软件或可执行码以及用于所描述的系统的任何数据被持久存储在存储介质508中。存储介质508包括以存储如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术来实现的易失性和非易失性、可移动和不可移动介质。在实施例中,计算机可执行指令用来执行本文所述的方法,诸如但不限于对自动化请求作出响应的方法300(图3)以及对自动化请求400作出响应的方法400(图4)的方法被存储在存储介质508中。
系统存储器506和存储介质508都是计算机存储介质的示例。计算机存储介质包括,但不限于,RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(“DVD”)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备或能用于存储所需信息且可以由计算机系统500和处理器504访问的任何其他介质。任何这样的计算机存储介质都可以是计算机系统500的一部分。在各实施例中,系统存储器506和/或存储介质508存储用于执行本文所公开的各方法和/或形成本文公开的系统的数据,这些方法和系统诸如创建文件转换请求或执行自动化服务。参考图1所述的各种模块还可以存储在系统存储器506和/或存储介质508中。在实施例中,系统存储器506存储用于执行本文中所述方法的指令,诸如请求生成指令514和自动化服务516。
计算机系统500还可包含允许该设备与其他设备通信的通信连接510。在各实施例中,通信连接510可被用来在发送者设备、中间设备、以及接收者设备之间传送和接收消息。通信连接510是通信介质的一个示例。通信介质可包含诸如载波或其他传输机制等已调制数据信号并且包括任何信息传递介质,它能以已调制数据信号来体现计算机可读指令、数据结构、程序模块或其他数据。术语“已调制数据信号”指的是其一个或多个特征以在数据信号中编码信息或消息的方式被设定或更改的信号。作为示例而非限制,通信介质包括有线介质,诸如有线网络或直接线连接,以及无线介质,诸如声学、RF、红外线和其他无线介质。
在一些实施例中,计算机系统500还包括输入和输出连接512以及接口和外围设备,如图形用户界面。输入设备也被称为用户界面选择设备并且包括但不限于,键盘、鼠标、笔、语音输入设备、触摸输入设备等。输出设备也被称为显示器,并且包括但不限于,阴极射线管显示器、等离子屏显示器、液晶屏显示器、扬声器、打印机等。或单独地或组合地连接到输入和输出连接512的这些设备被用来显示本文描述的信息。所有这些设备在本领域是众知的并且不必在此详细讨论。
在一些实施例中,本文描述的组件包括可由计算机系统500执行的、可以存储在计算机存储介质中和其他有形介质中并在通信介质中传送的模块或指令。计算机存储介质包括以用于存储如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。以上的任何组合也可包括在可读介质的范围内。在一些实施例中,计算机系统500是将数据存储在远程存储介质中以供计算机系统500使用的网络的一部分。
本说明书参考附图描述了一些实施例,附图中只示出了可能的实施例中的一些。然而,其他方面可被实现为许多不同的形式并且不应被解释为被限于此处描述的各实施例。相反,提供这些实施例以使得本公开透彻和完整,并且将所有可能实施例的范围完全传达给本领域技术人员。
虽然已经用对结构特征、方法动作和包含这些动作的计算机可读介质专用的语言描述了各实施例,但是应该理解,如在所附权利要求中定义的可能的实施例不必限于所描述的具体结构、动作、或介质。本领域技术人员将认识到本发明精神和范围中的其他实施例或改进。因此,具体结构、动作或介质只是作为说明性实施例来公开的。本发明由所附权利要求书来限定。
Claims (10)
1.一种用于执行自动化服务的方法,所述方法包括:
在后端服务器处从第一请求者接收对第一文件转换的第一请求,其中所述第一请求包括表示至少一个初始文件的流数据,并且其中所述至少一个初始文件包括初始文件类型;
判定多个转换过程中的至少一个转换过程是空闲的;
基于所述判定,向所述至少一个空闲过程提供所述流数据;
使用所述至少一个空闲过程从所述数据流生成至少一个经转换的文件;
判定所述至少一个空闲过程是否成功地生成了所述至少一个经转换的文件;以及
在所述至少一个空闲过程成功地生成了所述至少一个经转换的文件时,将所述至少一个经转换的文件发送到所述请求者。
2.如权利要求1所述的方法,其特征在于,所述请求还包括请求数据。
3.如权利要求2所述的方法,其特征在于,所述请求数据进一步包括转换选项。
4.如权利要求1所述的方法,其特征在于,还包括:
在所述至少一个空闲过程没有成功地生成所述至少一个经转换的文件时,向所述请求者发送错误消息。
5.如权利要求1所述的方法,其特征在于,所述第一请求是执行批处理过程文件转换的请求。
6.如权利要求5所述的方法,其特征在于,还包括:
在所述后端服务器处接收对第二文件转换的第二请求;
判定对所述对第二文件转换的所述第二请求是单个文件请求;
判定所述第一批处理过程文件转换仍在进行中;以及
将所述单个文件请求的优先级排定在所述批处理过程请求之上,其中将所述单个文件请求的优先级排定在所述批处理过程请求之上为在所述第一文件转换完成之前执行所述第二文件转换作准备。
7.一种用于请求演示文件自动化服务的方法,所述方法包括:
在前端服务器处由请求者生成文件转换请求,所述请求包括文件转换选项和表示至少一个初始文件的数据,其中所述至少一个初始文件具有初始文件类型,并且其中生成对演示自动化服务的请求包括:
收集请求数据,其中所述请求数据包括转换选项;
判定所述请求者被授权访问所述至少一个初始文件;以及
把所述请求和所述至少一个初始文件打包在请求消息中,其中所述至少一个初始文件被打包成数据流;
将所述请求消息发送给后端服务器进行文件转换。
8.如权利要求7所述的方法,其特征在于,还包括在所述前端服务器处接收来自所述后端服务器的响应。
9.如权利要求8所述的方法,其特征在于,所述响应包括至少一个经转换的文件。
10.一种用于执行自动化服务的系统,所述系统包括:
前端服务器,所述前端服务器包括:
处理器;以及
与所述处理器电通信的存储器,所述存储器包括计算机可执行指令,所述计算机可执行指令在由所述处理器执行时执行一种方法,所述方法包括:
由请求者生成文件转换请求,所述请求包括文件转换选项和表示至少一个初始文件的数据,其中所述至少一个初始文件具有初始文件类型,并且其中生成文件转换请求包括:
收集请求数据,其中所述请求数据包括转换选项;
判定所述请求者被授权访问所述至少一个初始文件;以及
把所述请求和所述至少一个初始文件打包在请求消息中,其中所述至少一个初始文件被打包成数据流;以及
将所述请求消息发送给后端服务器进行文件转换。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/160,975 | 2011-06-15 | ||
US13/160,975 US20120323975A1 (en) | 2011-06-15 | 2011-06-15 | Presentation software automation services |
PCT/US2012/041789 WO2012173897A2 (en) | 2011-06-15 | 2012-06-10 | Presentation software automation services |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103608801A true CN103608801A (zh) | 2014-02-26 |
Family
ID=47354590
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280029240.3A Pending CN103608801A (zh) | 2011-06-15 | 2012-06-10 | 演示软件自动化服务 |
Country Status (12)
Country | Link |
---|---|
US (1) | US20120323975A1 (zh) |
EP (1) | EP2721514A4 (zh) |
JP (1) | JP2014522017A (zh) |
KR (1) | KR20140038458A (zh) |
CN (1) | CN103608801A (zh) |
AR (1) | AR088415A1 (zh) |
BR (1) | BR112013032018A2 (zh) |
CA (1) | CA2838625A1 (zh) |
MX (1) | MX2013014808A (zh) |
RU (1) | RU2013155628A (zh) |
TW (1) | TW201250588A (zh) |
WO (1) | WO2012173897A2 (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130117802A1 (en) * | 2011-11-03 | 2013-05-09 | Patrick Fendt | Authorization-based redaction of data |
US8762406B2 (en) | 2011-12-01 | 2014-06-24 | Oracle International Corporation | Real-time data redaction in a database management system |
US20150106478A1 (en) * | 2013-10-15 | 2015-04-16 | Microsoft Corporation | File handlers supporting dynamic data streams |
US20150169508A1 (en) * | 2013-12-13 | 2015-06-18 | Konica Minolta Laboratory U.S.A., Inc. | Obfuscating page-description language output to thwart conversion to an editable format |
CN108388659B (zh) * | 2018-03-07 | 2021-11-16 | 京东方科技集团股份有限公司 | 一种文件浏览方法和装置 |
US11431683B2 (en) * | 2018-05-17 | 2022-08-30 | Flexa Network Inc. | Secure and trusted data communication system |
CN116383427B (zh) * | 2023-06-06 | 2023-08-11 | 深圳市微克科技有限公司 | 一种基于智能穿戴设备的图片批量解析方法、系统及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1235305A (zh) * | 1997-11-19 | 1999-11-17 | 国际商业机器公司 | 用于归档和访问电子报文的数据处理系统和方法 |
US20020069196A1 (en) * | 2000-12-05 | 2002-06-06 | International Business Machines Corporation | Method, system and program product for enabling authorized access and request-initiated translation of data files. |
CN1384451A (zh) * | 2001-04-27 | 2002-12-11 | 黎明网络有限公司 | 一种实现多业务数据交换的方法及其装置 |
CN1445649A (zh) * | 2002-03-20 | 2003-10-01 | 文化传信科技(澳门)有限公司 | 数据显示方法以及系统 |
US7681122B1 (en) * | 2002-11-06 | 2010-03-16 | Vistaprint Technologies Limited | File conversion system and method |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6421429B1 (en) * | 1993-12-29 | 2002-07-16 | At&T Corporation | Network-based system enabling image communications |
US7058681B1 (en) * | 2000-07-10 | 2006-06-06 | Canon Information Systems, Inc. | Data reproduction system and method |
WO2004070617A1 (en) * | 2003-02-03 | 2004-08-19 | Pfk Technologies | Online method and system for converting any file in any format into a pdf file for various uses |
US7185030B2 (en) * | 2004-03-18 | 2007-02-27 | Hitachi, Ltd. | Storage system storing a file with multiple different formats and method thereof |
US9009582B2 (en) * | 2004-11-19 | 2015-04-14 | Google Inc. | Converting spreadsheet applications to web-based applications |
-
2011
- 2011-06-15 US US13/160,975 patent/US20120323975A1/en not_active Abandoned
-
2012
- 2012-04-16 TW TW101113494A patent/TW201250588A/zh unknown
- 2012-06-10 MX MX2013014808A patent/MX2013014808A/es not_active Application Discontinuation
- 2012-06-10 CN CN201280029240.3A patent/CN103608801A/zh active Pending
- 2012-06-10 KR KR1020137033186A patent/KR20140038458A/ko not_active Application Discontinuation
- 2012-06-10 BR BR112013032018A patent/BR112013032018A2/pt not_active IP Right Cessation
- 2012-06-10 EP EP12800017.1A patent/EP2721514A4/en not_active Withdrawn
- 2012-06-10 JP JP2014515892A patent/JP2014522017A/ja active Pending
- 2012-06-10 WO PCT/US2012/041789 patent/WO2012173897A2/en active Application Filing
- 2012-06-10 RU RU2013155628/08A patent/RU2013155628A/ru not_active Application Discontinuation
- 2012-06-10 CA CA2838625A patent/CA2838625A1/en not_active Abandoned
- 2012-06-18 AR ARP120102155A patent/AR088415A1/es unknown
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1235305A (zh) * | 1997-11-19 | 1999-11-17 | 国际商业机器公司 | 用于归档和访问电子报文的数据处理系统和方法 |
US20020069196A1 (en) * | 2000-12-05 | 2002-06-06 | International Business Machines Corporation | Method, system and program product for enabling authorized access and request-initiated translation of data files. |
CN1384451A (zh) * | 2001-04-27 | 2002-12-11 | 黎明网络有限公司 | 一种实现多业务数据交换的方法及其装置 |
CN1445649A (zh) * | 2002-03-20 | 2003-10-01 | 文化传信科技(澳门)有限公司 | 数据显示方法以及系统 |
US7681122B1 (en) * | 2002-11-06 | 2010-03-16 | Vistaprint Technologies Limited | File conversion system and method |
Also Published As
Publication number | Publication date |
---|---|
WO2012173897A3 (en) | 2013-03-14 |
TW201250588A (en) | 2012-12-16 |
AR088415A1 (es) | 2014-06-11 |
WO2012173897A2 (en) | 2012-12-20 |
RU2013155628A (ru) | 2015-06-20 |
KR20140038458A (ko) | 2014-03-28 |
JP2014522017A (ja) | 2014-08-28 |
US20120323975A1 (en) | 2012-12-20 |
CA2838625A1 (en) | 2012-12-20 |
EP2721514A2 (en) | 2014-04-23 |
MX2013014808A (es) | 2014-01-24 |
EP2721514A4 (en) | 2014-12-10 |
BR112013032018A2 (pt) | 2016-12-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103608801A (zh) | 演示软件自动化服务 | |
KR102121159B1 (ko) | 이벤트-구동 블록체인 워크플로우 프로세싱 | |
CN108196915B (zh) | 基于应用容器引擎的代码处理方法、设备及存储介质 | |
US9098338B2 (en) | Work flow command processing system | |
US8789058B2 (en) | System and method for supporting batch job management in a distributed transaction system | |
CN102223363B (zh) | 在管理通信会话的图形界面中生成持续会话的系统和方法 | |
CN114363407B (zh) | 消息服务方法及装置、可读存储介质及电子设备 | |
JP2007041720A (ja) | ジョブステップ実行プログラムおよびジョブステップ実行方法 | |
US10606799B2 (en) | Transferring data using a data bridge structure | |
US9842001B2 (en) | System level acceleration server | |
CN113505520A (zh) | 用于支持异构联邦学习的方法、装置和系统 | |
CN111858007A (zh) | 一种基于消息中间件的任务调度方法方法和装置 | |
CN110362318A (zh) | 应用部署方法、装置、设备和存储介质 | |
TW201426309A (zh) | 薄化書本 | |
CN104094299A (zh) | 从发布的日历检索可用性信息 | |
JP2012093992A (ja) | データセンタ統括システム、データセンタ統括装置およびプログラム | |
CN110233791B (zh) | 数据去重方法和装置 | |
JP4696744B2 (ja) | プログラムテスト装置、方法、及び、プログラム | |
KR20200003764A (ko) | 업무객체 기반 업무처리장치 및 방법 | |
US20160112485A1 (en) | Streaming data on data processes | |
CN112825525B (zh) | 用于处理事务的方法和装置 | |
CN113472638A (zh) | 边缘网关控制方法及系统、装置、电子设备、存储介质 | |
JPH1185694A (ja) | サーバー間連携業務運用システム | |
CN112487056A (zh) | 业务节点控制方法、系统、设备及存储介质 | |
WO2014203728A1 (ja) | メッセージ制御システム、メッセージ制御装置、メッセージ制御方法及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
ASS | Succession or assignment of patent right |
Owner name: MICROSOFT TECHNOLOGY LICENSING LLC Free format text: FORMER OWNER: MICROSOFT CORP. Effective date: 20150722 |
|
C41 | Transfer of patent application or patent right or utility model | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20150722 Address after: Washington State Applicant after: Micro soft technique license Co., Ltd Address before: Washington State Applicant before: Microsoft Corp. |
|
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20140226 |