CN102750266B - 管理文件转换的技术 - Google Patents
管理文件转换的技术 Download PDFInfo
- Publication number
- CN102750266B CN102750266B CN201210083522.3A CN201210083522A CN102750266B CN 102750266 B CN102750266 B CN 102750266B CN 201210083522 A CN201210083522 A CN 201210083522A CN 102750266 B CN102750266 B CN 102750266B
- Authority
- CN
- China
- Prior art keywords
- file
- convert requests
- asynchronous
- requests
- queue
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/151—Transformation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/40—Processing or translation of natural language
- G06F40/58—Use of machine translation, e.g. for multi-lingual retrieval, for server-side translation for client devices or for real-time translation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
描述了管理文件转换的技术。接收将文件在不同文件格式间进行转换的文件转换请求。确定所述文件转换请求是同步文件转换请求还是异步文件转换请求。将同步文件转换请求存储在同步作业队列中。将异步文件转换请求存储在异步作业队列中。在异步作业队列中所存储的异步文件转换请求之前,将文件在与同步作业队列中所存储的同步文件转换请求相关联的不同文件格式间进行转换。对其他实施例也予以描述并要求保护。
Description
技术领域
本发明涉及管理文件转换的技术。
背景技术
文件转换系统可将计算机文件在各文件格式之间转换。当将文件从一种文件格式转换为另一种文件格式时,存在用户感兴趣的两种主要情形:(1)能够以异步方式一次转换许多文件的高吞吐量转换操作;以及(2)能够以同步方式立即转换一个文件的低等待时间转换操作。高吞吐量转换操作是为需要转换许多文件的情形设计的,其中用户不需要转换立即发生。低等待时间转换操作适合于其中需要转换一个文件的情形,其中用户需要到转换操作的某种立即性(immediacy)。具有能适应两种情形的系统需要跨两种类型的转换请求的资源分配的特殊考虑。除了处理不同转换情形之外,文件转换系统需要计入跨相同服务器资源内的多个承租人的资源分配。换言之,如果公司A和公司B均使用相同的服务器资源,则文件转换系统需要以不导致一个公司垄断所有资源的方式适应来自两个公司的请求。本发明的改进正是针对这些和其他考虑事项而需要的。
发明内容
提供本发明内容以便以简化形式介绍将在以下具体实施方式中进一步描述的一些概念。本发明内容并非旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。
实施例一般涉及文件转换系统。一些实施例尤其涉及被安排为使用相同组服务器资源来执行从一种文件格式到另一种文件格式的高吞吐量和低等待时间的文件转换的文件转换系统。此外,该文件转换服务能够使用该相同组服务器资源来适应来自多个客户端的多个文件转换请求,包括高吞吐量和低等待时间请求。对其他实施例也予以描述并要求保护。
通过阅读下面的详细描述并参考相关联的附图,这些及其它特点和优点将变得显而易见。应该理解,前面的概括说明和下面的详细描述只是说明性的,不会对所要求保护的各方面形成限制。
附图简述
图1示出第一文件转换系统的一实施例。
图2A示出第二文件转换系统的一实施例。
图2B示出具有负载平衡器的第二文件转换系统的一实施例。
图3示出适于实现第一和第二转换系统的分布式系统的一实施例。
图4示出文件转换的逻辑流程的一实施例。
图5示出了计算架构的一实施例。
图6示出通信架构的一实施例。
具体实施方式
实施例涉及被安排为实现增强的文件转换技术的文件转换系统、服务或应用,该技术被安排为基于一组给定转换参数来处理不同类型的文件转换。文件转换系统通常是为不同使用情形而设计的,范围从大量文件的批量处理到单一文件。文件转换参数的示例可包括而不限于:文件的数量、转换时间或等待时间、资源分配、文件优先级、安全性、文件类型、请求类型等等。
在一个实施例中,文件转换系统可被安排为使用相同组服务器资源来执行从一种文件格式到另一种文件格式的高吞吐量和低等待时间的文件转换。此外,该文件转换服务能够使用该相同组服务器资源来适应来自多个客户端的多个文件转换请求,包括高吞吐量和低等待时间请求。
在各实施例中,文件转换系统可被安排为基于文件转换请求类型来分配文件转换资源。此外,该文件转换系统可被安排为跨多个客户端(有时被称为“承租人”)分配文件转换资源。此外,该文件转换系统可被安排为用适应多个承租人的系统来确保对承租人资源的保护和隐私。最终,该文件转换系统可被安排为基于被分配给文件转换请求的优先级水平来处理这些请求。
各实施例具有超越常规文件转换技术的若干优点。例如,常规文件转换服务通常需要实现该文件转换技术的特定产品或平台所使用的对象模型的底层知识。这是因为大多数文件转换服务与底层产品或平台紧密集成。这种要求意味着开发者被限制为在利用给定服务时总是在该底层平台的上下文中工作。处理给定产品或平台之外的文件的唯一方式是首先使所述文件与该产品或平台集成,这增加了额外的复杂度和性能考虑。与物理文件一起使用的当前模型的另一个问题在于:存在其中服务的输出不是解决方案的最终输出的若干服务情形。在这些特定情况下,开发者被迫人工清洁该服务所创建的中间文件。这意味着当前设计的性能损失,因为比必要的更多地访问内容数据库。使异步服务的情况更糟糕的是:没有关于何时服务操作已被完成的事件或指示。这种限制使得创建事件或触发器非常困难。另一个问题是文件转换服务通常是为特定类型的服务而设计的,该服务要么是异步服务要么是同步服务。异步服务依赖计时器来启动文件转换,使得处理立即理解处理的同步文件服务请求很困难或不可能。相反,同步请求必须等待计时器指示服务操作何时被触发。在一些异步系统中,等待时间可以是从数分钟到数小时的任何值。尽管计时器基于作业的设计和行为对于批量操作情形工作得很好,然而这种设计对于涉及更小数量的文档的操作情形无法工作。各实施例详述了增强的文件转换技术,以解决这些以及其他问题,以使得文件转换服务在更多端到端情形中更加稳健并且可用。
该增强的文件转换技术可适用于许多使用情形。例如,假定打印机公司期望添加将允许文档的“云打印”的新服务。此服务将允许打印机具有其自己的电子邮件地址。然后用户将能够经由附件将文档通过电子邮件发送给打印机,然后该文档可被打印。打印操作需要跟从应用的人工打印操作一样快。然而由于对无人值守自动化特征的不支持性,该打印机公司不想要为他们的服务器上的文档而使应用客户端自动化以执行打印操作。相反,该打印机公司可实现该增强的文件转换技术以在服务器上执行从源文件格式到目标文件格式的快速文件转换操作,然后可使用该目标文件格式来完成打印操作。在另一示例中,假定数字出版公司期望添加将允许用户在专有数字“电子书”阅读器设备上阅读某些文档的新服务。此服务将允许用户经由附件将文档通过电子邮件发送到电子书服务,然后该电子书服务能够将该文档转换为该数字电子书阅读器设备所支持的格式。该电子书服务需要尽量快以便用户不需等待阅读他们所请求的文档。该数字出版公司可实现该增强的文件转换技术以创建适当的电子书格式。在又一示例中,假定一公司期望在不同语言之间翻译文档。翻译服务将能够翻译整个库或一次性文档。对于一次性文档的情况,该翻译服务需要是按需式(on demand)的,即,立即完成。该增强的文件转换技术能够执行任何必要的文件格式转换以便于语言翻译。这些仅是几个示例性的使用情形,也存在其他使用情形。
图1示出文件转换系统100的框图。在一个实施例中,例如,文件转换系统100可包括具有多个组件的计算机实现的文件转换系统。如此处所使用的,术语“系统”和“组件”旨在指代与计算机相关的实体,包括硬件、硬件和软件的组合、软件、或执行中的软件。例如,组件可被实现为在处理器上运行的进程、处理器、硬盘驱动器、多个(光和/或磁存储介质的)存储驱动器、对象、可执行代码、执行的线程、程序、和/或计算机。作为说明,在服务器上运行的应用和该服务器两者都可以是组件。一个或多个组件可以驻留在进程和/或执行的线程内,且组件可以视给定实现所需而位于一台计算机上和/或分布在两台或更多的计算机之间。各实施例不限于该上下文。
在图1中示出的所示实施例中,文件转换系统100可被实现成集中式或分布式架构中的一个或多个电子设备的一部分。电子设备的示例可包括但不限于,移动设备、个人数字助理、移动计算设备、智能电话、蜂窝电话、手机、单向寻呼机、双向寻呼机、消息收发设备、计算机、个人计算机(PC)、台式计算机、膝上型计算机、笔记本计算机、手持式计算机、平板计算机、服务器、服务器阵列或服务器场、web服务器、网络服务器、因特网服务器、工作站、小型计算机、大型计算机、超级计算机、网络设备、web设备、游戏设备、分布式计算系统、多处理器系统、基于处理器的系统、消费电子产品、可编程消费电子产品、电视机、数字电视机、机顶盒、无线接入点、基站、用户站、移动用户中心、无线电网络控制器、路由器、集线器、网关、网桥、交换机、机器、或其组合。虽然图1中示出的文件转换系统100具有按照某种拓扑结构的有限数量的元素,但可以理解,文件转换系统100可以视给定实现的需要而包括按照替代拓扑结构的更多或更少元素。
在各实施例中,文件转换系统100可在任何计算设备或平台(诸如服务器)上执行。贯穿本说明书,术语“平台”可以是用于结合客户端设备(诸如个人计算机或移动设备)管理映射操作的软件和硬件组件的组合。平台的示例包括但不限于,在多个服务器上执行的托管服务或“云计算服务”、在单个服务器上执行的应用以及类似系统。术语“服务器”一般指通常在联网环境中执行一个或多个软件程序的计算设备。然而,服务器还可以被实现为在被视作网络上的服务器的一个或多个计算设备上执行的虚拟服务器(软件程序)。附加地或替代地,文件转换系统100可以在移动设备上执行,移动设备诸如智能电话、手持计算机、无线个人数字助理(PDA)、支持映射应用的蜂窝电话、车载计算设备和提供适于如前所述的文件转换系统100的环境的其他电子设备。各实施例不限于该上下文。
在图1中示出的所示实施例中,文件转换系统100可包括文件转换系统200,该文件转换系统200接受一个或多个文件110作为输入,并提供一个或多个相应的经转换的文件130作为输出。换言之,每个文件110通常具有相应的经转换的文件130。文件110可以是根据第一数据格式或数据模式(data schema)生成和/或存储的计算机文件。经转换的文件130可以是根据第二数据格式或数据模式生成和/或存储的计算机文件。在一个实施例中,例如,文件110、130共享相同或类似的内容,而第一和第二数据格式彼此不同。在一个实施例中,例如,文件110、130共享相同或类似的数据格式和不同的媒体内容(例如,语言翻译)。在一个实施例中,例如,文件110、130具有不同的内容和不同的数据格式。各实施例不限于该上下文。
文件转换系统100响应于至少两种类型的文件转换请求而执行文件转换:(1)异步请求;以及(2)同步请求。文件转换系统100能够使用一组共享的文件转换资源来处理这两种类型的请求。文件转换资源可包括一个或多个设备、设备组件(例如,处理器、存储器单元、接口等)、网络、网络组件等等。
异步文件转换请求是在定义的时间间隔对文件转换的请求。换言之,异步请求的文件转换操作被延迟到某个未来时间段。异步请求非常适合于在定义的时间间隔启动的、较高吞吐量的文件转换操作。异步请求通常被设计为一次转换许多文件。
同步文件转换请求是对立即文件转换的请求。换言之,同步请求的文件转换操作是一接收到请求就立即启动的。同步请求非常适合于通常一接收到请求就立即启动的、较低等待时间的文件转换操作。这些请求还可具有较高的优先级并优先于已有请求。
此外,文件转换系统100将每次具有超过一个文件转换请求的可能性计入。例如,在存在相同类型的(例如,异步的或同步的)多个文件转换请求的情况下,文件转换系统100可按照请求被做出的次序来处理这些请求,诸如以先进先出(FIFO)为基础。对于存在不同类型的(例如,异步的或同步的)多个文件转换请求的情况,文件转换系统100可根据所需的优先化(prioritization)算法来确保同步请求优先于异步请求。
此外,文件转换系统100还将具有单一承租人的超过一个文件转换请求的可能性计入,并且按照确保该承租人不相对于其他承租人垄断系统资源的方式来处理单一承租人的多个文件转换请求。例如,这可以使用各种负载平衡技术来实现。
图2A、2B示出文件转换系统200的框图。文件转换系统200可包括文件转换系统100的更详细版本,包括多个组件和各种数据库。这些组件和数据库可以经由各种类型的通信介质来通信地耦合。此外,各种组件可以协调彼此之间的操作。该协调可以涉及单向或双向信息交换。例如,组件可以传递通过通信介质传递的信号形式的信息。该信息可被实现成分配给各条信号线的信号。在这些分配中,每一个消息都是信号。然而,其他实施方式可替代地采用数据消息。这些数据消息可以跨各个连接发送。示例性连接包括并行接口、串行接口和总线接口。
在图2A、2B中示出的所示实施例中,web组件210包括对象模型212。web组件210通信地耦合于应用服务器管理器组件220。应用服务器管理器组件220包括调度组件222和计时器作业组件224。应用服务器管理器组件220通信地耦合于文档队列数据库226。应用服务器管理器组件220还通信地耦合于应用服务器工作器组件230。应用服务器工作器组件230包括文件转换组件232以管理多个作业队列,包括同步作业队列234和异步作业队列236。应用服务器工作器组件230通信地耦合于内容数据库238。可以理解,文件转换系统200可具有替代
在一个实施例中,应用服务器管理器组件220可被安排为接收将文件110在不同文件格式间转换的不同类型的文件转换请求,当接收到同步文件转换请求202时将该同步文件转换请求202发送到同步作业队列234,以及在定义的时间间隔将异步文件转换请求204发送到异步作业队列236。一个或多个应用服务器工作器组件230可管理队列234、236,并在应用服务器管理器组件220的控制下执行实际的文件转换操作。
如图2中所示,web组件210可包括对象模型212。对象模型212允许开发者创建异步文件转换请求并监视进行中的文件转换。web组件220可被安排为经由对象模型212从客户端系统接收文件转换请求202、204。
web组件210可以通信地耦合于应用服务器管理器组件220。应用服务器管理器组件220可为同步文件转换请求202和异步文件转换请求204执行后端服务器操作。这两种类型的请求202、204可按照与每种类型的请求相一致的方式被调度以进行文件转换操作。
应用服务器管理器组件220可接收不同类型的文件转换请求202、204以将文件110在不同文件格式间转换以从web组件210形成相应的经转换的文件130。输入文件110可具有源文件格式,而经转换的文件130可具有目标文件格式。源文件格式和目标文件格式可以是适合于给定应用、服务或机器的任何已知文件格式。此外,源文件格式和目标文件格式可以是用于由相同公司或不同公司制作的软件的。在一个实施例中,源文件格式和目标文件格式可在数据模式或逻辑数据存储结构上不同,同时保持相同或类似的文件内容。在一个实施例中,源文件格式和目标文件格式可在文件内容上不同,而保持相同或类似的数据模式。在一个实施例中,源文件格式和目标文件格式可在文件内容和数据模式上均不同。各实施例不限于该上下文。
作为示例而非限制,文件系统110、130可具有为特定操作系统设计的互相关的客户端应用、服务器应用和web服务的生产力套件(诸如由华盛顿州雷蒙德市的微软公司制作的用于MICROSOFT的OFFICE生产力套件)的内容文件的源文件格式和目标文件格式。客户端应用的示例可包括但不限于:MICROSOFT WORD、MICROSOFTMICROSOFTMICROSOFTMICROSOFTMICROSOFTMICROSOFTMICROSOFT PROJECT 、MICROSOFT PUBLISHER、MICROSOFTWORKSPACE、MICROSOFTMICROSOFT OFFICEINTERCONNECT、MICROSOFT OFFICE PICTURE MANAGER、MICROSOFTSHAREPOINT DESIGNER、MICROSOFTLYNC及其它。可以理解,源文件格式和目标文件格式也可以是用于不同的不相关的软件应用的。
作为不同数据模式的示例,假定打印机公司期望添加将允许文档的“云打印”的新服务。此服务将允许打印机具有其自己的电子邮件地址。然后用户将能够经由附件将文档通过电子邮件发送以进行打印操作,然后该文档可被打印。打印操作需要跟从应用的人工打印操作一样快。然而由于对无人值守自动化特征的不支持性,该打印机公司不想要为他们的服务器上的文档而使应用客户端自动化以执行打印操作。相反,该打印机公司可实现该增强的文件转换技术以在服务器上执行从源文件格式到目标文件格式的快速文件转换操作,然后可使用该目标文件格式来完成打印操作。在此情况下,源文件格式的示例可以是由MICROSOFT EXCEL生成的“.xls”文件格式,而目标文件格式的示例可以是可移植文档格式(PDF)。
在不同数据模式的另一示例中,假定数字出版公司期望添加将允许用户在专有数字“电子书”阅读器设备上阅读某些文档的新服务。此服务将允许用户经由附件将文档通过电子邮件发送到电子书服务,然后该电子书服务能够将该文档转换为该数字电子书阅读器设备所支持的格式。该电子书服务需要尽量快以便用户不需等待阅读他们所请求的文档。该数字出版公司可实现该增强的文件转换技术以创建适当的电子书格式。在此使用情形中,源文件格式的示例可以是由MICROSOFT WORD生成的“.doc”文件格式,而目标文件格式的示例可以是多用途因特网邮件扩展(MIME)超文本标记语言(HTML)(共同称为“MIMEHTML”或“MHT”)。
作为不同文件内容的示例,假定公司期望在不同语言间翻译文档。翻译服务将能够翻译整个库或一次性文档。对于一次性文档的情况,该翻译服务需要是按需式的,即,立即完成。该增强的文件转换技术能够执行任何必要的文件格式转换以便于语言翻译。在此情况下,输入文件110可具有第一人类语言(例如,英语)的文件格式,而经转换的文件130可具有第二人类语言(例如,汉语)的文件格式。
作为不同文件内容和文件格式的示例,假定文件110包括第一人类语言的被发送到云传真服务的MICROSOFT WORD文档。该云传真服务可将第一人类语言(例如,英语)转换为第二人类语言(例如,韩语),并将“.doc”应用文件格式转换为PDF文件格式,然后将文件110的经转换的文件130作为第二人类语言的PDF传真。
应用服务器管理器组件220可包括调度组件222。调度组件222负责将传入的请求移动到文档队列数据库226,并将某些类型的请求发送到文件转换组件232以进行处理。文档队列数据库226存储已请求的、当前的以及已完成的转换的持久队列。在中央数据库服务器上存储转换的队列赋予该队列改进的可缩放性、可靠性、以及跟踪大组转换较长时间段的能力。
在一个实施例中,调度组件222可基于与文件转换请求相关联的一个或多个文件转换参数260-a来确定该文件转换请求是同步文件转换请求202还是异步文件转换请求204。值得指出的是,本文所使用的“a”、“b”、“c”以及类似的标志符是表示任何正整数的变量。因此,例如,如果一实现设置值为a=5,则文件转换参数260-a的完整集合可包括文件转换参数260-1、260-2、260-3、260-4以及260-5。各实施例不限于该上下文。
文件转换系统100、200通常是为不同使用情形而设计的,范围从大量文件的批量处理到单一文件。文件转换参数260-a可用于定义给定文件转换请求202、204的某些属性或特性。文件转换参数260-a的示例可包括而不限于:文件的数量、转换时间或等待时间、资源分配、文件优先级、安全性、文件类型、请求类型等等。例如,文件转换参数260-1可包括表示要转换到经转换的文件130的文件110的数量的数字值。文件转换参数260-2可包括表示要将多个文件110转换为经转换的文件130的时间量的等待时间值。文件转换参数260-3可包括表示将多个文件110转换为经转换的文件130的所需的多个资源(例如,应用服务器工作器组件130、存储器单元、处理器、带宽等)的资源值。文件转换参数260-4可包括表示一个或多个文件110的优先级水平的优先级值。文件转换参数260-5可包括表示与一个或多个文件110相关联的密码技术或安全凭证的安全值。文件转换参数260-6可包括表示一个或多个文件110和/或经转换的文件130的文件格式或内容格式的文件类型值。文件转换参数260-7可包括表示同步文件转换请求202或异步文件转换请求204的显式设定的请求值。这些仅是几个示例,可以为给定实现定义其他文件转换参数260-a。各实施例不限于该上下文。
调度组件222可确定经由web组件210接收的文件转换请求的请求类型。例如,调度组件222可基于与所接收的文件转换请求相关联的一组文件转换参数260-a来确定所接收的文件转换请求是同步文件转换请求202还是异步文件转换请求204。
在一个实施例中,例如,当第一文件转换参数260-1指示文件的数量为1而第二文件转换参数260-2指示等待时间值小于阈值值时,调度组件222可确定文件转换请求为同步文件转换请求202。例如,假定数量值被设定为1,等待时间值被设定为5分钟,而阈值值是被设定在10分钟的默认值。在这种情况下,调度组件222可确定传入的文件转换请求是对单个文件的同步文件转换请求202,其需要文件转换操作的较低的等待时间。
在一个实施例中,例如,当第一文件转换参数260-1指示文件的数量大于1而第二文件转换参数260-2指示等待时间值大于阈值值时,调度组件222可确定文件转换请求为异步文件转换请求204。例如,假定数量值被设定为5,等待时间值被设定为1天,而阈值值是被设定在10分钟的默认值。在这种情况下,调度组件222可确定传入的文件转换请求是容忍文件转换操作的较高的等待时间的对多个文档的异步文件转换请求204。
附加地或替代地,调度组件222可通过检查显式文件转换参数260-a来确定文件转换请求的请求类型。例如,调度组件222可检索与所接收的文件转换请求相关联的文件转换参数260-7。文件转换参数260-7可包括表示对同步文件转换请求202、异步文件转换请求204、或某种其他请求类型的显式设定的请求值。文件转换参数260-7可与文件转换请求一起被接收,诸如被嵌入在用于传输该文件转换请求的数据分组的头部或有效载荷部分。替代地,文件转换参数260-7可被先验地存储在文档队列数据库226中。文件转换参数260-7可由用户设定,或由文件转换系统200分配(例如,基于过去的历史)。各实施例不限于该上下文。
一旦确定了文件转换请求的请求类型,调度组件222就可在接收到同步文件转换请求202时将该同步文件转换请求202发送到同步作业队列234。例如,调度组件222可确定所接收的文件转换请求是同步文件转换请求202,并在做出该确定后立即将该同步文件转换请求202直接发送到同步作业队列234以由应用服务器工作器组件230立即处理。这有助于确保同步文件转换请求202以较低等待时间被处理。尽管同步文件转换请求202的副本可被存储在文档队列数据库226中,然而此副本是用于跟踪目的而不是用于调度作业请求来进行未来处理。
作为对比,调度组件222可在定义的时间间隔将异步文件转换请求204发送到异步作业队列236。例如,调度组件222可确定所接收的文件转换请求是异步文件转换请求204,并将该异步文件转换请求204存储在文档队列数据库库226中以由应用服务器工作器组件230在未来处理。这通常是因为同步文件转换请求204是针对容许较高等待时间程度的较大数量的文件的,诸如用于在低资源利用时间段期间(例如,给定时区的夜晚时分)执行的“批处理”操作。
应用服务器管理器组件220可包括计时器作业组件224。计时器作业组件224可包括计时器和相关联的逻辑以控制转换的频率和被活动地转换的文件的数量。计时器作业组件224可被安排为在定义的时间间隔周期性地从文档队列数据库226检索异步文件转换请求204,并将该异步文件转换请求204发送到异步作业队列236。
应用服务器管理器组件220可以通信地耦合于应用服务器工作器组件230。尽管组件220、230可被示出为分开的组件,然而可以理解,组件220、230可以在视给定实现的需要而在相同服务器或不同服务器上实现。各实施例不限于该上下文。
应用服务器工作器组件220可为文件转换系统200执行实际的文件转换操作,并且通信地耦合于内容数据库238以协助文件转换操作。在一个实施例中,例如,文件转换系统200可进一步包括应用服务器工作器组件230,该应用服务器工作器组件230被安排为接收同步文件转换请求202和异步文件转换请求204,并且将所接收的同步文件转换请求202和所接收的异步文件转换请求204分别存储在同步作业队列234和异步作业队列236中。
应用服务器工作器组件220可包括文件转换组件232。文件转换组件232执行实际的文件转换服务操作。文件转换组件232维护含有需要被转换的项的一个或多个内部队列。如图所示,文件转换组件232含有同步作业队列234和异步作业队列236。在一个实施例中,例如,应用服务器工作器组件230可包括文件转换组件232,该文件转换器组件232被安排为在处理异步作业队列236中所存储的异步文件转换请求204之前处理同步作业队列234中所存储的任何同步文件转换请求202,直到该同步文件队列234为空。
在一般操作中,调度组件222可经由对象模型212通过web组件210接收同步文件转换请求202。因为同步文件转换请求202使更低的等待时间优先于更高的量,所以调度组件222立即将同步文件转换请求202存储在同步作业队列234中以进行立即处理。同步作业队列234被安排为仅存储同步文件转换请求202。在一个实施例中,只有调度组件222能够将同步文件转换队列202添加到同步作业队列234。文件转换组件232被安排为将来自同步作业队列234的请求优先于异步作业队列236中存储的请求来处理。
应用服务器管理器组件220的调度组件222跟踪易失性或非易失性存储器中的同步文件转换请求202。调度组件222检查以查看当前同步文件转换请求202是否超过了这种请求的N+1限制集合,其中N是任何正整数。如果超过,则当前同步文件转换请求202的状态被设定为“已取消”而web组件210被告知在稍后重试。如果没有超过,则调度组件222继续处理请求。调度组件222将同步文件转换请求202直接发送到应用服务器工作器组件230的文件转换组件232的同步作业队列234。如果同步文件转换请求202是基于流的请求,则调度组件222可将输入流存储为应用服务器工作器组件230的文件系统内的临时文件。
调度组件222还可经由对象模型212通过web组件210接收异步文件转换请求204。因为异步文件转换请求204使更高的量优先于更低的等待时间,所以调度组件222将异步文件转换请求204存储在文档队列数据库226中以进行延迟的处理。计时器作业组件224在与异步文件转换请求204相关联的定义的时间间隔检索异步文件转换请求204,并在该定义的时间间隔将该异步文件转换请求204发送到异步作业队列236。
调度组件222用关于请求202、204的信息来更新文档队列数据库226。在某些定义的时间间隔,计时器作业组件224检查文档队列数据库226以寻找需要为异步文件转换请求204运行的作业。文件转换组件232被安排为将来自异步作业队列236的请求在同步作业队列234中存储的请求之后来处理。
如图2B所示,计时器作业组件224推动作业以进入负载平衡器250中来执行。负载平衡器250(或计时器作业组件224)将作业发送到适当的应用服务器工作器组件230-b(例如,可存在超过一个应用服务器工作器组件)以进行处理(例如,文件转换操作)。计时器作业组件224为各个作业用新状态更新文档队列数据库226。计时器作业组件224还寻找在最大允许时间内还没有完成的作业并检查处理它们的应用服务器工作器组件230是否已失败。
应用服务器工作器组件230从应用服务器管理器组件220接收请求202、204。同步文件转换请求202被放入同步作业队列234。异步文件转换请求被放入异步作业队列236。文件转换组件232处理来自同步作业队列234的请求直到其为空。然后文件转换组件232处理来自异步作业队列236的请求。来自异步作业队列236的请求不必在单一连续时间段内完全处理。例如,异步文件转换请求204的处理可被临时暂停或打断以处理同步作业队列234中存储的新同步文件转换请求202,而一旦同步作业队列又一次为空,则文件转换组件232可恢复处理被打断的异步文件转换请求204。错误情况(诸如无法检索文件110)被记录而适当的状态消息被发送到应用服务器管理器组件220。被取消的请求被丢弃。
如果同步文件转换请求202是基于流的,则应用服务器工作器组件230可以从它的文件系统上的临时文件读取输入文件。然后应用服务器工作器组件230将得到的文件作为临时文件写出到其自己的文件系统中。应用服务器工作器组件230将能够访问该文件系统以处理表示基于流的请求的输入和输出文件的临时文件。
一旦文件转换组件232完成请求202、204的文件转换操作(不管成功/失败),启动请求完成应用编程接口(API)。如果成功,文件转换组件232尝试将经转换的文件130保存到指定输出位置或流,并基于成功或失败来设定文件转换状态。如果请求202、204是非基于流的,则应用服务器工作器组件230将结果放入内容数据库238。如果请求202、204是基于流的,则应用服务器管理器组件220可将存储在应用服务器工作器组件230的文件系统上的所得到的临时文件作为流来读取。web组件210能够从应用服务器管理器组件220检索所得到的流。一旦完成基于流的请求,在垃圾收集操作期间,所有相关联的临时文件被从该文件系统移除(例如,破坏文件转换会话,释放资源,删除临时文件等等)。
应用服务器管理器组件220可跟踪存储器中正由文件转换系统200并行处理的多个同步文件转换请求202。调度组件222可以能够访问进行中的同步文件转换请求202的存储器内跟踪。调度组件222可选择适当的应用服务器工作器组件230来完成所批准的同步文件转换请求202。调度组件222可将同步文件转换请求202直接添加到所选择的应用服务器工作器组件230内的同步作业队列234。对于基于流的同步文件转换请求202,调度组件222会将输入流作为临时文件存储在适当的应用服务器工作器组件230的文件系统上。调度组件222可进一步将应用服务器工作器组件230文件系统上的所得到的临时文件作为存储在存储器中的流而读取。
可为文件转换系统200设定各文件转换参数。文件转换参数的示例在表1中示出如下:
表1
为最大同步转换请求指定值“0”意味着同步文件转换请求202在文件转换系统200上不被允许。当此值被设定为“0”时做出的任何同步文件转换请求202将导致到该用户的错误消息。值得注意,最小值、最大值和默认值可以基于稳定化期间的测试数据和期望的文件转换吞吐量来设定。
图3示出了分布式系统300的框图。分布式系统300可使文件转换系统100的结构和/或操作的各部分跨多个计算实体分布。分布式系统300的示例可包括但不限于,客户端-服务器架构、3层架构、N层架构、紧耦合或群集的架构、对等架构、主-从架构、共享数据库架构、以及其他类型的分布式系统。各实施例不限于该上下文。
在一个实施例中,例如,分布式系统300可被实现为客户端-服务器系统。客户端系统310可实现文件转换系统100、200中的一些或全部、文件110、130中的一些或全部、显示器304、web浏览器306、以及通信组件308。服务器系统330可实现文件转换系统100、200中的一些或全部、文件110、130中的一些或全部、以及通信组件308。虽然如图3所示的分布式系统300具有呈特定拓扑结构的有限数量的元素,但可以明白,分布式系统300视给定实现所需可包括呈替代拓扑结构的更多或更少的元素。
客户端系统310可包括或使用用于执行根据所描述的实施例的各客户端操作的一个或多个客户端计算设备和/或客户端程序。客户端系统310的示例可包括但不限于,移动设备、个人数字助理、移动计算设备、智能电话、蜂窝电话、手机、单向寻呼机、双向寻呼机、消息收发设备、计算机、个人计算机(PC)、台式计算机、膝上型计算机、笔记本计算机、手持式计算机、平板计算机、服务器、服务器阵列或服务器场、web服务器、网络服务器、因特网服务器、工作站、小型计算机、大型计算机、超级计算机、网络设备、web设备、分布式计算系统、多处理器系统、基于处理器的系统、消费电子产品、可编程消费电子产品、游戏设备、电视机、数字电视机、机顶盒、无线接入点、基站、用户站、移动用户中心、无线电网络控制器、路由器、集线器、网关、网桥、交换机、机器、或其组合。
在各实施例中,服务器系统330可包括或使用用于执行根据所描述的实施例的各服务器操作的一个或多个服务器计算设备和/或服务器程序。例如,当被安装和/或部署时,服务器程序可以支持用于提供特定服务和特征的服务器计算设备的一个或多个服务器角色。示例性服务器系统330可包括例如操作诸如或其他合适的基于服务器的OS等服务器操作系统(OS)的独立和企业级服务器计算机。例如,示例性服务器程序可包括诸如MICROSOFT WINDOWS或MICROSOFT OFFICECOMMUNICATIONS SERVER(办公室通信服务器,OCS)等用于管理传入和传出消息的通信服务器程序,诸如 Exchange Server(交换服务器)等用于提供对电子邮件、语音邮件、VoIP、即时消息收发(IM)、群IM、增强的在场、以及音频-视频会议、和/或根据所描述的实施例的其他类型的程序、应用、或服务的统一消息收发(UM)的消息收发服务器程序。
客户端系统310和服务器系统330可以使用通信信号322通过通信介质320彼此通信。例如,在一个实施例中,通信介质320可包括公用或专用网络。例如,在一个实施例中,通信信号322可以包括有线或无线信号。客户端系统310和服务器系统330的计算方面可参考图5来更详细地描述。分布式系统300的通信方面可参考图6来更详细地描述。
分布式系统300示出其中客户端系统310可访问服务器系统330来为文件110执行文件转换操作的示例。文件110可由客户端系统310存储并作为通信信号322通过通信介质320发送到服务器系统330。服务器系统330可从客户端系统310接收文件110,经由文件转换系统100、200的服务器版本执行文件转换操作,并且将经转换的文件130转换到客户端系统310。替代地,客户端系统310可以作为集中式系统实现,并经由文件转换系统100、200的客户端版本来自己执行文件转换操作。用户可以经由客户端系统310的web浏览器306来接口(interface)并控制由服务器系统330实现的文件转换系统100、200。仅举数例,适当的web浏览器的示例可包括MICROSOFT INTERNET CHROME和 SAFARI。服务器系统330可发送状态信息(例如,成功消息、失败消息、错误消息、状态消息等等)以在客户端系统310的显示器304上呈现。
上述实施例的操作可参考一个或多个逻辑流程来进一步描述。可以理解,除非另外指明,否则代表性的逻辑流程不一定要按所呈现的次序或者按任何特定次序来执行。而且,关于逻辑流程描述的各种活动可按串行或并行的方式执行。视给定一组设计和性能约束的需要,逻辑流程可使用所述实施例的一个或多个硬件元件和/或软件元件或替代元件来实现。例如,逻辑流程可被实现为供逻辑设备(例如,通用或专用计算机)执行的逻辑(例如,计算机程序指令)。
图4示出了逻辑流程400的一个实施例。逻辑流程400可表示由在此所描述的一个或多个实施例(诸如例如文件转换系统100、200)所执行的操作中的一些或全部。
逻辑流400可在框402接收将文件在不同文件格式间进行转换的文件转换请求。例如,web组件210可接收将文件110在不同文件格式间转换的文件转换请求202、204。文件转换请求202、204可从一个或多个客户端(诸如例如客户端系统310)接收。
逻辑流400可在框404确定所述文件转换请求是同步文件转换请求还是异步文件转换请求。例如,应用服务器管理器组件220的调度组件222可确定所述文件转换请求是同步文件转换请求202还是异步文件转换请求204。
逻辑流400可在框406将同步文件转换请求存储在同步作业队列中。例如,调度组件222可将同步文件转换请求202存储在应用服务器工作器组件230的文件转换组件232的同步作业队列234中。
逻辑流400可在框408将异步文件转换请求存储在异步作业队列中。例如,调度组件222可将异步文件转换请求204存储在应用服务器工作器组件230的文件转换组件232的异步作业队列236中。
在框410,在异步作业队列中所存储的异步文件转换请求之前,逻辑流400可将文件在与同步作业队列中所存储的同步文件转换请求相关联的不同文件格式间进行转换。例如,在异步作业队列236中所存储的异步文件转换请求204之前,应用服务器工作器组件230的文件转换组件232可将文件110在与同步作业队列234中所存储的同步文件转换请求202相关联的不同文件格式间进行转换。在一个实施例中,在开始处理异步作业队列236中所存储的异步文件转换请求204之前,文件转换组件232可完全处理同步作业队列234中所存储的所有同步文件转换请求202直到队列234为空。此外,当新同步文件转换请求202被存储到同步作业队列234中时,文件转换组件232可暂停或打断对异步业队列236中所存储的异步文件转换请求204的处理以释放文件转换资源,并在恢复对被暂停的异步文件转换请求204和异步作业队列236中剩余的异步文件转换请求204的处理之前,开始处理新的同步文件转换请求202。然后文件转换组件232输出经转换的文件130以递送到提交给定文件转换请求202、204的客户端系统。
图5示出适用于实现上述各实施例的示例性计算架构500的实施例。计算架构500包括各种常见计算元件,如一个或多个处理器、协同处理器、存储器单元、芯片组、控制器、外围设备、接口、振荡器、定时设备、视频卡、音频卡、多媒体输入/输出(I/O)组件,等等。然而,各实施方式不限于由计算架构500来实现。
如图5所示,计算架构500包括处理单元504、系统存储器506以及系统总线508。处理单元504可以是可购得的各种处理器中的任一种。双微处理器和其它多处理器架构也可用作处理单元504。系统总线508向包括但不限于系统存储器506的各系统组件提供到处理单元504的接口。系统总线508可以是若干种总线结构中的任一种,这些总线结构还可互连到存储器总线(带有或没有存储器控制器)、外围总线、以及使用各类市场上可购买到的总线架构中的任一种的局部总线。
例如,系统存储器506可以包括各种类型的存储器单元,如只读存储器(ROM)、随机存取存储器(RAM)、动态RAM(DRAM)、双倍数据率DRAM(DDRAM)、同步DRAM(SDRAM)、静态RAM(SRAM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、闪存、诸如铁电聚合物存储器等聚合物存储器、奥氏存储器、相变或铁电存储器、硅-氧化物-氮化物-氧化物-硅(SONOS)存储器、磁卡或光卡、或适于存储信息的任何其他类型的介质。在图5示出的所示实施方式中,系统存储器506可包括非易失性存储器510和/或易失性存储器512。基本输入/输出系统(BIOS)可以存储在非易失性存储器510中。
计算机502可包括各种类型的计算机可读存储介质,包括内置硬盘驱动器(HDD)514、用于读写可移动磁盘518的磁软盘驱动器(FDD)516、以及用于读写可移动光盘522(例如,CD-ROM或DVD)的光盘驱动器520。HDD 514、FDD 516、以及光盘驱动器520可分别由HDD接口524、FDD接口526和光盘驱动器接口528连接到系统总线508。用于外置驱动器实现的HDD接口524可包括通用串行总线(USB)和IEEE 1394接口技术中的至少一种或两者。
驱动器及相关联的计算机可读介质提供了对数据、数据结构、计算机可执行指令等的易失性和/或非易失性存储。例如,多个程序模块可存储在驱动器和存储器单元510、512中,包括操作系统530、一个或多个应用程序532、其他程序模块534和程序数据536。该一个或多个应用程序532、其他程序模块534、以及程序数据536可包括例如文件转换系统100、200。
用户可以通过一个或多个有线/无线输入设备,例如键盘538和诸如鼠标540等定点设备将命令和信息输入到计算机502中。其他输入设备可包括话筒、红外(IR)遥控器、操纵杆、游戏垫、指示笔、触摸屏等等。这些和其他输入设备通常通过耦合到系统总线508的输入设备接口542连接到处理单元504,但也可通过诸如并行端口、IEEE 1394串行端口、游戏端口、USB端口、IR接口等其他接口连接。
监视器544或其他类型的显示设备也经由诸如视频适配器546等接口连接到系统总线508。除了监视器544之外,计算机通常包括诸如扬声器、打印机等其他外围输出设备。
计算机502可使用经由有线和/或无线通信至一个或多个远程计算机(诸如远程计算机548)的逻辑连接在网络化环境中操作。远程计算机548可以是工作站、服务器计算机、路由器、个人计算机、便携式计算机、基于微处理器的娱乐设备、对等设备或其他常见的网络节点,并且通常包括相对于计算机502描述的许多或所有元件,但为简明起见仅示出了存储器/存储设备550。所描绘的逻辑连接包括到局域网(LAN)552和/或例如广域网(WAN)554等更大网络的有线/无线连接。这种LAN和WAN连网环境常见于办公室和公司,并且方便了诸如内联网等企业范围计算机网络,所有这些都可连接到例如因特网等全球通信网络。
当在LAN连网环境中使用时,计算机502通过有线和/或无线通信网络接口或适配器556连接到LAN 552。适配器556可以方便到LAN 552的有线和/或无线通信,并且还可包括其上设置的用于使用适配器556的无线功能进行通信的无线接入点。
当在WAN连网环境中使用时,计算机502可包括调制解调器558,或连接到WAN 554上的通信服务器,或具有用于诸如通过因特网等通过WAN 554建立通信的其它装置。或为内置或为外置以及有线和/或无线设备的调制解调器558经由输入设备接口542连接到系统总线508。在联网环境中,相对于计算机502所描绘的程序模块或其部分可以存储在远程存储器/存储设备550中。应该理解,所示网络连接是示例性的,并且可以使用在计算机之间建立通信链路的其他手段。
计算机502可操作来使用IEEE 802标准系列来与有线和无线设备或实体进行通信,这些实体例如是在操作上安置成与例如打印机、扫描仪、台式和/或便携式计算机、个人数字助理(PDA)、通信卫星、任何一件与无线可检测标签相关联的设备或位置(例如,电话亭、报亭、休息室)以及电话进行无线通信(例如,IEEE 802.11空中调制技术)的无线设备。这至少包括Wi-Fi(即无线保真)、WiMax和蓝牙TM无线技术。由此,通信可以如对于常规网络那样是预定义结构,或者仅仅是至少两个设备之间的自组织(ad hoc)通信。Wi-Fi网络使用称为IEEE802.11x(a、b、g等)的无线电技术来提供安全、可靠、快速的无线连接。Wi-Fi网络可用于将计算机彼此连接、连接到因特网以及连接到有线网络(使用IEEE 802.3相关介质和功能)。
图6示出适用于实现上述各实施例的示例性通信架构600的框图。通信架构600包括各种常见通信元件,如发射机、接收机、收发机、无线电装置、网络接口、基带处理器、天线、放大器、滤波器,等等。然而,各实施例不限于由通信架构600来实现。
如图6所示,通信架构600包括一个或多个客户端602和服务器604。客户端602可实现客户端系统310、400。服务器604可实现服务器系统330。客户端602和服务器604可操作地连接到可被用来存储相应客户端602和服务器604本地的信息(如cookie和/或相关联的上下文信息)的一个或多个相应客户端数据存储608和服务器数据存储610。
客户端602和服务器604可以使用通信框架606在彼此之间传递信息。通信框架606可以实现任何公知通信技术,如适用于与分组交换网络(例如,诸如因特网等公共网络、诸如企业内联网等专有网络,等等)、电路交换网络(例如,公共交换电话网)、或分组交换网络和电路交换网络的组合(使用合适的网关和转换器)一起使用的技术。客户端602和服务器604可以包括被设计成可与通信框架606进行互操作的各种类型的标准通信元件,如一个或多个通信接口、网络接口、网络接口卡(NIC)、无线电装置、无线发射机/接收机(收发机)、有线和/或无线通信介质、物理连接器等。作为示例而非限制,通信介质包括有线通信介质和无线通信介质。有线通信介质的示例可以包括导线、电缆、金属线、印刷电路板(PCB)、背板、交换光纤、半导体材料、双绞线、同轴电缆、光纤、所传播的信号等。无线通信介质的示例可以包括声学、射频(RF)频谱、红外和其他无线介质。客户端602和服务器604之间的一种可能的通信可以是以适用于在两个或更多计算机进程之间传输的数据包的形式。例如,数据包可以包括cookie和/或相关联的上下文信息。
各实施例可以使用硬件元件、软件元件或两者的组合来实现。硬件元件的示例可以包括设备、组件、处理器、微处理器、电路、电路元件(例如,晶体管、电阻器、电容器、电感器等)、集成电路、专用集成电路(ASIC)、可编程逻辑器件(PLD)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、存储器单元、逻辑门、寄存器、半导体器件、芯片、微芯片、芯片组等。软件元素的示例可以包括软件组件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、过程、软件接口、应用程序编程接口(API)、指令集、计算代码、计算机代码、代码段、计算机代码段、文字、值、符号、或其任何组合。确定一实施例是否使用硬件元件和/或软件元素来实现可视给定实现所需根据任何数量的因素而变化,这些因素如所需计算速率、功率级、耐热性、处理周期预算、输入数据速率、输出数据速率、存储器资源、数据总线速度以及其它设计或性能约束。
一些实施例可包括制品。制品可包括被设置为存储逻辑的计算机可读的存储介质。计算机可读存储介质的示例包括能够存储电子数据的任何存储介质,包括易失性存储器或非易失性存储器、可移动或不可移动存储器、可擦除或不可擦除存储器、可写或可重写存储器等。逻辑的示例可包括各种软件元素,诸如软件组件、程序、应用软件、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、过程、软件接口、应用程序接口(API)、指令集、计算代码、计算机代码、代码段、计算机代码段、文字、值、符号、或其任意组合。例如,在一个实施例中,制品可以存储可执行计算机程序指令,该指令在由计算机执行时使得该计算机执行根据所描述的各实施例的一种方法和/或操作。可执行计算机程序指令可包括任何合适类型的代码,诸如源代码、已编译代码、已解释代码、可执行代码、静态代码、动态代码等。可执行计算机程序指令可根据用于指示计算机执行特定功能的预定义的计算机语言、方式或句法来实现。这些指令可以使用任何合适的高级、低级、面型对象、可视、编译、和/或解释编程语言来实现。
一些实施例可使用表述“一个实施例”和”一实施例”及其派生词来描述。这些术语意味着结合该实施例描述的特定特征、结构、或特性包括在至少一个实施例中。出现在说明书中各个地方的短语“在一个实施例中”不必全都指的是同一实施例。
一些实施例可使用表述“耦合的”和“连接的”及其派生词来描述。这些术语不必旨在互为同义词。例如,一些实施例可使用术语“连接的”和/或“耦合的”来描述以指示两个或更多元件彼此有直接的物理或电接触。然而,术语“耦合的”还可以意味着两个或更多元件彼此不直接接触,而仍彼此合作或交互。
要强调,本公开的摘要是为了允许读者快速确定本技术公开的性质而提供的。提交摘要的同时要明白,将不用它来解释或限制权利要求的范围或含义。另外,在前面的详细描述中,可以看到,出于将本公开连成一个整体的目的而将各种特征组合在一起放在单个实施例中。此公开方法将不被解释为反映所要求保护的实施例要求比每个权利要求中明确陈述的更多特征的意图。相反,如所附权利要求书所反映,发明性的主题存在于比单个已公开实施例的所有特征少的特征中。从而,据此将所附权利要求结合进“具体实施方式”中,其中每个权利要求独立地代表一个单独的实施例。在所附权利要求书中,术语“包括”和“其中”分别用作术语“包含”和“其特征在于”的易懂的英文等价词。而且,术语“第一”、“第二”、“第三”等等只用作标记,而不旨在将数字要求强加于其对象上。
尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述具体特征或动作。更确切而言,上述具体特征和动作是作为实现权利要求的示例形式公开的。
Claims (9)
1.一种用于管理文件转换的装置,包括:
逻辑设备;以及
应用服务器管理器组件,所述应用服务器管理器组件在所述逻辑设备上操作以接收将文件在不同文件格式间转换的不同类型的文件转换请求,在接收到同步文件转换请求时将所述同步文件转换请求发送到同步作业队列,以及在定义的时间间隔将异步文件转换请求发送到异步作业队列,
其中,所述应用服务器管理器组件包括调度组件,所述调度组件在所述逻辑设备上操作以基于与文件转换请求相关联的一个或多个文件转换参数来确定所述文件转换请求是同步文件转换请求还是异步文件转换请求,当第一文件转换参数指示文件的数量为1而第二文件转换参数指示等待时间值小于阈值时,所述调度组件确定文件转换请求是同步文件转换请求。
2.如权利要求1所述的装置,其特征在于,包括操作以经由对象模型从客户端系统接收所述文件转换请求的web组件。
3.如权利要求1或2所述的装置,其特征在于,所述应用服务器管理器组件包括计时器作业组件,所述计时器作业组件在所述逻辑设备上操作以在所述定义的时间间隔从文档队列数据库检索异步文件转换请求,并将所述异步文件转换请求发送到所述异步作业队列。
4.一种计算机实现的用于管理文件转换的方法,包括:
接收将文件在不同文件格式间进行转换的文件转换请求;
基于与所述文件转换请求相关联的一个或多个文件转换参数来确定所述文件转换请求是同步文件转换请求还是异步文件转换请求,当第一文件转换参数指示文件的数量为1而第二文件转换参数指示等待时间值小于阈值时,确定文件转换请求是同步文件转换请求;
将同步文件转换请求存储在同步作业队列中;
在定义的时间间隔将异步文件转换请求存储在异步作业队列中;以及
在处理所述异步作业队列中所存储的所述异步文件转换请求之前,处理所述同步作业队列中所存储的所述同步文件转换请求。
5.如权利要求4所述的计算机实现的方法,其特征在于,包括当文件转换请求是对低等待时间转换操作的请求时确定所述文件转换请求是同步文件转换请求,其中所述低等待时间转换操作能够一接收到所述文件转换请求就立即以同步方式转换一个文件。
6.如权利要求4所述的计算机实现的方法,其特征在于,包括当文件转换请求是对高吞吐量转换操作的请求时确定所述文件转换请求是异步文件转换请求,其中所述高吞吐量转换操作能够以异步方式每次转换多个文件。
7.如权利要求4所述的计算机实现的方法,其特征在于,包括:
将文件在与所述同步作业队列中所存储的每个同步文件转换请求相关联的不同文件格式间进行转换,直到所述同步作业队列为空;以及
一旦所述同步作业队列为空,则将文件在与所述异步作业队列中所存储的异步文件转换请求相关联的不同文件格式间进行转换。
8.如权利要求4到7中任一项所述的计算机实现的方法,其特征在于,包括:
确定一个或多个新的同步文件转换请求已被所述同步作业队列接收;
暂停对所述异步作业队列中所存储的异步文件转换请求的处理;
处理来自所述同步作业队列的所述一个或多个新的同步文件转换请求,直到所述同步作业队列为空;以及
当所述同步作业队列为空时,恢复对所述异步作业队列中所存储的异步文件转换请求的处理。
9.一种计算机实现的用于管理文件转换的系统,包括:
用于接收将文件在不同文件格式间进行转换的文件转换请求的装置;
用于基于与所述文件转换请求相关联的一个或多个文件转换参数来确定所述文件转换请求是同步文件转换请求还是异步文件转换请求的装置,当第一文件转换参数指示文件的数量为1而第二文件转换参数指示等待时间值小于阈值时,确定文件转换请求是同步文件转换请求;
用于将同步文件转换请求存储在同步作业队列中的装置;
用于在定义的时间间隔将异步文件转换请求存储在异步作业队列中的装置;以及
用于在处理所述异步作业队列中所存储的所述异步文件转换请求之前,处理所述同步作业队列中所存储的所述同步文件转换请求的装置。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201161468469P | 2011-03-28 | 2011-03-28 | |
US61/468,469 | 2011-03-28 | ||
US13/236,901 US8949258B2 (en) | 2011-03-28 | 2011-09-20 | Techniques to manage file conversions |
US13/236,901 | 2011-09-20 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102750266A CN102750266A (zh) | 2012-10-24 |
CN102750266B true CN102750266B (zh) | 2017-05-03 |
Family
ID=46928662
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210083522.3A Active CN102750266B (zh) | 2011-03-28 | 2012-03-27 | 管理文件转换的技术 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8949258B2 (zh) |
CN (1) | CN102750266B (zh) |
WO (1) | WO2012134692A2 (zh) |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012242895A (ja) * | 2011-05-16 | 2012-12-10 | Canon Inc | ドキュメント変換装置、情報処理方法及びプログラム |
WO2013101169A1 (en) * | 2011-12-30 | 2013-07-04 | Intel Corporation | Sharing data amoung smart devices and a cloud network |
GB2507294A (en) | 2012-10-25 | 2014-04-30 | Ibm | Server work-load management using request prioritization |
US20140164915A1 (en) * | 2012-12-11 | 2014-06-12 | Microsoft Corporation | Conversion of non-book documents for consistency in e-reader experience |
TWI463343B (zh) * | 2012-12-19 | 2014-12-01 | Inventec Corp | 同步均衡系統及其方法 |
JP6364738B2 (ja) * | 2013-01-11 | 2018-08-01 | 株式会社リコー | 情報処理システム、情報処理装置、プログラム及び処理実行方法 |
US20140340717A1 (en) * | 2013-05-20 | 2014-11-20 | Conexant Systems, Inc. | Real-time secure digital facsimile implementation using cloud services |
CN104216927B (zh) * | 2013-06-05 | 2019-08-02 | 北京奇虎科技有限公司 | 文档展示方法及装置 |
JP6237200B2 (ja) * | 2013-12-19 | 2017-11-29 | 株式会社リコー | 文書情報処理システム、文書情報処理方法、文書情報処理装置及び文書情報処理プログラム |
JP5967791B2 (ja) * | 2014-03-05 | 2016-08-10 | 株式会社日立製作所 | 情報処理方法及び情報処理システム |
US9705986B2 (en) * | 2014-06-18 | 2017-07-11 | Alfresco Software, Inc. | Elastic scalability of a content transformation cluster |
US10133798B2 (en) | 2014-06-18 | 2018-11-20 | Alfresco Software, Inc. | Content transformations using a transformation node cluster |
US10275505B2 (en) * | 2014-06-24 | 2019-04-30 | Adobe Inc. | In-application conversion of file versions using cloud services |
CN104484419B (zh) * | 2014-12-17 | 2018-02-13 | 上海斐讯数据通信技术有限公司 | 一种测试用例文档的转换系统和方法 |
US10803229B2 (en) * | 2015-07-16 | 2020-10-13 | Thinxtream Technologies Pte. Ltd. | Hybrid system and method for data and file conversion across computing devices and platforms |
CN105488169A (zh) * | 2015-11-30 | 2016-04-13 | 福建亿榕信息技术有限公司 | 一种多进程文件转换方法及装置 |
CN105589957A (zh) * | 2015-12-22 | 2016-05-18 | 新浪网技术(中国)有限公司 | 一种文档转化方法及文档转化系统 |
CN105610614B (zh) * | 2015-12-28 | 2019-06-18 | 中国银联股份有限公司 | 高可用访问系统以及高可用故障切换方法 |
WO2018030924A1 (en) * | 2016-08-11 | 2018-02-15 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and cloud management node for managing a data processing task |
US10261767B2 (en) * | 2016-09-15 | 2019-04-16 | Talend, Inc. | Data integration job conversion |
JP6890396B2 (ja) * | 2016-09-29 | 2021-06-18 | キヤノン株式会社 | 情報処理システム及び情報処理方法、文書処理システム、プログラム |
CN106777034B (zh) * | 2016-12-09 | 2020-12-29 | 裴宏伟 | 一种文档批量格式转换的方法和系统 |
CN108243028B (zh) * | 2016-12-23 | 2020-06-26 | 大唐移动通信设备有限公司 | 一种用于车载设备开通的方法及装置 |
JP2019106629A (ja) * | 2017-12-12 | 2019-06-27 | キヤノン株式会社 | 情報処理システム、制御方法及びそのプログラム |
CN108881472B (zh) * | 2018-07-09 | 2019-03-29 | 掌阅科技股份有限公司 | 电子书文件的处理方法、电子设备、存储介质 |
CN110826300B (zh) * | 2019-10-10 | 2023-04-28 | 中国平安财产保险股份有限公司 | 一种文本转档方法、装置以及相关设备 |
CN111897777A (zh) * | 2020-06-22 | 2020-11-06 | 百望股份有限公司 | 电子发票版式文件的处理方法、装置、设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6433716B2 (en) * | 2000-02-25 | 2002-08-13 | Denso Corporation | Data conversion device having mediator for determining data conversion order |
CN101887410A (zh) * | 2009-05-11 | 2010-11-17 | 日本电气株式会社 | 文件转换装置、文件转换方法以及文件转换程序 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3244014B2 (ja) | 1997-02-14 | 2002-01-07 | 日本電気株式会社 | マルチメディア変換装置および変換方式 |
US6023706A (en) | 1997-07-11 | 2000-02-08 | International Business Machines Corporation | Parallel file system and method for multiple node file access |
US6714979B1 (en) * | 1997-09-26 | 2004-03-30 | Worldcom, Inc. | Data warehousing infrastructure for web based reporting tool |
US6111673A (en) | 1998-07-17 | 2000-08-29 | Telcordia Technologies, Inc. | High-throughput, low-latency next generation internet networks using optical tag switching |
JP2001027986A (ja) * | 1999-05-10 | 2001-01-30 | Canon Inc | データ処理装置及び処理部選択方法 |
US7197749B2 (en) * | 2000-12-19 | 2007-03-27 | Xerox Corporation | Method and system for executing batch jobs by delegating work to independent service providers |
JP3826038B2 (ja) * | 2002-01-17 | 2006-09-27 | キヤノン株式会社 | 印刷システム及びその印刷方法並びに印刷装置 |
US20060041503A1 (en) * | 2004-08-21 | 2006-02-23 | Blair William R | Collaborative negotiation methods, systems, and apparatuses for extended commerce |
US7844215B2 (en) | 2006-08-08 | 2010-11-30 | Accenture Global Services Gmbh | Mobile audio content delivery system |
JP2008073895A (ja) | 2006-09-19 | 2008-04-03 | Ricoh Co Ltd | 画像形成装置、画像形成方法、画像形成プログラム、及び、情報記録媒体 |
US7673305B2 (en) * | 2006-10-23 | 2010-03-02 | Hewlett-Packard Development Company, L.P. | System and method of expediting certain jobs in a computer processing system |
EP2107464A1 (en) | 2008-01-23 | 2009-10-07 | Comptel Corporation | Convergent mediation system with dynamic resource allocation |
JP5645515B2 (ja) * | 2010-07-09 | 2014-12-24 | キヤノン株式会社 | 処理システム、制御方法、およびそのプログラム |
US20130061220A1 (en) * | 2011-09-06 | 2013-03-07 | Xerox Corporation | Method for on-demand inter-cloud load provisioning for transient bursts of computing needs |
-
2011
- 2011-09-20 US US13/236,901 patent/US8949258B2/en active Active
-
2012
- 2012-02-28 WO PCT/US2012/027045 patent/WO2012134692A2/en active Application Filing
- 2012-03-27 CN CN201210083522.3A patent/CN102750266B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6433716B2 (en) * | 2000-02-25 | 2002-08-13 | Denso Corporation | Data conversion device having mediator for determining data conversion order |
CN101887410A (zh) * | 2009-05-11 | 2010-11-17 | 日本电气株式会社 | 文件转换装置、文件转换方法以及文件转换程序 |
Also Published As
Publication number | Publication date |
---|---|
US20120254204A1 (en) | 2012-10-04 |
WO2012134692A2 (en) | 2012-10-04 |
CN102750266A (zh) | 2012-10-24 |
US8949258B2 (en) | 2015-02-03 |
WO2012134692A3 (en) | 2012-11-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102750266B (zh) | 管理文件转换的技术 | |
CN109565515B (zh) | 分布式资源管理系统中的动态租户结构调整的系统、设备和过程 | |
WO2021017301A1 (zh) | 基于Kubernetes集群的管理方法、装置及计算机可读存储介质 | |
US9787603B2 (en) | Linking instances within a cloud computing environment | |
CN105024865B (zh) | 云联合即服务 | |
CN101589599B (zh) | 移动设备管理代理系统 | |
CN103020813B (zh) | 管理远程事件的技术 | |
US9661064B2 (en) | Systems and methods for deploying legacy software in the cloud | |
US9015235B2 (en) | Server aggregated application streaming | |
WO2017060776A2 (en) | Methods and apparatus to design collaborative automation systems based on data distribution service middleware | |
US9459897B2 (en) | System and method for providing data analysis service in cloud environment | |
CN107590001A (zh) | 负载均衡方法及装置、存储介质、电子设备 | |
US10897500B2 (en) | Synchronizing a device using push notifications | |
RU2632125C1 (ru) | Способ и система обработки задач в облачном сервисе | |
US9246920B2 (en) | Cloud resource cloning based on collaborative content | |
CN1973282A (zh) | 用于管理针对集群配置的改变的系统和方法 | |
US10115066B2 (en) | Managing assets | |
Mutichiro et al. | QoS-based service-time scheduling in the IoT-edge cloud | |
CN106856441A (zh) | Nfvo中的vim选择方法和装置 | |
Cirani et al. | Virtual replication of iot hubs in the cloud: A flexible approach to smart object management | |
CN102902593B (zh) | 基于缓存机制的协议分发处理系统 | |
CN116828035A (zh) | 一种基于云计算的数据集成系统 | |
CN103268264B (zh) | 一种低耦合的多事件同步rfid中间件系统及其实现方法 | |
EP3813329A2 (en) | Methods, apparatuses and systems for integrating and managing automated dataflow systems | |
Simões et al. | Dynamic Allocation of SDN Controllers in NFV-based MEC for the Internet of Vehicles |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into 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: 20150727 |
|
C41 | Transfer of patent application or patent right or utility model | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20150727 Address after: Washington State Applicant after: Micro soft technique license Co., Ltd Address before: Washington State Applicant before: Microsoft Corp. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |