文档生成装置、文档生成系统及文档上传方法

文档序号:7700193阅读:207来源:国知局
专利名称:文档生成装置、文档生成系统及文档上传方法
技术领域
本发明涉及文档生成装置、文档生成系统及文档上传方法。
背景技术
近年来,云计算系统已开始广泛地用作这样一种架构,其中服务器计算机端管理业务数据并进行各种类型的处理。在该系统中,用户经由互联网从客户计算机的浏览器来访问云服务器计算机的Web页面,并在该Web页面上显示用户想要阅览的业务数据。当用户由示出该业务数据的画面等发出文档生成指令时,云服务器计算机将该指令重定向至文档生成服务器。然后,用户在由文档生成服务器返回并且要在客户计算机的浏览器上显示的画面上,选择要在表单叠加处理中使用的表单。当用户选择表单时,文档生成服务器获取存储在云服务器中的数据以生成文档,并将该文档下载至浏览器,或者将该文档上传至云服务器。在这种系统中,文档生成服务器需要同时处理来自许多客户计算机的请求。作为同时将许多文档上传至云服务器的方法,已知如下技术,即当要处理的连接的数量超过可接受连接的剩余数量时,等待重试间隔时间并反复上传处理,直到重试次数超过其最大容许数、或者处理完成为止(参见日本特开平9-1671 号公报)。在云平台服务中,指定用于上传文件的数据发送方法,并且,对于一些服务,可以指定需要大量内存进行文件上传处理的方法。例如,基于Base 64方式的编码由于其算法, 需要的内存量等于或大于要生成的文件的大小。然而,如果上传文件至云平台服务的文档生成服务器,被提供作为云服务,则文档生成服务器可以同时接收许多访问。因此,在如此配置的系统中存在如下问题,即由于文档生成服务器的资源数量(内存量)有限,因此,同时执行对云平台服务的数据上传处理可能会导致内存的大量消耗、以及文档生成服务整体的性能的劣化。

发明内容
根据本发明的一方面,提供了一种文档生成装置,其能够生成文档并将所生成的文档经由网络上传至外部服务,所述文档生成装置包括确定单元,其被配置为确定根据来自客户装置的文档生成请求而生成的文档是否能够被上传至所述外部服务;上传单元,其被配置为在所述确定单元确定所述文档能够被上传至所述外部服务的情况下,将所述文档上传至所述外部服务;以及发送单元,其被配置为在所述确定单元确定所述文档不能被上传至所述外部服务的情况下,将所述文档、以及用于将所述文档从所述客户装置上传至所述外部服务的信息发送至所述客户装置。根据本发明,能够降低用于文档上传处理的内存使用量。通过以下参照附图对示例性实施例的详细描述,本发明的其他特征和方面将变得清楚。说明包含在说明书中并构成说明书的一部分的附图例示了本发明的示例性实施例、特征和方面,并且与文字说明一起用来解释本发明的原理。

图1例示了文档生成系统的系统配置的示例。图2例示了图1所示的客户装置、云平台服务以及文档生成服务器的硬件配置的示例。图3例示了文档生成系统的软件配置的概要。图4例示了在云平台服务上运行的软件模块的配置的示例。图5例示了在文档生成服务器的Web服务器上运行的软件模块的配置的示例。图6例示了在文档生成服务器的文档生成服务上运行的软件模块的配置的示例。图7例示了当用户通过客户装置上的Web浏览器访问云平台服务、以在其上显示业务数据时的业务画面的示例。图8例示了存储在云平台服务的数据管理单元中的业务数据的交易相关数据的表结构的示例。图9例示了存储在云平台服务的设置管理单元中的定制按钮定义信息的示例。图10例示了存储在Web服务器的表单信息管理单元中的表单信息表的表结构的示例。图11例示了要显示在客户装置的Web浏览器上的画面的转变的示例。图12例示了文档生成系统进行的处理的示例。图13是例示根据第一示例性实施例的Web服务器进行的文档生成处理(对应于图12所示的步骤S1210至S1217)的示例的流程图。图14是例示Web浏览器进行的文档上传处理(对应于图12所示的步骤S1210至 S1219)的示例的流程图。图15是例示根据第二示例性实施例的Web服务器进行的文档生成处理(对应于图12所示的步骤S1210至S1217)的示例的流程图。
具体实施例方式下面将参照附图详细描述本发明的各种示例性实施例、特征和方面。图1例示了根据第一示例性实施例的文档生成系统的系统配置的示例。客户装置 101向稍后描述的云平台服务102和文档生成服务器103发出请求。例如,云平台服务102 响应于来自客户装置101和文档生成服务器103的请求,显示并更新存储在云平台服务102 中的数据。文档生成服务器103在接收到来自客户装置101的请求时,生成文档。上述各构成要素经由网络100以能够通信的方式相互连接。例如,网络100通过局域网(LAN)和诸如互联网的广域网(WAN)、电话线路、专用数字线路、异步传输模式(ATM, asynchronous transfer mode)线路、帧中继线路、电缆电视线路以及数据广播无线线路中的任何一者来实现。或者,网络100可以是通过这些线路的任意组合实现的通信网络。网络100可以通过任意类型的网络实现,只要该网络能够进行数据发送和接收。 从客户装置101到云平台服务102和文档生成服务器103的通信单元、从文档生成服务器 103到云平台服务102的通信单元、以及各服务器之间的通信单元可以相互不同。
图2例示了图1所示的客户装置101、云平台服务102以及文档生成服务器103的硬件配置的示例。中央处理单元(CPU) 201直接或间接控制经由内部总线连接的各种设备 (例如,稍后描述的只读存储器(ROM)以及随机存取存储器(RAM)以及其他设备),并执行用于实现本示例性实施例的程序。ROM 202存储基本输入输出系统(BIOS)。RAM 203是可以用作CPU 201的工作区、或者加载了用于实现本示例性实施例的软件模块的临时存储区的直接存储装置。硬盘驱动器(HDD) 204是存储作为基本软件的操作系统(OS)、以及软件模块的间接存储装置。例如,HDD 204可以是固态驱动器(SSD)。输入装置205是键盘、指示设备等
(未示出)。显示器连接至输出装置206。接口(I/F) 207是使得能够连接至网络100的接□。当装置启动时,在这些硬件设备中,由CPU 201执行BIOS,将OS从HDD 204加载到RAM 203,从而能够执行OS。CPU 201根据OS的操作,将稍后描述的各种类型的软件模块从HDD 204加载到RAM 203,从而能够在合适的时间执行这些软件模块。通过CPU 201与上述设备协作执行各种类型的软件模块,以使这些软件模块发挥作用。I/F 207连接至网络 100,并根据OS的操作、在CPU 201的控制下通过上述通信单元实现通信。更具体地说,CPU 201基于存储在例如HDD 204中的程序执行处理,从而能够实现根据稍后描述的软件模块、流程图等的处理。云平台服务102和文档生成服务器103可以具有不包括输入装置205和输出装置 206的硬件配置。图3例示了文档生成系统的软件配置的概要。客户装置101包括作为用户界面应用的Web浏览器301。例如,Web浏览器301是文档显示控制单元的示例。云平台服务102管理使用云平台服务102的用户、业务数据、以及稍后描述的用于进行至文档生成服务器103的重定向的设置。此外,基于如下假设来设计云平台服务102, 其中,假设由多个公司和组织使用云平台服务102(通常称为“多企业架构”),因此,将云平台服务102配置为针对使用云平台服务102的各公司或各组织,提供用户、业务数据等的上述管理。文档生成服务器103包括Web服务器303和文档生成服务304。Web服务器303 具有所谓的“Web应用”的功能。客户装置101能够经由Web浏览器301访问Web服务器 303。Web服务器303响应于来自Web浏览器301的请求,返回用户界面信息。Web浏览器301绘制并显示从Web服务器303获得的用户界面信息。显示的用户界面信息的示例包括,稍后描述的由文档生成服务器103管理的表单的列表、以及发出生成文档的请求的界当接收到来自Web浏览器301的文档生成请求时,Web服务器303从云平台服务 102获取业务数据,并将文档生成请求与业务数据一起发送至文档生成服务304。文档生成服务304利用接收的数据以及由文档生成服务304自身管理的表单进行叠加处理,以生成文档数据。图4例示了在云平台服务102上运行的软件模块的配置的示例。各软件模块存储在图2所示的HDD 204中,并在如上所述被CPU 201加载到RAM 203上之后执行。
云平台服务102包括以下单元。发送/接收单元401处理云平台服务102与客户装置101的Web浏览器301以及文档生成服务器103的Web服务器303之间的通信。控制单元402根据发送/接收单元401接收的请求执行处理。页面生成单元403生成用于返回对Web浏览器301的响应的Web页面。认证单元405对发出登录请求的用户进行认证。会话管理单元404管理通过认证单元405成功认证的用户的会话信息。数据管理单元406将业务数据存储在数据库(DB) 408中,并从DB408中检索业务数据或者根据请求更新DB 408中的业务数据。设置管理单元407存储用于进行至文档生成服务器103的重定向的设置。云平台服务102与各构成要素协作进行稍后描述的处理。图4中的DB 408存储管理的用户数据和业务数据,并且DB 408存储在图2所示的 HDD 204 中。针对各公司或组织(下文中统称为“组织”)对管理的用户数据和业务数据进行管理。组织标识(ID)被自动分配给各组织,并且各数据与分配的组织ID—起被管理。当认证单元405对用户进行认证时,认证单元405获取用户所属组织的组织ID,并将其存储在会话管理单元404中。基于组织ID进行诸如数据获取的后续处理,并且仅能够参照对应于存储的组织ID的数据。此外,DB 408还存储用于进行至文档生成服务器103的重定向的设置。能够经由 Web浏览器301、通过用户(管理员)在任意时刻设置并更新存储在DB 408中的业务数据以及用于进行至文档生成服务器103的重定向的设置。图5例示了在文档生成服务器103的Web服务器303上运行的软件模块的配置的示例。各软件模块存储在图2所示的HDD 204中,并在如上所述被CPU 201加载到RAM 203 上之后执行。Web服务器303包括以下单元。发送/接收单元501处理Web服务器303与客户装置101的Web浏览器301、云平台服务102以及文档生成服务304之间的通信。控制单元502根据接收的请求执行处理。此外,控制单元502存储能够从文档生成服务器103向云平台服务102执行的同时上传的最大数量。控制单元502能够通过将同时上传的最大数量与当前进行的文档上传的数量相比较,来切换文档上传方法。页面生成单元503生成用于返回对Web浏览器301的响应的Web页面。数据访问单元504访问云平台服务102以获取业务数据。表单信息管理单元505管理稍后描述的表单信息表。会话管理单元506管理Web浏览器301的会话信息。Web服务器303与各构成要素协作进行稍后描述的处理。图6例示了在文档生成服务器103的文档生成服务304上运行的软件模块的配置的示例。各软件模块存储在图2所示的HDD 204中,并在如上所述被CPU 201加载到RAM 203上之后执行。文档生成服务304包括以下单元。请求接收单元601接收来自Web服务器303的文档生成请求。控制单元602根据接收的请求进行处理。表单管理单元603管理表单数据。 文档生成单元604利用从Web服务器303发送的业务数据以及表单进行叠加处理,以生成文档数据。文档发送单元605将生成的文档数据发送至Web服务器303或客户装置101。图7例示了当用户通过客户装置101的Web浏览器301访问云平台服务102、以显示业务数据时的业务画面701的示例。当用户已经登录到云平台服务102时显示图7中的业务画面701。业务画面701示出某一记录的详细信息702和产品703。参照图7,与交易相关的业务画面示出了交易记录的详情。此外,业务画面701显示应用用于重定向至文档生成服务器103的设置的定制按钮704。能够针对例如当按下定制按钮704时执行何种操作、以及该按钮显示在哪个画面上等任意设置定制按钮704,并通过用户(管理员)将定制按钮704 布置在该画面上。图8例示了包含由云平台服务102的数据管理单元406管理的业务数据项的交易相关数据的表的结构的示例。在数据表800下管理业务数据,并且数据表800包括交易表 801和产品表811。交易表801包含作为记录的标识符的记录ID 802以及交易名称803,其中,用户可以对交易名称803设置任意的名称,以使用户便于识别记录。产品表811包含交易记录 ID 812、作为产品表811中的记录的标识符的记录ID 813、产品名称814、数量815以及价格816。此外,在交易记录ID 812与交易表801的记录ID 802之间建立关系。图9例示了存储在云平台服务102的设置管理单元407中的定制按钮表901中的定制按钮的定义信息的示例。在图9所示的示例中,针对“交易”画面和“顾客”画面定义定制按钮。关于要在“交易”画面上显示的定制按钮的设置信息902包含按钮显示名称903、 以及用于重定向至文档生成服务器103的参数信息。文档生成服务器统一资源标识符(URL)904是以“http://.... ”的形式指定文档生成服务器103的URL的参数。会话ID 905是通过获取已经登录的用户的会话ID、将字符串“sid =〈SESSION ID>”添加至统一资源定位符(URL)参数的设置。云平台服务(CPS)_URL(下文中称为“CPSURL”)906是用于将使得文档生成服务器103能够访问云平台服务102的URL作为字符串“srv_url =〈CLOUD PLATFORM SERVICE URL>”添加至URL参数的设置。例如,云平台服务的URL(CPSURL)是指示云平台服务的重定向目的地信息的示例。使得能够访问云平台服务102的URL对于各组织是唯一的。当用户被认证时,控制单元502获取与用户所属组织相对应的URL,并将获取的URL存储在会话管理单元404中。组织ID 907是通过获取已经登录的用户的组织ID、将字符串“orgid = 〈ORGANIZATION ID>”添加至URL参数的设置。记录ID 908是通过获取画面上显示的交易记录的记录ID 802、将字符串“recid =〈RECORD ID>”添加至URL参数的设置。图10例示了存储在Web服务器303的表单信息管理单元505中的表单信息表的表结构的示例。表单信息表1001中的表单信息记录1002包括以下数据。组织ID 1003能够用于识别拥有表单信息记录的组织。显示名称1004是要在表单选择画面上显示的名称。表单文件名称1005是由文档生成服务304的表单管理单元603 管理的表单的文件名称。查询命令1006是描述用于从云平台服务102获取数据的查询的命令。图11例示了显示在图1所示的文档生成系统中的客户装置101的Web浏览器301 上的画面的转变的示例。在图11及后续附图中,将云平台服务缩写为“CPS”。业务画面1101由云平台服务102生成,并被返回至客户装置101。例如,图7所示的业务画面701被显示为业务画面1101。文档生成按钮1102是用于向云平台服务102发出文档生成请求的按钮。当用户按下文档生成按钮1102时,云平台服务102返回用于将请求重定向至文档生成服务器103的URL。当接收到用于重定向的URL时,客户装置101的Web浏览器301根据接收到的URL 将该请求重定向至文档生成服务器103。当通过重定向接收到请求时,文档生成服务器103 向客户装置101的Web浏览器301返回表单选择画面1103。表单选择画面1103包括用户从中选择要在文档生成中使用的表单的表单选项 1104。此外,表单选择画面1103包括使得用户能够选择是将文档生成服务器103生成的文档上传至云平台服务102、还是将文档生成服务器103生成的文档下载至客户装置101的 Web浏览器301的输出方式选项1105。然后,当接收到用户对文档生成按钮1106的选择时,客户装置101的Web浏览器 301将从表单选项1104和输出方式选项1105选择的结果发送至文档生成服务器103。在接收这些信息之后,文档生成服务器103从云平台服务102获取业务画面1101的业务数据。 在文档生成服务器103从云平台服务102获取业务数据期间,数据获取画面1107显示在客户装置101的Web浏览器301上。当从云平台服务102对业务数据的获取完成时,文档生成服务器103向客户装置 101的Web浏览器301返回使得用户能够确认获取的数据的数据确认画面1108。当接收到用户对生成按钮1109的选择时,客户装置101的Web浏览器301将文档生成请求发送至文档生成服务器103。当接收到文档生成请求时,文档生成服务器103利用选择的表单以及从云平台服务102获取的业务数据,生成文档。然后,文档生成服务器103根据选择的输出方式,将生成的文档上传至云平台服务102,或者将生成的文档下载至客户装置101的Web浏览器301。如果选择的输出方式是上传,则文档生成服务器103获取当前正在进行的上传的数量。如果当前正在进行的上传的数量等于能够同时进行的上传的最大数量,则文档生成服务器103将用于重定向至云平台服务102的URL、文档、上传程序、上传画面1110、以及完成画面1111返回至客户装置101。客户装置101的Web浏览器301显示上传画面1110,并使用作为重定向目的地的 URL、以及上传程序将接收的文档上传至云平台服务102。当完成文档的上传时,客户装置 101的Web浏览器301显示完成画面1111。图12例示了文档生成系统进行的处理的示例。此时,进行如下假设,即用户已经使用登录画面(未示出)登录到云平台服务102,图7所示的业务画面701当前显示在Web 浏览器301上,并且图9所示的设置被预先应用到定制按钮704。首先,在步骤S1201中,用户按下客户装置101的Web浏览器301上显示的业务画面701上的定制按钮704。然后,在步骤S1202中,云平台服务102生成重定向URL。更具体地说,在步骤S1202中,控制单元402获取对定制按钮704设置的文档生成服务器URL 904、会话ID 905,CPSURL 906、组织ID 907、以及记录ID 908,并根据这些获取的参数生成重定向URL。然后,控制单元402将导致重定向的响应返回至Web浏览器301。在步骤S1203中,当接收到从云平台服务102返回的响应时,Web浏览器301将会话ID 905、CPSURL 906、组织ID 907、以及记录ID 908发送至文档生成服务器103。在步骤S1204中,Web服务器303接收来自Web浏览器301的重定向。然后,控制单元502首先将会话ID 905、CPSURL 906、组织ID 907、以及记录ID 908存储在会话管理单元506中。接下来,控制单元502从表单信息管理单元505中获取表单信息记录1002中包括的表单显示名称1004的列表,并根据表单显示名称1004的列表生成表单选择画面1103,以将表单选择画面1103发送至客户装置101。在步骤S1205中,用户分别从表单选择画面1103上的表单选项1104和输出方式选项1105中,选择表单和输出方式,并按下文档生成按钮1106。然后,Web浏览器301将文档生成请求与选择的表单和选择的输出方式,一起发送至Web服务器303。在步骤S1206中,当Web服务器303接收文档生成请求时,文档生成服务器103发出与从表单选项1104选择的表单相对应的查询命令1006,并向云平台服务102发出数据获取请求。此时,对于云平台服务102的URL以及要获取的数据的内容,文档生成服务器103 分别使用存储在会话管理单元506中的CPSURL 906、组织ID 907以及记录ID 908。接下来,在步骤S1207中,云平台服务102生成数据获取画面1107,并将其发送至 Web浏览器301。在步骤S1208中,Web浏览器301定期向文档生成服务器103发送数据获取完成确认请求。文档生成服务器103的Web服务器303将与步骤S 1207中发送的画面相同的数据获取画面1107发送至Web浏览器301,直到Web服务器303从云平台服务102接收到数据获取响应为止。接下来,云平台服务102将数据获取响应返回至文档生成服务器103。Web服务器303的控制单元502将获取的数据存储在会话管理单元506中。之后, 当从Web浏览器301发送数据获取完成的确认请求时,在步骤S1209中,Web服务器303根据从云平台服务102获取的数据,生成数据确认画面1108,然后将数据确认画面1108返回 Mffeb浏览器301。在步骤S1210中,当用户按下在步骤S1209中返回至Web浏览器301的数据确认画面1108上的生成按钮1109时,Web浏览器301将文档生成请求发送至Web服务器303。 当Web服务器303在步骤S1210中接收到文档生成请求时,Web服务器303进行稍后描述的文档生成处理。图13是例示根据第一示例性实施例的Web服务器303进行的文档生成处理(对应于图12所示的步骤S1210至S1217)的示例的流程图。在步骤S1301中,控制单元502从Web浏览器301接收文档生成请求。然后,在步骤S1302中,控制单元502通过会话管理单元506确定会话是否有效。如果控制单元502确定会话有效(步骤S1302 是),则在步骤S1304中,控制单元 502从会话管理单元506获取所获取的数据、表单文件名称1005以及输出方式。在步骤S1305中,控制单元502将文档生成请求与上述获取的数据和表单文件名称1005 —起发出至文档生成服务304(图12中的步骤S1211)。在步骤S1306中,控制单元502获取来自文档生成服务304的响应(图12中的步骤S1212),并确定文档生成是否成功。如果控制单元502确定文档生成成功(步骤S1306: 是),则在步骤S1307中,控制单元502确定上述输出方式的值。在步骤S1307中,如果控制单元502确定将下载指定为输出方式(步骤S1307 下载),则处理进入步骤S1308。在步骤S1308中,控制单元502获取来自文档生成服务304 的响应中包括的文档,并将文档发送至Web浏览器301。另一方面,如果将上传指定为输出方式(步骤S1307 上传),则处理进入步骤 S1309。在步骤S1309中,控制单元502获取能够从文档生成服务器103向云平台服务102 同时进行的上传的最大数量、以及当前正在进行的上传的数量(图12中的步骤S1213)。在步骤S1310中,控制单元502确定生成的文档是否能够被上传至云平台服务 102。更具体地说,控制单元502确定当前正在进行的上传的数量是否小于能够同时进行的上传的最大数量(图12中的步骤S1214)。如果当前正在进行的上传的数量等于同时上传的最大数量(步骤S1310 否),则在步骤S1313中,控制单元502获取以下数据。更具体地说,控制单元502获取来自文档生成服务304的响应中包含的文档、CPSURL 906、上传画面1110、以及完成画面1111。此外,控制单元502生成使得Web浏览器301能够将文档上传至云平台服务102 的上传程序。CPSURL 906以及由此生成的上传程序作为以Web浏览器301可解释且可执行的Javakript编写的程序,被嵌入上传画面1110中。然后,控制单元502将来自文档生成服务304的响应中包括的文档、CPSURL 906、 上传画面1110、完成画面1111以及上传程序发送至Web浏览器301(图12中的步骤 S1217)。另一方面,如果控制单元502在步骤S1310中确定当前正在进行的同时上传的数量小于同时上传的最大数量(步骤S1310 是),则控制单元502进行步骤S1311中的处理。 在步骤S1311中,控制单元502获取来自文档生成服务304的响应中包括的文档,并将文档上传至云平台服务102(图12中的步骤S1215)。在步骤S1312中,当从云平台服务102接收到表示上传完成的响应时,控制单元 502请求页面生成单元503生成完成画面1111。页面生成单元503生成完成画面1111,并且控制单元502将完成画面1111发送至Web浏览器301 (图12中的步骤S1216)。如果控制单元502在步骤S1302中确定会话无效(步骤S1302 否),或者如果控制单元502在步骤S1306中确定文档生成不成功(步骤S1306 否),则在步骤S1303中,控制单元502请求页面生成单元503生成错误画面。在步骤S1303中,页面生成单元503生成错误画面,并且控制单元502将错误画面发送至Web浏览器301。根据上述处理,Web服务器303进行文档生成处理。文档生成服务器103的文档生成服务304进行的文档生成处理(使用表单的叠加处理)是公知的技术,因此在本示例性实施例中将省略对其的描述。在根据本示例性实施例的文档生成处理中,在文档生成服务304完成文档生成处理之后,Web服务器303将响应返回至Web浏览器301。然而,类似于数据获取处理,Web服务器303可以首先将表示当前正在生成文档的画面返回至Web浏览器301,从而使得Web浏览器301进行自动重定向。此外,在根据本示例性实施例的文档生成处理中,控制单元502存储能够从文档生成服务器103向云平台服务102同时进行的上传的最大数量,并通过将同时上传的最大数量与当前正在进行的上传的数量相比较,来切换文档上传方法。然而,本发明可以采用能够提供本示例性实施例的效果的任何方法,例如不仅基于当前正在进行的上传的数量、还基于文档生成服务器103的空闲内存量是否等于或大于提供给控制单元502的阈值的比较,来切换文档上传方法。在这种情况下,控制单元502将文档生成服务器103的空闲内存量与阈值相比较, 并在空闲内存量等于或大于阈值的情况下,确定能够将生成的文档上传至云平台服务102。 另一方面,控制单元502在空闲内存量小于阈值的情况下,确定不能将生成的文档上传至云平台服务102。图14是例示Web浏览器301进行的文档上传处理(对应于图12所示的步骤S1210 至S1219)的示例的流程图。在步骤S1401中,当用户按下数据确认画面1108中包括的生成按钮1109时,Web 浏览器301将文档生成请求发送至Web服务器303 (图12中的步骤S1210)。接下来,在步骤S1402中,Web浏览器301检查是否接收到来自Web服务器303的响应。如果Web浏览器301确认接收到来自Web服务器303的响应(步骤S1402 是),则在步骤S1403中,Web浏览器301检查接收到的响应的内容。如果响应仅包括文档(步骤S1403 是)(图12中的步骤S1216),则处理进行到步骤S1404。在步骤S1404中,Web浏览器301通过将接收的文档显示在作为客户装置101的输出装置206的显示单元上,提供文档的预览。另一方面,如果响应包括文档和其他数据(步骤S1403 否)(图12中的步骤 S1217),则在步骤S1405中,Web浏览器301将响应中包括的上传画面1110显示在显示单兀上。接下来,在步骤S1406中,Web浏览器301通过使用上传画面1110中包括的CPSURL 906及上传程序,将文档上传至云平台服务102(图12中的步骤S1218)。当完成文档的上传时,在步骤S1407中,Web浏览器301显示响应中包括的完成画面1111 (图12中的步骤S1219)。根据上述处理,Web浏览器301进行文档上传处理。在第一示例性实施例中,在当前正在进行的上传的数量等于或大于同时上传的最大数量的情况下,Web服务器303立即将文档发送至Web浏览器301,并使Web浏览器301 将文档上传至云平台服务102。作为第二示例性实施例,将描述如下方法,其中,在当前正在进行的上传的数量等于或大于同时上传的最大数量的情况下,Web服务器303并不立即将文档发送至Web浏览器301,而是等待预定时间。下文中,将不再重复描述已经针对第一示例性实施例描述的内容。在图5所示的Web服务器303中,控制单元502还存储最大等待时间。图15是例示根据第二示例性实施例的Web服务器303进行的文档生成处理(对应于图12所示的步骤S1210至S1217)的示例的流程图。步骤S1501至S1509中进行的处理分别与图13所示的步骤S1301至S1309中进行的处理相同,因此,将省略其描述。在步骤S1510中,如果控制单元502确定当前正在进行的上传的数量等于同时上传的最大数量(步骤S1510 否),则在步骤S1513中,控制单元502检查当前等待时间。如果等待时间少于预定最大等待时间(步骤S1513 否),则在步骤S1514中,控制单元502等待预定时间以上传文档。控制单元502在步骤S1514中等待的时间可以是任意时间,只要该时间少于最大等待时间即可。另一方面,如果等待时间等于或大于上述最大等待时间(步骤S1513 是),则处理进入步骤S1515。在步骤S1515中,控制单元502获取来自文档生成服务304的响应中包含的文档、CPSURL 906、上传画面1110、以及完成画面1111。此外,控制单元502生成使得 Web浏览器301能够将文档上传至云平台服务102的上传程序。CPSURL 906以及由此生成的上传程序作为以Web浏览器301可解释且可执行的 Javakript编写的程序,被嵌入上传画面1110中。然后,控制单元502将来自文档生成服务304的响应中包括的文档、CPSURL 906、 上传画面1110、完成画面1111以及上传程序发送至Web浏览器301(图12中的步骤S 1217)。另一方面,在步骤S1510中,如果控制单元502确定当前正在同时进行的上传的数量小于同时上传的最大数量(步骤S1510 是),则控制单元502进行步骤S1511中的处理。 在步骤S1511中,控制单元502获取来自文档生成服务304的响应中包括的文档,并将文档上传至云平台服务102(图12中的步骤S1215)。接着,在步骤S1512中,当从云平台服务102接收到表示上传完成的响应时,控制单元502请求页面生成单元503生成完成画面1111。页面生成单元503生成完成画面1111, 并且控制单元502将完成画面1111发送至Web浏览器301(图12中的步骤S1216)。Web服务器303可以在与Web浏览器301的会话期间获取客户装置的类型,并根据客户装置的类型确定Web服务器303是否将文档发送至Web浏览器301。客户装置的类型例如是客户装置的产品名称、机型或版本。更具体地说,例如,在Web服务器303在步骤S1510中确定为“否”之后,Web服务器303确定作为通信目的地的客户装置的类型是否是仅具有小容量存储器等的预定类型。 如果Web服务器303确定作为通信目的地的客户装置的类型是仅具有小容量存储器的预定类型,则处理进入步骤S1513。另一方面,如果Web服务器303确定作为通信目的地的客户装置的类型不是仅具有小容量存储器的预定类型,则处理进入步骤S1515,在步骤S1515 中,CPSURL 906、文档、上传程序、上传画面1110、以及完成画面1111被发送至客户。通过提供这种配置,能够降低在文档上传处理中使用的文档生成服务器的内存使用量,而不对仅具有小容量存储器的客户装置施加负荷。根据上述示例性实施例,能够降低在文档上传处理中使用的文档生成服务器的内
存使用量。尽管基于特定示例,通过本发明的示例性实施例描述了本发明,但是本发明不限于上述示例性实施例。还可以通过执行以下处理来实现本发明。更具体地说,经由网络或各种存储介质向系统或装置提供用于实现上述示例性实施例的功能的软件(程序),并由系统或装置的计算机(或CPU或微处理单元(MPU))读取并执行该程序。在这种情况下,程序以及存储该程序的存储介质构成了本发明。虽然参照示例性实施例对本发明进行了描述,但是应当理解,本发明并不限于所公开的示例性实施例。应当对所附权利要求的范围给予最宽的解释,以使其涵盖所有这些变型例以及等同的结构和功能。
权利要求
1.一种文档生成装置,其能够生成文档并将所生成的文档经由网络上传至外部服务, 所述文档生成装置包括确定单元,其被配置为确定根据来自客户装置的文档生成请求而生成的文档是否能够被上传至所述外部服务;上传单元,其被配置为在所述确定单元确定所述文档能够被上传至所述外部服务的情况下,将所述文档上传至所述外部服务;以及发送单元,其被配置为在所述确定单元确定所述文档不能被上传至所述外部服务的情况下,将所述文档、以及用于将所述文档从所述客户装置上传至所述外部服务的信息发送至所述客户装置。
2.根据权利要求1所述的文档生成装置,该文档生成装置还包括存储单元,其被配置为存储所述上传单元能够进行的至所述外部服务的同时上传的最大数量;以及获取单元,其被配置为响应于从所述客户装置接收到将所述文档上传至所述外部服务的指令,获取存储在所述存储单元中的所述同时上传的最大数量、以及当前正在进行的上传的数量,其中,所述确定单元将所述获取单元获取的所述当前正在进行的上传的数量与所述同时上传的最大数量相比较,并且在所述当前正在进行的上传的数量小于所述同时上传的最大数量的情况下,所述确定单元确定所述文档能够被上传至所述外部服务,而在所述当前正在进行的上传的数量等于或大于所述同时上传的最大数量的情况下,所述确定单元确定所述文档不能被上传至所述外部服务。
3.根据权利要求1所述的文档生成装置,其中,所述确定单元将所述文档生成装置的空闲内存量与阈值相比较,并且在所述空闲内存量等于或大于所述阈值的情况下,所述确定单元确定所述文档能够被上传至所述外部服务,而在所述空闲内存量小于所述阈值的情况下,所述确定单元确定所述文档不能被上传至所述外部服务。
4.根据权利要求1所述的文档生成装置,该文档生成装置还包括保持单元,其被配置为保持所述确定单元能够反复确定所述文档是否能够被上传至所述外部服务的最大等待时间,其中,在所述确定单元确定所述文档不能被上传至所述外部服务、并且等待时间等于或长于所述最大等待时间的情况下,所述发送单元将所述文档、以及用于将所述文档从所述客户装置上传至所述外部服务的所述信息发送至所述客户装置。
5.根据权利要求1所述的文档生成装置,该文档生成装置还包括生成单元,其被配置为在所述确定单元确定所述文档不能被上传至所述外部服务的情况下,生成用于将所述文档上传至所述外部服务的上传程序,其中,用于将所述文档上传至所述外部服务的所述信息包括所述上传程序。
6.根据权利要求1所述的文档生成装置,其中,除了所述文档以及用于将所述文档从所述客户装置上传至所述外部服务的所述信息之外,所述发送单元还将要在所述客户装置的显示单元上显示的、表示当前正在所述客户装置进行上传处理的画面,发送至所述客户装置。
7.一种文档生成系统,其包括根据权利要求1所述的文档生成装置、以及被配置为请求文档生成的客户装置,其中,所述客户装置包括第二上传单元,其被配置为根据从所述文档生成装置接收的、用于将所述文档上传至所述外部服务的所述信息,将所述文档上传至所述外部服务。
8.一种由文档生成装置进行的文档上传方法,该文档生成装置能够生成文档并将所生成的文档经由网络上传至外部服务,所述文档上传方法包括如下步骤确定根据来自客户装置的文档生成请求而生成的文档是否能够被上传至所述外部服务;在确定所述文档能够被上传至所述外部服务的情况下,将所述文档上传至所述外部服务;以及在确定所述文档不能被上传至所述外部服务的情况下,将所述文档、以及用于将所述文档从所述客户装置上传至所述外部服务的信息发送至所述客户装置。
9.根据权利要求8所述的文档上传方法,所述文档上传方法还包括如下步骤 存储能够在所述上传步骤中进行的至所述外部服务的同时上传的最大数量;响应于从所述客户装置接收到将所述文档上传至所述外部服务的指令,获取所存储的同时上传的最大数量、以及当前正在进行的上传的数量;以及将所获取的所述当前正在进行的上传的数量与所述同时上传的最大数量相比较, 其中,所述确定步骤包括在所述当前正在进行的上传的数量小于所述同时上传的最大数量的情况下,确定所述文档能够被上传至所述外部服务,而在所述当前正在进行的上传的数量等于或大于所述同时上传的最大数量的情况下,确定所述文档不能被上传至所述外部服务。
全文摘要
本发明提供一种文档生成装置、文档生成系统及文档上传方法。该文档生成装置能够生成文档并将所生成的文档经由网络上传至外部服务,所述文档生成装置包括确定单元,其被配置为确定根据来自客户装置的文档生成请求而生成的文档是否能够被上传至所述外部服务;上传单元,其被配置为在所述确定单元确定所述文档能够被上传至所述外部服务的情况下,将所述文档上传至所述外部服务;以及发送单元,其被配置为在所述确定单元确定所述文档不能被上传至所述外部服务的情况下,将所述文档、以及用于将所述文档从所述客户装置上传至所述外部服务的信息发送至所述客户装置。
文档编号H04L29/08GK102394900SQ201110167600
公开日2012年3月28日 申请日期2011年6月20日 优先权日2010年6月23日
发明者佐藤雄一郎 申请人:佳能株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1