计算机可读介质、系统及信息处理方法与流程

文档序号:14294143阅读:197来源:国知局
本发明涉及一种计算机可读介质、系统及信息处理方法,并尤其涉及云服务的事件驱动型计算服务的高效的资源控制方法。
背景技术
:近年来,可用各种类型的云计算服务。可以举出亚马逊网络服务(amazonwebservice,在下文中简称为“aws”)、谷歌云平台(googlecloudplatform)以及微软azure(microsoftazure)作为这种服务的例子。通过提供诸如虚拟机和存储器的计算资源作为根据所使用的规格、存储器等按小时计费的服务,这些服务已变得普及。通过使用这种服务,用户可以以低成本灵活地创建诸如web系统等的信息处理系统,而不需要自己准备所需的物理资源。可以给出如下的示例作为这类云计算服务的使用示例:从连接到网络的各种设备、计算机终端和移动终端收集设备和应用程序的日志信息、操作信息等,将该信息保存在存储器中,并且在数据库中管理该信息。这里,为了管理文件的文件名、在存储器中保存信息的位置等,每次加载(upload)诸如文件等的收集的信息时创建记录。例如,日本特开2004-38759号公报公开了一种称为“事件驱动型脚本”的技术。根据该技术,在更新了特定数据的情况下,根据更新的事件启动预登记的脚本。云计算服务也提供响应于关于特定计算资源发生的事件而执行低负荷处理的服务(在下文中称为“事件驱动型计算服务”)。awslambda、谷歌云功能(googlecloudfunction)、微软azure功能(microsoftazurefunctions)是示例。在这些服务中,用于实现针对云计算服务的期望处理的程序代码被预先登记在具有指定的规格的、执行程序代码的虚拟机的例如cpu、存储器等中。登记的程序代码与计算资源和关于这些计算资源发生的特定事件相关联。到目前为止,为了实现与事件驱动型计算服务实现的处理相同种类的处理,有必要提供用于检测关于计算资源发生的事件的应用程序、用于执行期望处理的应用程序等,并且还需要构建并管理用于运行那些应用程序的基础架构。然而,上述事件驱动型计算服务使云计算服务的用户能够只关注于开发期望的处理。此外,利用事件驱动型计算服务,可以以按小时付费的方式执行登记程序代码的同时提供服务,这从基础架构成本的观点来看使开发具有上述构造的应用程序更容易。在如awslambda代表的当前的事件驱动型计算服务中,当执行响应于事件的发生而执行的程序代码时,存在限制。具体而言,如果程序代码未在事件驱动型计算服务指定的时间量内完成处理,则处理将超时并以错误结束。在程序代码以设定量的连续次数的错误结束的情况下,即使关于相对应的计算资源的事件发生,事件驱动型计算服务也将停止执行程序代码。例如,假设用于响应于文件加载完成的事件而处理加载到预定存储器的文件的程序代码被登记在事件驱动型计算服务中。此时,如果加载的文件大,则依据执行程序代码的虚拟机的规格,可能存在所需的时间量内未完成处理的情况。换言之,当加载了与被假定为用于执行程序代码的环境的虚拟机的规格不匹配的数据时,可能将反复地发生超时并且将不执行处理。技术实现要素:本发明提供一种抑制事件驱动型计算服务故障的计算机可读介质、系统和信息处理方法。本发明具有如下构造。即,根据本发明的第一方面,提供了一种计算机可读介质,在所述计算机可读介质中存储有由构成系统的计算机根据系统事件和在登记期间指定的计算资源而执行的程序,所述程序使计算机用作:处理单元,其用于处理由系统管理的数据;以及启动单元,其用于根据对执行所述程序所消耗的时间量的监视结果,中断由处理单元实施的处理并且启动在系统中登记的其他程序。根据本发明的第二方面,提供了一种系统,所述系统提供服务,所述服务利用为预先登记的脚本指定的计算资源,响应于系统事件而自动地执行所述脚本,所述系统包括:检测单元,其用于检测系统事件;处理单元,其用于通过执行与所检测到的系统事件相对应的脚本来处理数据;监视单元,其用于监视执行所述脚本消耗的时间量;以及执行单元,其用于根据由所述监视单元实施的监视结果,中断由处理单元实施的处理,并且执行在系统中登记的其他脚本,其中,将正被处理单元处理的数据处理为正被执行的所述其他脚本的结果。根据本发明的第三方面,提供了一种系统中的信息处理方法,所述系统提供服务,所述服务利用为预先登记的脚本指定的计算资源,响应于系统事件而自动地执行所述脚本,所述信息处理方法包括:检测系统事件;通过执行与所检测到的系统事件相对应的脚本来处理数据;监视执行所述脚本消耗的时间量;以及根据监视结果,中断数据的处理并且执行在系统中登记的其他脚本,其中,将正被处理的数据处理为正被执行的所述其他脚本的执行结果。根据本发明,在事件驱动型计算服务中可以抑制事件驱动型计算服务中的故障。通过下面(参照附图)对示例性实施例的描述,本发明的其他特征将变得清楚。附图说明图1是例示系统的整体构造的图。图2是例示客户端设备101的硬件构造的图。图3是例示服务器102、103和104中的各个的硬件构造的图。图4是例示客户端设备101的软件构造的图。图5是例示文件服务器102的软件构造的图。图6是例示文件信息服务器103的软件构造的图。图7是例示事件信息管理服务器104的软件构造的图。图8是例示用于登记异步处理代码的一系列处理的序列表。图9a和图9b是例示由异步处理代码执行的一系列处理的序列表。图10是例示异步处理代码监视处理的流程图。图11是例示异步处理代码根据处理时间在不同的执行环境下启动异步处理代码的处理的流程图。图12例示了在不同的执行环境下启动异步处理代码的异步处理代码的虚代码。图13是例示异步处理代码根据处理次数在不同的执行环境下启动异步处理代码的处理的流程图。图14例示了在不同的执行环境下启动异步处理代码的异步处理代码的虚代码。图15例示了依据事件的详情而确定用于执行异步处理代码的环境的处理的流程图。具体实施方式第一实施例●系统构造在下文中,将参照附图描述本发明的实施例。图1是例示根据本发明的系统的整体构造的框图。网络100是连接图1的框图中的构成要素的网络,即客户端设备101、文件服务器102、文件信息管理服务器103、和事件信息管理服务器104。客户端设备和服务器、管理器设备等也可以被称为“信息处理装置”或“计算机”。图1中例示的系统可以被称为“云系统”或“信息处理系统”。网络100是构成要素彼此通信的架构。在本发明中将客户端设备101描述为通过网络连接到其他构成要素。同时,可以通过内网、互联网或其他网络系统连接其他构成要素。在图1的框图中例示的构成要素当中,客户端设备101通过网络100与文件服务器102和文件信息管理服务器103相互连接。虽然本实施例假设客户端设备101是个人计算机(在下文中称为“pc”),但是客户端设备101可以是具有通过网络100进行通信的功能的任何种类的终端。文件服务器102是接收并保存从客户端设备101发送的实际文件的服务器设备。文件服务器102具有用于保存从客户端设备101发送的各种格式的文件的功能。文件信息管理服务器103是与表示从客户端设备101发送的文件存储在文件服务器102中的位置的信息(url)相关联地保存该文件的属性信息的服务器设备。事件信息管理服务器104是管理并执行事件驱动型计算服务中的程序代码的服务器设备。事件驱动型计算服务的用户在事件信息管理服务器104中将程序代码和用于执行该程序代码的、文件服务器102中发生的事件彼此相关联地登记。“事件”是指由客户端设备101或图1所示的其他构成要素对保存在文件服务器102中的文件所做的操作,诸如将文件加载到文件服务器102的预定路径、将保存在文件服务器102中的预定路径中的文件进行更新等等。执行程序代码的虚拟机的环境信息也与代码相关联地登记。这具体是指在虚拟机中运行的cpu、ram等等的规格。通过这样做,当在文件服务器102中发生事件时,事件信息管理服务器104与文件服务器102中执行的处理异步地执行与事件相关联的预定程序代码。在下文中,响应于文件服务器102中发生的事件而由事件信息管理服务器104执行的程序代码将被称为“异步处理代码”。此外,根据本实施例的“事件”将被称为“系统事件”。例如,当登记事件信息时,指定事件的类型和异步处理代码,并将事件的类型和异步处理代码相关联。使用执行异步处理代码的事件信息管理服务器104的计算资源来执行异步处理代码。例如使用诸如等的脚本来实现异步处理代码。●终端和服务器硬件构造图2是例示图1所示的客户端设备101的硬件构造的示例的框图。系统总线200是将构成客户端设备101的硬件要素彼此连接的总线。除非另有说明,本实施例假设系统总线200将控制命令从cpu201传输到连接到系统总线200的各种硬件要素。为了实现根据本实施例的发明,cpu201执行从ram202和存储设备203加载的程序,并直接或间接地控制通过系统总线200连接的客户端设备101的硬件要素。ram202是用作cpu201操作的工作区域的临时存储区域。存储设备203是外部存储设备,例如存储作为基本软件的os和其他软件模块的hdd。网络设备204是连接到网络100以与其他设备通信的硬件。输入/输出接口205是用于连接到输入/输出设备206的接口。输入/输出接口205包括例如ps2、通用串行总线(usb)、模拟或数字显示器接口等等。输入/输出设备206是经由输入/输出接口205连接到客户端设备101并且输入/输出信息的设备。例如,输入/输出设备206是显示器、键盘、鼠标等。图3是例示图1所示的文件服务器102、文件信息管理服务器103和事件信息管理服务器104的硬件构造的示例的框图。系统总线300是将构成文件服务器102、文件信息管理服务器103、或事件信息管理服务器104的硬件要素彼此连接的总线。除非另有说明,本实施例假设系统总线300将控制命令从cpu301传输到连接到系统总线300的各种硬件要素。为了实现根据本实施例的发明,cpu301执行从ram302和存储设备303加载的程序,并直接或间接地控制通过系统总线300连接的客户端设备101的硬件要素。ram302是用作cpu301操作的工作区域的临时存储区域。存储设备303是外部存储设备,例如存储作为基本软件的os和其他软件模块的hdd。网络设备304是连接到网络100以与其他设备通信的硬件。假设图1所示的文件服务器102、文件信息管理服务器103和事件信息管理服务器104被配设为云计算服务,并且图3所示的硬件要素被虚拟机软件实现为应用程序软件并且以与物理硬件要素相同的方式表现。●客户端软件图4是例示根据本实施例的在客户端设备101上运行的客户端设备信息发送应用程序400的软件构造的示例的框图。客户端设备信息发送应用程序400存储在客户端设备101的存储设备203中并由cpu201执行。客户端设备信息发送应用程序400由通信单元401和信息收集单元402构成。通信单元401经由网络设备204与文件服务器102通信。信息收集单元402收集由客户端设备101生成的客户端设备信息并且将该信息作为文件保存在存储设备203中。具体而言,信息收集单元402将由客户端设备101输出的硬件日志信息等作为文件依次保存在存储设备203中。客户端设备信息发送应用程序400经由通信单元401将客户端设备信息发送到文件服务器102。●文件服务器软件图5是例示根据本实施例的在文件服务器102上运行的文件管理应用程序500的软件构造的示例的框图。文件管理应用程序500存储在文件服务器102的存储设备303中并被cpu301执行。文件管理应用程序500由通信单元501、文件管理单元502和文件保存单元503构成。通信单元501经由网络设备304与客户端设备101、文件服务器102、文件信息管理服务器103和事件信息管理服务器104通信。文件管理单元502经由通信单元501从客户端设备101和事件信息管理服务器104接收请求。文件管理单元502也经由通信单元501向事件信息管理服务器104发送事件。文件保存单元503根据来自文件管理单元502的指令保存从客户端设备101接收的实际文件。文件保存单元503也根据来自文件管理单元502的指令响应于来自根据图1所示的实施例的发明的构成要素的请求发送实际文件。下面的文件管理表(表1)示出了针对实际文件的由文件保存单元503管理的数据的示例。表1:文件管理表id保存路径文件名文件大小文件数据1logdata/client001201601.log1024kb<二进制数据>2logdata/client001201602.log2048kb<二进制数据>3logdata/client002201605.log512kb<二进制数据>在表1中,“id”列是保持文件管理应用程序500用以唯一地识别文件服务器102中保存的文件的值的列。“保存路径”列是保持保存在文件服务器102中的文件的文件夹的路径信息的列。“文件名”列是保持在文件服务器102中保存的文件的名称的值的列。“文件大小”列是保持在文件服务器102中保存的文件的大小的值的列。“文件数据”列是保持在文件服务器102中保存的实际文件的二进制数据的列。●文件信息管理服务器软件图6是例示根据本实施例的在文件信息管理服务器103上运行的文件信息管理应用程序600的软件构造的示例的框图。文件信息管理应用程序600存储在文件信息管理服务器103的存储设备303中并被cpu301执行。文件信息管理应用程序600由通信单元601、文件信息管理单元602和文件信息保存单元603组成。通信单元601经由网络设备304与事件信息管理服务器104通信。文件信息管理单元602经由通信单元601接收来自事件信息管理服务器104的请求。文件信息保存单元603根据来自文件信息管理单元602的指令,保存从文件服务器102接收的实际文件提取的各种类型的属性信息。属性信息被保存在文件信息保存单元603中,作为事件信息管理服务器104执行异步处理代码(稍后将描述)的结果。下面的文件信息管理表(表2)示出了由文件信息保存单元603针对文件的属性信息而管理的数据的示例。表2:文件信息管理表在表2中,“id”列是保持文件信息管理应用程序600用以唯一地识别文件信息管理服务器103中保存的文件属性信息的值的列。“文件服务器id”列是保持来自与提取属性信息的实际文件相对应的文件管理表(表1)的“id”列的值的列。“属性”列是保持从实际文件提取的属性信息的列。依据应用程序的目的,可以给出各种类型的信息作为“属性”列中保持的具体值的示例。例如,可以给出用于搜索从文件提取的全文文本的索引文本数据作为示例。然而,在本实施例中不特别限制提取的属性信息的值。●事件信息管理服务器软件图7是例示根据本实施例的在事件信息管理服务器104上运行的各个应用程序的软件构造的示例的框图。在事件信息管理服务器104中,异步处理代码管理应用程序700、异步处理代码执行管理应用程序710和异步处理代码执行环境720被存储在存储设备303中,并且由cpu301执行。异步处理代码管理应用程序700保存由事件信息管理服务器104执行的异步处理代码,并管理异步处理代码的执行设置。异步处理代码管理应用程序700由通信单元701、异步处理代码管理单元702、异步处理代码保存单元703和异步处理代码设置保存单元704组成。通信单元701经由网络设备304与客户端设备101、文件服务器102、文件信息管理服务器103和异步处理代码执行管理应用程序710进行通信。异步处理代码管理单元702经由通信单元701从客户端设备101接收异步处理代码登记请求。异步处理代码管理单元702还从异步处理代码执行管理应用程序710接收异步处理代码请求。异步处理代码保存单元703根据来自异步处理代码管理单元702的指令保存从客户端设备101接收的异步处理代码。此外,异步处理代码保存单元703根据来自异步处理代码管理单元702的指令将异步处理代码发送给异步处理代码执行管理应用程序710。下面的异步处理代码管理表(表3)示出了异步处理代码保存单元703用来管理异步处理代码的数据的示例。表3:异步处理代码管理表id文件名文件数据1asyncproc1.zip<二进制数据>2asyncproc2.zip<二进制数据>在表3中,“id”列是保持唯一地识别异步处理代码管理应用程序700保存的异步处理代码的值的列。“文件名”列是保持异步处理代码管理应用程序700保存的异步处理代码的文件名的值的列。“文件数据”列是保持异步处理代码管理应用程序700保存的异步处理代码的二进制数据的列。异步处理代码设置保存单元704根据来自异步处理代码管理单元702的指令,保存从与实际异步处理代码相关联的客户端设备101接收的异步处理代码的执行设置。此外,异步处理代码设置保存单元704根据来自异步处理代码管理单元702的指令将异步处理代码的执行设置与异步处理代码一起发送给异步处理代码执行管理应用程序710。下面的执行环境设置表(表4)和事件设置表(表5)示出了异步处理代码设置保存单元704针对异步处理代码执行设置所管理的数据的示例。表4:执行环境设置表id执行环境类型cpuramhdd1低1ghz2gb500mb2正常2ghz4gb1gb3中3ghz6gb5gb4高3ghz8gb10gb在表4中,“id”列是保持异步处理代码管理应用程序700用以唯一地识别用于执行异步处理代码的虚拟机环境的设置的值的列。“执行环境类型”列是保持表达用于执行异步处理代码的虚拟机环境的特性的名称的列。“cpu”列是保持用于执行异步处理代码的虚拟机环境下的cpu的值的列。“ram”列是保持用于执行异步处理代码的虚拟机环境下的ram的值的列。“hdd”列是保持用于执行异步处理代码的虚拟机环境下的hdd的大小的列。表5:事件设置表在表5中,“id”列是保持异步处理代码管理应用程序700用以唯一地识别用于执行异步处理代码的事件的值的列。“目标文件路径”列是保持用于执行异步处理代码的目标文件路径的列。“目标事件”列是如下的列,其保持充当用于执行异步处理代码的条件的、对与“目标文件路径”列中保持的文件路径相对应的文件执行的动作的详情。“异步处理代码id”列是保持与要执行的异步处理代码相对应的、异步处理代码管理表中的“id”列的值的列。“执行环境id”列是保持与用于执行异步处理代码的环境相对应的、执行环境设置表中的“id”列的值的列。例如,当事件设置表的“id”列中的值为1的记录和文件被“添加”到了“logdata/client1”下的文件夹时,这表示,基于异步处理代码管理表(表3),在具有异步处理代码为1的“asyncproc1.zip”中的异步处理代码要在如下的环境下执行:基于执行环境设置表(表4),该环境的执行环境id为1,或者换言之,具有2ghz的cpu、4gb的ram和1gb的hdd的虚拟机环境。异步处理代码执行管理应用程序710从异步处理代码管理应用程序700获得基于从文件服务器102接收的事件的异步处理代码及其执行设置,并创建用于执行该异步处理代码的异步处理代码执行环境720。异步处理代码执行管理应用程序710由通信单元711、异步处理代码执行管理单元712、异步处理代码执行单元713和异步处理代码执行环境管理单元714构成。通信单元711经由网络设备304与文件服务器102、文件信息管理服务器103、异步处理代码管理应用程序700和异步处理代码执行环境720进行通信。异步处理代码执行管理单元712经由通信单元711,接收来自文件服务器102的事件和来自异步处理代码管理应用程序700的异步处理代码和执行设置。异步处理代码执行单元713根据来自异步处理代码执行管理单元712的指令接收与从文件服务器102接收的事件相对应的异步处理代码和执行设置。异步处理代码执行单元713基于从文件服务器102接收的执行设置生成异步处理代码执行环境720,并指示执行与该事件相对应的异步处理代码。异步处理代码执行环境管理单元714管理在异步处理代码执行环境720中执行的异步处理代码的执行状态。下面的执行环境监视项目表(表6)示出了由异步处理代码执行环境管理单元714管理的、异步处理代码执行环境720的运行条件的示例。表6:执行环境监视项目表id监视项目监视项目值1重试次数52执行时间300在表6中,“id”列是保持异步处理代码执行管理应用程序710中的、用于唯一地识别管理异步处理代码执行环境720的运行状态的项目的值的列。“监视项目”列是保持用于监视异步处理代码执行环境720正执行的异步处理代码的执行状态的项目的列。“监视项目值”列是保持附属于“监视项目”列中保持的项目的阈值的列。例如,执行环境监视项目表的“id”列中的值为1的记录意味着使得能够针对由异步处理代码执行环境720执行的异步处理代码进行最多5次重试。在甚至超过预定的重试次数5次后,异步处理代码仍不能成功的完成针对事件的处理的情况下,响应于超过重试次数,发生错误,并且异步处理代码执行管理应用程序710中断对异步处理代码的执行。此外,执行环境监视项目表的“id”列中的值为2的记录意味着为了处理事件由异步处理代码执行环境720执行的异步处理代码所需的时间限于300秒。如果在300秒内异步处理代码已完成处理的通知未被发送给异步处理代码执行管理应用程序710,则异步处理代码执行管理应用程序710将异步处理代码终止指令发送给异步处理代码执行环境720并使处理中断。因此,在执行环境监视项目表中可以限定针对事件驱动型计算服务的各种限制。异步处理代码执行环境720是用于执行与文件服务器102发送给异步处理代码执行管理应用程序710的事件相对应的异步处理代码以处理该事件的虚拟机环境。异步处理代码执行环境720被配设为云计算服务。图3中例示的硬件要素通过虚拟机软件被实现为应用程序软件,并且以与物理硬件要素相同的方式表现。异步处理代码执行环境720由通信单元721和执行单元722构成。通信单元721经由网络设备304与文件服务器102、文件信息管理服务器103、异步处理代码管理应用程序700和异步处理代码执行环境720进行通信。执行单元722经由通信单元721执行从异步处理代码管理应用程序700接收到的异步处理代码,以处理文件服务器102中发生并从异步处理代码执行管理应用程序710接收到的事件。执行单元722接收来自异步处理代码执行环境管理单元714的连续执行监视请求,并且从异步处理代码执行管理应用程序710接收附属于正被执行的异步处理代码的监视请求,并且控制对异步处理代码的执行。●异步处理代码的登记图8、图9a和图9b是例示从事件信息管理服务器104中的异步处理代码的登记和管理(如参照图7所述的)到实际处理文件服务器102中发生的事件的流程的序列表。图8是例示根据本实施例的客户端设备101将异步处理代码登记在异步处理代码管理应用程序700中的一系列处理的序列表。在步骤s801中,客户端设备101经由通信单元401将异步处理代码登记请求发送给异步处理代码管理应用程序700。下面的异步处理代码登记请求记录(表7)示出了作为异步处理代码登记请求的发送给异步处理代码管理应用程序700的记录的示例。表7:异步处理代码登记请求记录“异步处理代码”列是保持作为二进制数据的实际异步处理代码的列。“异步处理代码文件名”列是保持异步处理代码的文件名的列。“执行目标文件路径”列是保持用于执行异步处理代码的、文件服务器102中的文件路径的列。异步处理代码执行管理应用程序710参照从文件服务器102接收的事件中包括的文件路径,并且在该路径与本列中保持的路径匹配的情况下,确定该事件是要执行异步处理代码所针对的事件。“执行目标事件”列是保持针对文件服务器102中的执行目标文件路径中保持的文件要执行异步处理代码的动作的列。“执行环境id”列是保持与用于执行异步处理代码的环境相对应的、执行环境设置表中的“id”列的值的列。例如,表7中所示的异步处理代码登记请求记录意味着,登记在文件被添加到了文件服务器102中的“logdata/client1”下的文件夹的情况下执行的异步处理代码的请求。在步骤s802中,异步处理代码执行管理应用程序710根据由通信单元701接收到的异步处理代码登记请求记录生成异步处理代码管理记录,并将该记录存储在异步处理代码保存单元703中的异步处理代码管理表中。异步处理代码登记请求记录中的“异步处理代码文件名”列的值被保持在异步处理代码管理记录的“文件名”列中。异步处理代码登记请求记录的“异步处理代码”列中的二进制数据被保持在异步处理代码管理记录的“文件数据”列中。在步骤s803中,异步处理代码执行管理应用程序710生成事件设置记录并将该记录存储在异步处理代码设置保存单元704中的事件设置表(例如,表5)中。执行异步处理代码登记请求记录的“目标文件路径”列的值,被保持在事件设置记录的“目标文件路径”列中。异步处理代码登记请求记录的“执行目标事件”列的值被保持在事件设置记录的“目标事件”列中。异步处理代码管理记录的“id”列中的、在步骤s802中被保持在异步处理代码保存单元703的异步处理代码管理表中的值,被保持在事件设置记录的“异步处理代码id”中。异步处理代码登记请求记录的“执行环境id”列的值被保持在事件设置记录的“执行环境id”中。作为这一系列处理的结果,异步处理代码被登记在异步处理代码执行管理应用程序710中。●对异步处理代码的执行图9a和图9b是例示根据本实施例的启动并完成异步处理代码的一系列处理的序列表。图9a和图9b一起例示单个序列。假设参照图9a和图9b描述的异步处理代码使用客户端设备101将文件新登记在文件服务器102中作为事件而被启动,该异步处理代码具有执行用于提取新登记的文件的属性信息并将该信息登记在文件服务器102的文件管理单元502中的处理的代码。当然,仅有事件和事件驱动型计算服务的示例,并且替代地,其他事件也可以用作触发器,并且其他处理作为服务。在步骤s901中,客户端设备101经由通信单元401向文件服务器102发送文件加载请求,该文件加载请求用于将由信息收集单元402输出的日志信息作为文件进行登记。下面的文件加载请求记录(表8)示出了作为文件加载请求的、发送到文件服务器102的记录的示例。表8:文件加载请求文件数据文件名加载目的地文件夹<二进制数据>201601.loglogdata/client1在表8中,“文件数据”列是保持要发送的文件的二进制数据的列。“文件名”列是保持要发送的文件的名称的列。“加载目的地文件夹”列是保持要将文件加载到的、文件服务器102中的文件夹的路径的列。在步骤s902中,文件服务器102将由通信单元501接收到的文件加载请求中包括的数据添加到文件保存单元503的文件管理表。一旦文件服务器102结束将数据添加到文件保存单元503,文件服务器102经由通信单元501将响应发送给客户端设备101,表示文件加载完成。在步骤s903中,文件服务器102生成表示文件加载完成的事件,并且经由通信单元501将该事件通知给异步处理代码执行管理应用程序710。下面的文件加载完成事件(表9)示出了作为文件加载完成事件的、发送给异步处理代码执行管理应用程序710的记录的示例。表9:文件加载完成事件文件路径事件类型logdata/client1/201601.log添加表9中的“文件路径”列是保持文件服务器102中的、充当用于生成事件的触发器的文件的文件路径。“事件类型”列是保持对文件服务器102中的、在“文件路径”列中保持的文件路径中保存的文件实施的操作的详情的列。在步骤s901中,文件从客户端设备101新加载到文件服务器102,并且因此这里输入“添加”值。在步骤s904中,异步处理代码执行管理应用程序710使用异步处理代码执行管理单元712来确认经由通信单元711接收到的文件加载完成事件的详情。首先,异步处理代码执行管理单元712从文件加载完成事件的“文件路径”列中的值获得除去文件名的文件夹路径,并且一起获得“事件类型”中的值。接下来,经由通信单元711,异步处理代码执行管理单元712参照异步处理代码管理应用程序700的异步处理代码设置保存单元704中的事件设置表,搜索出“目标文件路径”列中的值和“目标事件”列中的值的组合与文件夹路径和“事件类型”列中的值的组合相匹配的记录,并且,如果存在这样的记录,则获得记录。如果,不存在这样的记录,则可以确定没有设置以所通知的事件为触发器的异步处理。在这种情况下,可以在步骤s904终止序列。然而,如果存在这样的记录,则在步骤s905中,异步处理代码执行管理单元712基于在步骤s904中获得的事件设置记录,从异步处理代码管理应用程序700获得与在步骤s904中接收到的事件相对应的异步处理代码。异步处理代码执行管理单元712从异步处理代码保存单元703的异步处理代码管理表搜索出与事件设置记录的“异步处理代码id”中的值匹配的记录,并且获得在“文件数据”列中保持的异步处理代码的二进制数据。在步骤s906中,异步处理代码执行管理单元712从异步处理代码管理应用程序700获得用于执行在步骤s905中获得的异步处理代码的设置。异步处理代码执行管理单元712从异步处理代码保存单元703中的执行环境设置表(表4)搜索出与事件设置记录中的“执行环境id”列的值匹配的记录,并且获得该记录。在步骤s907中,异步处理代码执行管理单元712创建并启动具有基于在步骤s906中获得的执行环境设置记录的规格的异步处理代码执行环境720。在步骤s908中,异步处理代码执行管理单元712经由通信单元711将在步骤s905中获得的异步处理代码部署到异步处理代码执行环境720的存储设备303。在步骤s909中,异步处理代码执行单元713经由通信单元711将异步处理代码执行请求发送给异步处理代码执行环境720的执行单元722。在接收到异步处理代码执行请求时,执行单元722将在步骤s908中接收到的异步处理代码加载到ram302并开始对异步处理代码的执行。下面的异步处理代码执行请求记录(表10)示出了发送给执行单元722的异步处理代码执行请求的示例。表10:异步处理代码执行请求记录文件路径事件设置idlogdata/client1/201601.log1在表10中,“文件路径”列是保持要利用异步处理代码处理的文件在文件服务器102中的路径的列。在步骤s904中接收到的文件加载完成事件记录中的“文件路径”列的值被保持在这里。“事件设置id”列是保持由异步处理代码执行管理应用程序710在步骤s904中获得的事件设置记录的“id”列中的值的列。执行单元722管理正被执行的异步处理代码的执行状态。下面的表11示出了由执行单元722管理的执行状态记录的示例。表11:执行状态记录状态执行次数经过时间执行中1120在表11中,“状态”列是保持执行单元722正执行的异步处理代码的执行状态的值的列。可以想到的是,作为状态的可能的值的数量将依据由异步处理代码实现的处理的详情而增加/减少。在本实施例中,在从异步处理代码启动的时间到异步处理代码结束的时间期间,该值是“执行中”。如果处理正常结束,则值是“ok”,然而,如果以错误结束,则该值是“error(错误)”。“执行次数”列是保持针对文件服务器102中发生的事件执行单元722已执行了异步处理代码的次数的列。代码已被执行的次数是指,例如重试次数。“经过时间”列是保持从执行单元722开始对异步处理代码的执行时起经过的时间量(例如,按秒计)的列。“经过时间”列中的值在“状态”列中的值是“执行中”的情况下递增,并且当“状态”列中的值变成“ok”或“错误”时递增停止。当“状态”列中的值再次改变为“执行中”时,“经过时间”列中的值重置为0。在步骤s910中,异步处理代码执行环境管理单元714执行确认在步骤s909中开始的异步处理的执行状态的监视处理。图10是详细例示在步骤s910中由异步处理代码执行环境管理单元714执行的监视处理的流程图。与步骤s909中开始的异步处理并行地执行该处理,并且该处理由异步处理代码执行环境管理单元714执行直到异步处理结束或直到超过在异步处理代码执行环境管理单元714的执行环境监视项目表(例如,表6)中登记的监视项目。在步骤s1001中,异步处理代码执行环境管理单元714从执行环境监视项目表获得执行环境监视项目记录。在步骤s1002中,异步处理代码执行环境管理单元714获得异步处理代码执行环境720的执行状态记录。在步骤s1003中,异步处理代码执行环境管理单元714将在步骤s1002中获得的执行状态记录的“经过时间”列中的值与如下记录中的“监视项目值”列中的值进行比较:在步骤s1001中获得的执行环境监视项目记录的“监视项目”列中的值是“执行时间”的记录。在“经过时间”列中的值小于“监视项目值”列中的值的情况下,处理返回到步骤s1002,并且继续监视。在“经过时间”列中的值大于“监视项目值”列中的值的情况下,处理进行到步骤s1004。在步骤s1004中,异步处理代码执行环境管理单元714中断由异步处理代码执行环境720执行的处理。中步骤s1005中,异步处理代码执行环境管理单元714将在步骤s1002中获得的执行状态记录的“执行次数”列中的值与如下记录中的“监视项目值”进行比较:在步骤s1001中获得的执行环境监视项目记录的“监视项目”列中的值是“重试次数”的记录。在“执行次数”列中的值小于“监视项目值”列中的值的情况下,处理进行到步骤s1006。在“执行次数”列中的值与“监视项目值”列中的值匹配的情况下,监视处理结束。在步骤s1006中,异步处理代码执行环境管理单元714将1加到异步处理代码执行环境720的执行状态记录的“执行次数”列中的值。在步骤s1007中,异步处理代码执行环境管理单元714再次执行异步处理代码。通过该系列的处理,异步处理代码执行环境720中的异步处理代码被监视,从而在不超过由异步处理代码执行管理应用程序710设置的限制值的情况下而被执行。在步骤s1005中确定重试次数达到限制值的情况下,处理序列在重试次数达到限制值的时刻结束而不再进行重试。如果图9a和图9b所示的序列不是在该步骤而是在未执行异步处理代码的情况下或异步处理代码被中断的情况下结束,则该信息被记录在执行日志中。还应注意,虽然在图9b中,步骤s911和s912被记为在步骤s910之后执行,但是这仅仅是为了使附图更容易理解。步骤s911和步骤s912是通过执行异步处理代码而实施的步骤,并且基于异步处理代码的详情来实现处理。在对异步处理代码的执行期间,例如周期性地反复进行在步骤s910中实施的监视。在步骤s911中,执行单元722从文件服务器102获得与在步骤s909中接收到的异步处理代码执行请求记录中的文件路径相对应的文件。在步骤s912中,执行单元722从在步骤s911中获得的文件提取属性信息,生成文件属性信息记录,并将记录登记在文件服务器102的文件信息保存单元603中的文件信息管理表中。当异步处理代码正常结束时,执行单元722将代码结束的通知发送给异步处理代码执行管理单元712。当异步处理代码执行结束时,在步骤s913中,异步处理代码执行管理单元712关闭并丢弃异步处理代码执行环境720的虚拟机。●避免由异步处理代码的限制而引起的故障每次由于图8、图9a、图9b和图10所示的系列处理而在文件服务器102中引发事件时,在事件信息管理服务器104中适当地执行与事件相对应的异步处理代码。然而,依据事件的详情,存在如下的情况,在由异步处理代码执行管理应用程序710设置的执行环境监视项目的限制内处理并没有结束的情况下,异步处理代码的处理被中断。例如,在本实施例中,存在如下的情况,客户端设备101加载到文件服务器102的文件大,并且作为针对与这些文件对应地执行的异步处理代码的执行环境而分配的cpu、ram和hdd的规格不合适。在这种情况下,即使异步处理代码执行管理应用程序710执行异步处理代码,在步骤s1003中也将超过执行时间,并且将反复进行步骤s1007中的对异步处理的再启动直到到达限制值,这将导致处理被中断。●实施例中的异步处理代码图11是例示在大大超过执行环境的规格的情况下,使得与文件服务器102中发生的事件的详情相对应的异步处理代码的执行环境能够根据事件动态地改变使得处理可以继续的异步处理代码的处理序列的流程图。图12是例示在图11所示的流程图的流程中执行的异步处理代码的虚代码的图。图11中例示的异步处理代码由执行单元722执行。关于硬件构造,例如由实现执行单元722的cpu301来执行该代码。在步骤s1101中,异步处理代码获得在异步处理代码本身中设置的执行容许时间的值。执行容许时间也可以被称为执行时间的上限。也在此时获得在步骤s909中从异步处理代码执行管理应用程序710获得的异步处理代码执行请求记录。该处理对应于虚代码块1201。在步骤s1102中,异步处理代码执行测量异步处理代码的处理的启动时间的计时器。该处理对应于虚代码块1202。在步骤s1103中,异步处理代码开始异步处理代码的处理。在本实施例中,获得在由从文件服务器102接收的文件加载完成事件的“文件路径”列中的值表示的路径中的文件,生成针对该文件的属性信息,并且在文件信息管理表中登记该属性信息。该处理对应于虚代码块1203。在步骤s1104中,异步处理代码监视异步处理代码的处理经过的执行时间,并且确认该时间的值是否超过在步骤s1101中获得的执行容许时间。在尚未超过执行容许时间的情况下处理继续。在执行时间的监视结果表示超过了执行容许时间的情况下,处理进行到步骤s1105。该处理对应于虚代码块1204。在步骤s1104中,例如在步骤s1102中设置的计时器期满时可以确定经过时间超过预定时间。作为选择,可以在正在执行步骤s1103的同时使用其他计时器等来定期地实施确定。在前者的情况下,例如可以从步骤s1105起实施响应于计时器期满而启动的其他序列。在步骤s1105中,异步处理代码中断在步骤s1103中开始的处理。在步骤s1106中,异步处理代码经由执行单元722从异步处理代码设置保存单元704的事件设置表,获得具有与在步骤s1101中获得的异步处理代码执行请求记录的“事件设置id”列中的值匹配的值的事件设置记录。从所获得的事件设置记录获得“异步处理代码id”列的值和“执行环境id”列的值。然后,用生成于在新的、更高等级的执行环境下执行异步处理代码的更高等级执行环境启动请求,并将其发送到异步处理代码执行管理应用程序710。该处理对应于虚代码块1206。表12示出了更高等级执行环境启动请求的示例。表12:更高等级的执行环境启动请求在表12中,“异步处理代码id”列是保持如图11所示的、为了在新的、更高等级的执行环境下执行类似的异步处理代码而执行的异步处理代码的id的列。具体而言,该列保持在步骤s1106中获得的事件设置记录的“异步处理代码id”列的值。“更高等级的执行环境id”列是保持用于新执行异步处理代码的环境的环境id的列。具体而言,该列保持通过使在步骤s1106中获得的事件设置记录的“环境id”列中的值递增1而获得的值(即,通过将值增加1而获得的值)。“文件路径”列是保持针对在新的、更高等级的执行环境下执行的异步处理代码的文件路径的列。具体而言,该列保持在步骤s1106中获得的事件设置记录的“文件路径”列的值。在该示例中,期望的是,执行环境设置表(表4)包括具有例如从1开始的id值(环境id)的多个执行环境设置记录。进一步期望的是,随着id的值增加,环境能够以更短的时间量来执行异步处理代码(即,环境是更高等级的环境)。在步骤s1106中,确定在表4的执行环境设置表中是否登记了新设置的环境id,并且在登记了id的情况下处理可以进展。在这种情况下,如果在表4的执行环境设置表中未登记新设置的环境id,则不存在更高的环境;因此,例如,假设即使使处理时间最大量地缩短的环境下也不能在限制时间内完成处理,处理可以以错误结束。在步骤s1107中,异步处理代码执行管理应用程序710接收在步骤s1106中从执行单元722发送的更高等级的执行环境启动请求。然后,异步处理代码执行管理应用程序710根据在更高等级的执行环境启动请求中保持的值新生成异步处理代码执行环境720,并且处理文件服务器102中发生的事件。在步骤s1108中,异步处理代码将异步处理代码的处理已正确结束的通知发送给异步处理代码执行管理应用程序710。通过异步处理代码发送处理已正确结束的通知,在步骤s1103中运行的异步处理代码从作为图10所示的监视处理的目标中被移除。结果是,可以避免如下的情况,使用在步骤s903中由通信单元711接收到的事件作为触发器在步骤s1103中运行的异步处理代码和在步骤s1107中新启动的异步处理代码被同时执行。接收到通知后,异步处理代码执行管理应用程序710删除旧的异步处理代码执行环境720。在步骤s1108之后,正被执行的异步处理代码结束。在本示例中,期望的是,在步骤s1102中设置的计时器值(容许时间)比通过从在图10的步骤s1003中检查到的执行时间的上限减去步骤s1105至步骤s1108所需的时间而获得的时间短。这是因为在图10的步骤s1004中断异步处理的执行之前,执行从步骤s1105至步骤s1108的步骤,并且启动不同的异步处理。以这种方式新启动的异步处理代码与启动该代码的异步处理代码相同,并且因此在执行时间超过容许时间的情况下,还可以启动其他异步处理代码并实施处理。每次启动时,执行环境具有更高规格,并且因此是更容易完成处理的环境。注意,再启动(re-starting)处理是指将随其同时地执行当前处理。然而,如果例如异步处理表示保存从与事件关联的文件提取的信息(例如,属性信息),则通过在同一保存位置并用同一名称保存属于同一事件的文件,可以避免冗余地保存文件的情况。通过上述处理的序列,即使在响应于检测到的第一系统事件不能在该异步处理代码执行环境720中完成处理而自动启动并执行异步处理(即,脚本)的情况下,也在异步处理代码结束错误之前新启动具有更高规格的异步处理代码执行环境,并且该异步处理代码在适合于事件的环境下继续。因此,能够给异步处理代码动态地分配对事件最优的执行环境,并且因此能够可靠地完成事件处理。在本实施例中,使用事件作为触发器(例如,脚本)而执行的异步处理调用相同的脚本来代替能够进行快速处理的执行环境。然而,在不改变执行环境的情况下,独立于异步处理而调用的异步处理代码可以是与调用侧的代码本身不同的代码。在这种情况下,新启动的异步处理代码是更有效率的代码。为此目的,也可以改变处理的详情,例如,将项目从要被保存为文件的信息删除或者按原样保存信息而不做任何修改。此外,异步处理的环境和被启动的异步处理代码二者都可以与调用侧的异步处理代码不同。在这种情况下,与保持作为事件驱动型处理的目标的数据的位置相关联地登记异步处理代码,但是从正被执行的异步处理代码启动的其他异步处理代码可以在没有建立这种关联的情况下登记。这也适用于下述第二实施例。第二实施例在第一实施例中,监视响应于在步骤s903中由通信单元711接收到的事件而启动的异步处理代码的执行经过时间,并且在存在该时间将超过由异步处理代码执行管理应用程序710设置的执行时间的风险的情况下,将异步处理代码的执行环境切换到具有更高规格的环境。这使得能够可靠地完成事件处理。然而,本实施例描述了如下的方法,在存在通过异步处理代码的事件处理将超过由异步处理代码执行管理应用程序710设置的重试次数的风险的情况下,预先检测到将发生这种情况的征兆,并且将异步处理代码的执行环境切换到更高规格的环境。这使得能够可靠地完成事件处理。图13是例示异步处理代码的处理的序列的流程图。文件服务器102中发生的事件的详情大大超过异步处理代码的执行环境的规格的情况下,基于异步处理代码的重试次数而检测到将发生这种情况的征兆。在检测到这种征兆的情况下,可以通过根据事件动态地改变执行环境来继续处理。图14是例示在图13中表示的流程图的流程中执行的异步处理代码的虚代码的图。在步骤s1301中,异步处理代码参照文件信息管理服务器103的文件信息管理单元602中的异步处理代码启动限制表,并且获得表示针对同一事件可以执行异步处理代码的次数的启动限制次数。该处理对应于虚代码块1401。下面的异步处理代码启动限制表(表13)示出在异步处理代码启动限制表中保持的数据的示例。表13:异步处理代码启动限制表“异步处理代码id”列是保持在异步处理代码管理表(例如,表3)中的“id”列的值的列。“启动限制次数”列是保持针对同一事件可以启动异步处理代码的次数的限制值的列。该值被设置为小于在异步处理代码执行环境管理单元714管理的执行环境监视项目表(例如,表6)的“监视项目”列为“重试次数”的记录中的“监视项目值”列中的值。在步骤s1302中,异步处理代码参照由执行单元722管理的执行状态记录的“执行次数”列中的值,并确认该异步处理代码本身关于在步骤s903中由通信单元711接收到的事件的执行次数。该处理对应于虚代码块1402。然后异步处理代码将在步骤s1301中获得的“启动限制次数”列中的值与在步骤s1302中获得的“执行次数”列中的值进行比较;在“执行次数”列中的值小于“启动限制次数”列中的值的情况下,处理进行到步骤s1303,并且在不是这种情况时,进行到步骤s1304。该处理对应于虚代码块1403。在步骤s1303中,异步处理代码开始异步处理代码的处理。此时,由执行单元722管理的执行状态记录的“执行次数”列中的值递增1并更新。在本实施例中,获得从文件服务器102接收的文件加载完成事件的“文件路径”列中的值表示的路径中的文件,生成针对该文件的属性信息,并且将属性信息登记在文件信息管理表中。该处理对应于虚代码块1404。注意,在此时开始的处理超时的情况下,在相同执行环境下自动实施重试处理(从s1301再次开始)在步骤s1304中,异步处理代码中断异步处理代码的实质性处理。异步处理本身继续。在这个阶段,不实施实质性处理,并且因此可以跳过步骤s1304。从步骤s1305至步骤s1037的系列处理与图11中的从步骤s1106至步骤s1108的处理相同,并且因此将省略其描述。根据上述处理序列,在首先被接收到的事件到达由异步处理代码执行管理应用程序710所设置的重试次数的限制值时而启动异步处理代码执行环境720中的异步处理代码之前,新启动具有更高规格的异步处理代码执行环境,并且在适合于事件的环境下继续该异步处理代码。因此,能够给异步处理代码动态地分配针对事件最优的执行环境,并且因此能够可靠地完成事件处理。第三实施例在第一和第二实施例中,假设首先针对事件分配共同执行的异步处理代码及其执行环境。这里,预先检测到事件处理将无法在假设的执行环境下完成的征兆,并且异步处理代码的执行环境被切换为具有更高规格的环境使得事件处理能够可靠地完成。然而,本实施例描述了如下的方法,在针对事件生成执行环境之前确认该事件的详情,并从开头生成适合于与具体条件相对应的事件的执行环境,使得能够可靠地完成事件处理。图15是例示当异步处理代码执行管理单元712构建图9a的步骤s907中的异步处理代码的执行环境时,判断事件的详情并生成适合于事件的执行环境的一系列处理的流程图。在步骤s1501中,异步处理代码执行管理单元712参照从异步处理代码管理应用程序700的异步处理代码设置保存单元704获得的扩展事件设置记录。下面的扩展事件设置表(表14)示出扩展事件设置记录的示例。表14:扩展事件设置表表14中所示的扩展事件设置记录是如下记录,将用于实现根据本实施例的方法的信息添加到根据第一和第二实施例的事件设置表(例如,表5)的记录。“id”列是保持异步处理代码管理应用程序700用以唯一地识别用于执行异步处理代码的事件的值的列。“目标文件路径”列是保持用于执行异步处理代码的目标文件路径的列。“目标事件”列是保持充当用于执行异步处理代码的条件的、对与“目标文件路径”列中保持的文件路径相对应的文件执行的动作的详情的列。“异步处理代码id”列是保持与要执行的异步处理代码相对应的异步处理代码管理表中的“id”列的值的列。“执行环境id”列是保持与用于执行异步处理代码的环境相对应的执行环境设置表中的“id”列的值的列。“条件id”列是保持用于在依据目标事件的详情存在不同的执行环境的候选的情况下从候选表唯一地识别条件记录的id的列。下面的条件表(表15)示出了在条件记录中的数据的示例。表15:条件表条件id推荐执行环境id条件项目条件值13文件大小2048kb或更大在表15中,“条件id”列是保持唯一地识别异步处理代码管理应用程序700中的条件记录的值的列。“推荐执行环境id”列是保持与当执行异步处理代码时基于事件推荐的执行环境相对应的执行环境设置表的“id”列中的值的列。“条件项目”列是保持用于容许异步处理代码在与推荐的“执行环境id”列的值相对应的执行环境设置下执行的条件的项目名称的列。“条件值”列是保持与“条件项目”列中的值相对应的具体条件值的列。表15所示的记录的示例是指在与接收到的事件相对应的文件的文件大小大于等于2048kb的情况下,在执行环境设置表的“id”列中的值为3的环境下执行相对应的异步处理代码。在步骤s1501中,异步处理代码执行管理单元712参照在表14所示的扩展事件设置记录的“条件id”列中的值,并且如果设置了值,则从异步处理代码设置保存单元704获得与该值相对应的条件记录。然后,异步处理代码执行管理单元712从文件保存单元503的文件管理表获得与扩展事件设置记录的“目标文件路径”列中的值相对应的文件信息中的文件大小。最终,将获得的文件大小与条件记录的“条件值”列中的值进行比较,并且在条件记录中表示的条件相符的情况下,处理进行到步骤s1503。在条件不相符的情况下,处理进行到步骤s1502。在步骤s1502中,异步处理代码执行管理单元712参照扩展事件设置记录的“执行环境id”列中的值,并且获得匹配执行环境设置表的“id”列中的值的记录。在步骤s1503中,异步处理代码执行管理单元712参照条件相符的条件记录的“推荐执行环境id”列中的值,并且获得执行环境设置表的“id”列中的值相符的记录。在步骤s1504中,异步处理代码执行管理单元712根据在步骤s1502或步骤s1503中获得的执行环境设置记录中的值生成执行环境720。根据上述处理的序列,从开头生成适合于针对事件的处理的执行环境,并且因此能够可靠地完成事件处理。还可以通过读出并执行记录在存储介质(也可更完整地称为“非暂时性计算机可读存储介质”)上的计算机可执行指令(例如,一个或更多个程序)以执行上述实施例中的一个或更多个的功能、并且/或者包括用于执行上述实施例中的一个或更多个的功能的一个或更多个电路(例如,专用集成电路(asic))的系统或装置的计算机,来实现本发明的实施例,并且,可以利用通过由系统或装置的计算机例如读出并执行来自存储介质的计算机可执行指令以执行上述实施例中的一个或更多个的功能、并且/或者控制一个或更多个电路以执行上述实施例中的一个或更多个的功能的方法,来实现本发明的实施例。计算机可以包括一个或更多个处理器(例如,中央处理单元(cpu)、微处理单元(mpu)),并且可以包括分开的计算机或分开的处理器的网络,以读出并执行计算机可执行指令。计算机可执行指令可以例如从网络或存储介质被提供给计算机。存储介质可以包括例如硬盘、随机存取存储器(ram)、只读存储器(rom)、分布式计算系统的存储器、光盘(诸如压缩光盘(cd)、数字通用光盘(dvd)或蓝光光盘(bd)tm)、闪存装置以及存储卡等中的一个或更多个。本发明的实施例还可以通过如下的方法来实现,即,通过网络或者各种存储介质将执行上述实施例的功能的软件(程序)提供给系统或装置,该系统或装置的计算机或是中央处理单元(cpu)、微处理单元(mpu)读出并执行程序的方法。虽然参照示例性实施例对本发明进行了描述,但是应该理解,本发明不限于所公开的示例性实施例。应当对权利要求的范围给予最宽的解释,以使其涵盖所有这些变型例以及等同的结构及功能。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1