命令执行设备、命令执行系统、命令执行方法以及命令执行程序的制作方法

文档序号:6364132阅读:172来源:国知局
专利名称:命令执行设备、命令执行系统、命令执行方法以及命令执行程序的制作方法
命令执行设备、命令执行系统、命令执行方法以及命令执行程序相关申请本申请基于并且要求2011年I月20提交的日本专利申请号No. 2011-009871的优先权,通过参考的方式将该申请的公开整体引入于此。
背景技术
本发明涉及命令执行设备、命令执行系统、命令执行方法以及命令执行程序。
通常在成批处理大量数据(如计算员工的工资)的情况中使用批处理。专利公开JP-A-2009-211426公开了用于管理对其执行了批处理的批量工作的批量工作管理系统。在批处理中,预先注册一系列过程,并且连续处理所注册的过程。在批处理的情况中,通常在执行处理的同时重复固定的输入/输出操作,如在顺序地读取数据或顺序地写入已处理数据之后处理。因此通过在执行处理的同时考虑该输入/输出操作的特性可以提高处理效率。在上述专利公开JP-A-2009-211426中,没有任何关于在执行处理的同时考虑输入/输出操作的描述。

发明内容
鉴于前文描述,本发明的一个示例性目的在于提供一种可以改进处理效率的命令执行设备、命令执行系统、命令执行方法以及命令执行程序。根据本发明的一个示例性方面的一种命令执行设备包括行为类型判定单元,其根据由输入命令执行的数据处理的内容,判定用于指示数据输入/输出操作的内容的行为类型;命令存储单元,其参考预先对每个行为类型设置的设置信息,并且基于该设置信息中所包括的优先级,将该命令存储在对于每个优先级所创建的命令队列中;以及命令执行单元,其在该命令队列中所存储的命令之中,从该命令队列获取在该命令队列的具有最高优先级的节中所存储的命令,并且执行该命令。根据本发明的一个示例性方面的一种命令执行系统是一种具有客户端和服务器的命令执行系统,其中,该客户端具有行为类型判定单元,其根据由输入命令执行的数据处理的内容,判定用于指示数据输入/输出操作的内容的行为类型;第一命令存储单元,其参考预先对每个行为类型设置的设置信息,并且基于该设置信息中所包括的优先级,将该命令存储在对于每个优先级所创建的命令队列中;以及命令传输单元,其在由该第一命令存储单元存储在该命令队列中的命令之中,从该命令队列获取在该命令队列的具有最高优先级的节中所存储的命令,并且向该服务器传输该命令;并且该服务器具有命令接收单元,其接收从该客户端传输的命令;第二命令存储单元,其基于与接收命令相对应的优先级,将该接收命令存储在对于每个优先级所创建的命令队列的节中;以及命令执行单元,其在由该第二命令存储单元存储在该命令队列中的命令之中,从该命令队列获取在该命令队列的具有最高优先级的节中所存储的命令,并且执行该命令。根据本发明的一个示例性方面的一种命令执行方法包括行为类型判定步骤,用于根据由输入命令执行的数据处理的内容,判定用于指示数据输入/输出操作的内容的行为类型;命令存储步骤,用于参考预先对每个行为类型设置的设置信息,并且基于该设置信息中所包括的优先级,将该命令存储在对于每个优先级所创建的命令队列中;以及命令执行步骤,用于在该命令队列中所存储的命令之中,从该命令队列获取在该命令队列的具有最高优先级的节中所存储的命令,并且执行该命令。根据本发明的一个示例性方面的一种命令执行方法是用于控制具有客户端和服务器的命令执行系统的命令执行方法,其中,该客户端包括行为类型判定步骤,用于根据由输入命令执行的数据处理的内容,判定用于指示数据输入/输出操作的内容的行为类型;第一命令存储步骤,用于参考预先对每个行为类型设置的设置信息,并且基于该设置信息中所包括的优先级,将该命令存储在对于每个优先级所创建的命令队列中;以及命令传输步骤,用于在由该第一命令存储步骤存储在该命令队列中的命令之中,从该命令队列获取在该命令队列的具有最高优先级的节中所存储的命令,并且向该服务器传输该命令;并且该服务器包括命令接收步骤,用于接收从该客户端传输的命令;第二命令存储步骤,用于基于与接收命令相对应的优先级,将该接收命令存储在对于每个优先级所创建的命令队 列的节中;以及命令执行步骤,用于在由该第二命令存储步骤存储在该命令队列中的命令之中,从该命令队列获取在该命令队列的具有最高优先级的节中所存储的命令,并且执行该命令。根据本发明的一个示例性的方案的一种命令执行程序使得计算机执行上述命令执行方法中所包括的每个步骤。


图I是描述根据第一实施方式的命令执行系统的配置的示例的方框图;图2显示了数据A(SRO)的数据配置的示例;图3显示了数据B(SWO)的数据配置的示例;图4显示了根据第一实施方式的设置信息的数据配置的示例;图5显示了根据第一实施方式的通信模块的设置内容;图6是根据第一实施方式描述在执行工资计算批处理之前的准备阶段中的操作的流程图;图7是根据第一实施方式描述在执行工资计算批处理之后的操作的流程图;图8是描述根据第二实施方式的命令执行系统的配置的示例的方框图;图9是描述根据第二实施方式的命令执行客户端和命令执行服务器的配置的示例的方框图;图10显示了根据第二实施方式的设置信息的数据配置的示例;图11显示了根据第二实施方式的通信模块的设置内容的示例;图12显示了根据第二实施方式的通信模块的设置内容的示例;图13是根据第二实施方式描述在执行工资计算批处理之前的准备阶段中的操作的流程图;图14是根据第二实施方式描述在执行工资计算批处理之后在命令执行客户端中的操作的流程图;以及
图15是根据第二实施方式描述在执行工资计算批处理之后在命令执行服务器中的操作的流程图。
具体实施例方式现在将参考附图来描述根据本发明的命令执行设备、命令执行系统、命令执行方法以及命令执行程序。[第一实施方式]将参考图I描述根据第一实施方式的命令执行系统的配置。图I是描述根据第一实施方式的命令执行系统的配置的示例的方框图。该命令执行系统具有服务器1,服务器I包括批处理板2和命令执行设备3以及数据存储装置4。可以由一个或多个节点构成数据存储装置4。该节点可以是HDD (硬盘驱动器)或存储,如RAM (随机访问存储器)。数据存储装置4可以位于服务器I中。 批处理板2执行各种批处理。在本发明中,将描述执行各种批处理中的工资计算批处理21的情况。工资计算批处理21经由命令执行设备3读取/写入存储在数据存储装置4中的数据。将使用参考图2和图3的示例来描述工资计算批处理21的处理过程。首先,工资计算批处理21从数据存储装置4读取如图2中所示的数据A之中雇员号码为“I”的数据A。然后,工资计算批处理21基于数据A中指示的工资计算临时保险费,以生成图3中所示的雇员号码为“I”的数据B,并且将数据B存储在数据存储装置4中。然后工资计算批处理21从数据存储装置4读取雇员号码为“2”的数据A,以与以上相同的方式生成雇员号码为“2”的数据B,并且将数据B存储在数据存储装置4中。对于全部雇员重复该处理。在本发明中将“行为类型”的概念赋予该数据。由属性信息(元数据)来表示行为类型,该属性信息指示数据输入/输出操作的内容。例如,数据A是仅能顺序读取(下文中称为“SR0”)的数据,并且将“SR0”赋予数据A作为行为类型。数据B是仅能顺序写入(下文中称为“SW0”)的数据,并且预先将“SW0”赋予数据B作为行为类型。在批处理的情况中,因为数据输入/输出操作是固定的,可以预先将行为类型赋予数据。通过预先将行为类型赋予数据,可以执行根据该行为类型的处理,因此可以提高处理效率。例如,数据A是仅能顺序读取的数据,所以通过尽可能多地提前读取数据A来增加处理速度。图I中所示的工资计算批处理21根据批处理的内容,更新在命令执行设备3的设置信息存储单元311中所存储的设置信息。将参考图4来描述设置信息的数据配置。图4中所示的设置信息对于每个行为类型具有各种设置内容。在一个行为类型中,存储上述SRO和SW0。各种设置内容将该数据项作为行为、命令、响应、通信模块、通信方法、提前读取数据的数量和副本的数量。在“行为”中,存储数据输入/输出操作的内容。例如,如果行为类型是“SR0”,则存储“顺序提前读取”;并且如果行为类型是“SW0”,则存储“顺序透写(sequentialwrite-through) ”。“提前读取数据的数量”是当行为类型是“SR0”时设置的项,并且当执行顺序提前读取处理时存储该提前读取数据的数量的上限值。在命令中,存储在执行由批处理发出的命令之后所需要的数据的大小以及将要由此示例执行的处理的优先级。例如,如果行为类型是“SRO”,那么在数据大小中存储“10”作为包括要读取的命令的数据的大小,并且在优先级中存储“高”。如果行为类型是“SWO”,则在数据大小中存储“500”作为在包括写入数据B的数据的大小,并且在优先级中存储“中”。根据本实施方式,按照“最高”、“高”、“中”、“低”以及“最低”的降序来描述优先级。作为响应,存储命令执行结果的数据大小以及用于向批处理端回复该数据的处理的优先级。例如,如果行为类型是“SR0”,那么在数据大小中存储“100”作为包括从数据存储装置4读取的数据的数据的大小,并且在优先级中存储“低”。如果行为类型是“SW0”,那么在数据大小中存储“10”作为包括对于向数据存储装置4进行写入的响应内容的数据的大小,并且在优先级中存储“高”。在通信模块中,存储用于识别通信模块的信息。例如,如果行为类型是“SR0”,则在通信模块中存储“通信模块34”,并且如果行为类型是“SW0”,则在通信模块中存储“通信模块36”。在通信方法中,存储例如用于实现处理间通信的手段如“套接字”。图I中的命令执行设备3具有主引擎31、通信模块32、SR0引擎33、通信模块34、SWO引擎35以及通信模块36。SRO引擎33和SWO引擎35被统称为“行为引擎”。行为引擎执行最适用于所设置的行为类型的数据处理。该数据处理包括例如数据读取过程、数据·获取方法和写入可靠性保证。可以通过注册或更新设置信息来生成、改变或删除图I中所示的SRO引擎33、通信模块34、SWO引擎35以及通信模块36主引擎31具有用于存储设置信息的设置信息存储单元311、用于控制命令执行设备3的控制器312以及用于存储由控制器312执行的命令的命令队列313。控制器具有生成单元3121、行为类型判定单元3122、命令存储单元3123以及命令执行单元3124。当注册或更新设置信息时,生成单元3121基于注册或更新之后的设置信息,对于每个行为类型生成组件分组,该组件分组包括行为引擎和通信模块。例如,如果注册之后的设置信息中的行为类型是“SR0”,则生成单元3121生成SRO引擎33以及具有传输缓存341和接收缓存342的通信模块34。如果注册之后的设置信息中的行为类型是“SW0”,则生成单元3121生成SWO引擎35以及具有传输缓存361和接收缓存362的通信模块36。例如,如果用图4中所示的内容来注册设置信息,那么生成单元3121生成具有图5中所示的内容的通信模块。具体而言,生成单元3121向SRO引擎33中的传输缓存341和接收缓存342以及SWO引擎35中的传输缓存361和接收缓存362顺序地分配“缓存I”到“缓存4”。由于该命令的数据大小是“10”,并且在图4中所示的SRO中的优先级是“高”,所以生成单元3121将传输缓存341的缓存大小设置为“10”并将优先级设置为“高”。由于图4中所示的SRO中的响应的数据大小是“100”,优先级是“低”并且提前读取数据的数量为“10”,所以生成单元3121将接收缓存342的缓存大小设置为“ 1000”并且将优先级设置为“低”。这意味着在SRO中,将命令存储在传输缓存中并且一次发送一个,但是在接收缓存中最多可以存储10个响应。因此,将对读取数据A相对应的命令存储在作为“缓存I”的传输缓存341中,并且将其作为优先级为“高”的命令来处理。将与读取数据A相对应的响应存储在作为“缓存2”的接收缓存342中,并且将其作为优先级为“低”的命令来处理。由于该命令的数据大小是“500”,并且在图4中所示的SWO中的优先级是“中”,所以生成单元3121将传输缓存361的缓存大小设置为“500”并且将优先级设置为“中”。由于图4中所示的SWO中的响应的数据大小是“10”并且优先级是“高”,所以生成单元3121将接收缓存362的缓存大小设置为“ 10”并将优先级设置为“高”。因此,将对写入数据B相对应的命令存储在作为“缓存3”的传输缓存361中,并且将其作为优先级为“中”的命令来处理。将与写入数据B相对应的响应存储在作为“缓存4”的接收缓存362中,并且将其作为优先级为“高”的命令来处理。图I中所示的行为类型判定单元3122根据将要由输入命令执行的数据处理的内容,判定用于指示数据输入/输出操作的内容的行为类型。根据本实施方式,将用于识别将要由输入命令执行的数据处理的内容的行为类型识别信息预先赋予该数据。因此,行为类 型判定单元3122可以基于用于数据处理的数据中所包括的行为类型识别信息来判定行为类型。命令存储单元3123参考对于每个行为类型预先设置的设置信息,并且基于该设置信息中所包括的优先级,将命令存储在对于每个优先级所创建的命令队列313的节中。从该命令队列313中所存储的命令之中,命令执行单元3124从该命令队列313获取在命令队列的具有最高优先级的节中所存储的命令并且执行该命令。通信模块32、24和36分别包括传输缓存321、341和361和接收缓存322、342和362。在通信模块32、24和36中,由主引擎31、SRO引擎33和SWO引擎35控制传输缓存321、341和361和接收缓存322、342和362的每个缓存大小、数据传输/接收的优先级以及通信方法等等,并且控制数据传输/接收定时。命令队列313存储用于读取/写入由批处理板2的工资计算批处理21规定的数据的命令以及命令属性信息。该命令属性信息是例如命令类型以及用于存储该命令的缓存的识别信息。该命令类型是例如“命令”或“响应”并且该缓存的识别信息是例如“缓存I ”或“缓存2”。对于每个优先级将命令队列313分节,并且命令队列313存储具有相同优先级的待执行命令作为分配给该节的优先级。由命令执行单元3124执行存储并且从命令队列313中将其删除。命令队列313与通信模块32、24和36的传输/接收状态互锁,并且根据通信模块32,24和36的传输/接收状态来控制命令的增加或删除。如图4所示的,对于命令以及对于响应分别设置SRO或SWO中的优先级。结果,将与数据A的读取相对应的命令存储在命令队列313的优先级被设置为“高”的节中,将与数据A的读取相对应的响应存储在命令队列313的优先级被设置为“低”的节中。将与数据B的写入相对应的命令存储在命令队列313的优先级被设置为“中”的节中,将与数据B的写入相对应的响应存储在命令队列313的优先级被设置为“高”的节中。现在将描述根据第一实施方式的命令执行系统的操作。将参考图6来描述在执行工资计算批处理之前的准备阶段中的第一操作。在该操作示例中,将描述工资计算批处理21使用图2中所示的数据A(SRO)和图3中所示的数据B(SWO)来执行批处理的情况。在开始时,批处理板2的工资计算批处理21基于要执行的批处理,在命令执行设备3中注册设置信息,该设置信息包括要在该批处理中使用的数据的行为以及优先级(步骤 S101)。然后命令执行设备3的主引擎31在设置信息存储单元311中写入由工资计算批处理21注册的设置信息(步骤S102)。在该操作示例中,分别将图4中所示的行为类型是“SR0”的设置信息以及行为类型是“SW0”的设置信息写入设置信息存储单元311。然后基于在设置信息存储单元311中写入的设置信息,主引擎31的生成单元3121生成包括SRO引擎33、通信模块34、SW0引擎35以及通信模块36的组件分组(步骤S103)。然后基于在设置信息存储单元311中写入的设置信息,主引擎31的生成单元3121在每个组件中设置工资计算批处理21的执行环境(步骤S103)。在该操作示例中,将执行环境设置为使得SRO引擎33使用通信模块34并且SWO引擎35使用通信模块36。将传输缓存341和361以及接收缓存342和362的缓存大小、命令执行设备3中的处理的优先级以及命令队列313的初始状态(初始状态为空)设置为例如该执行环境。
现在将参考图7描述在执行工资计算批处理之后的操作。每当从工资计算批处理输入命令时重复执行该操作。首先从批处理板2的工资计算批处理21向命令执行设备3输入命令(步骤S201)。然后命令执行设备3的行为类型判定单元3122分析该命令的内容,并且判定该命令的行为类型(步骤S202)。在此操作示例中,通过参考用于数据处理的数据的行为类型识别信息来判定行为类型。然后命令执行设备3的命令存储单元3123基于与步骤S202中所判定的行为类型相对应的设置信息,将该命令存储在命令队列313中(步骤S203)。然后命令执行设备3的命令执行单元3124开始操作,并且将优先级设置为“最高”(步骤S204)。然后命令执行单元3124确定该命令是否存储在命令队列313的与所设置的优先级相对应的节中(步骤S205)。如果结果是NO(否)(步骤S205 N0)那么命令执行单元3124将优先级减I (步骤S207),如果该优先级不是“最低”(步骤S206 N0)那么将处理移动到步骤S205,或者如果该优先级是“最低”(步骤S206 YES)那么结束该操作。如果步骤S205的结果是命令存储在命令队列313的与所设置的优先级相对应的节中(步骤S205 :YES),那么命令执行单元3124执行该命令(步骤S208)、从命令队列313删除该执行的命令(步骤S209)并且将处理移动到步骤S204。作为图7中的上述操作的具体示例,将描述工资计算批处理21使用图2中所示的数据A(SRO)和图3中所示的数据B(SWO)来执行批处理的情况。首先批处理板2的工资计算批处理21输入命令以从图2中所示的数据A之中读取雇员号码为“I”的数据A(步骤S201)。然后命令执行设备3的行为类型判定单元3122将“SR0”判定为要读取数据A的命令的行为类型(步骤S202)。然后命令执行设备3的命令存储单元3123基于与行为类型“SR0”相对应的设置信息,将要读取数据A的命令存储在命令队列313的优先级被设置为“高”的节中(步骤
S203)。然后命令执行设备3的命令执行单元3124将优先级设置为初始值“最高”(步骤S204)。然后命令执行单元3124确定命令是否被存储在命令队列313的优先级被设置为“最高”的节中(步骤S205),并且由于结果是NO(步骤S205 N0)所以命令执行单元3124将优先级减低为“高”(步骤S207)。然后命令执行单元3124确定命令是否被存储在命令队列313的优先级被设置为“高”的节中(步骤S205),并且由于结果是YES (步骤S205 YES)所以命令执行单元3124向SRO引擎33传输此命令。从而执行此命令(步骤S208),并且命令执行单元3124从该命令队列313删除此命令(步骤S209)。从命令执行单元3124接收到该命令的SRO引擎33从数据存储装置4读取雇员号码为“I”的数据A,并且将数据A存储在接收缓存342中。将存储在接收缓存342中数据A 传输给工资计算批处理21以作为对步骤S201中所输入的命令的响应。由于在与行为类型“SR0”相对应的设置信息中将“10”设置为提前读取数据的数量,所以SRO引擎33读取雇员号码为“I”到“10”的数据A的10个案例,并且将该数据顺序地存储在接收缓存342中。如果从工资计算批处理21输入了要读取雇员号码为“2”到“10”的数据A的命令,那么向工资计算批处理21回复提前读取的并且存储在接收缓存342中的数据。结果,可以提高处理速度。如图5所示,将接收缓存342的缓存大小设置为“1000”,其中可以存储数据A的“ 10”个案例,其中每个案例的数据大小为“ 100”。然后批处理板2的工资计算批处理21输入要从图3中所示的数据B之中写入雇员号码为“I”的数据B的命令(步骤S201)。数据B是一种包括在工资计算批处理21使用数据A来执行计算之后的结果的数据。然后命令执行设备3的行为类型判定单元3122将“SW0”判定为要写入数据B的命令的行为类型(步骤S202)。然后命令执行设备3的命令存储单元3123基于与行为类型“SW0”相对应的设置信息,将要写入数据B的命令存储在命令队列313的优先级被设置为“中”的节中(步骤S203)。然后命令执行设备3的命令执行单元3124开始操作并且将优先级设置为“最高”(步骤S204)。然后命令执行单元3124确定命令是否被存储在命令队列313的优先级被设置为“最高”的节中(步骤S205),并且由于结果是NO(步骤S205 N0)所以命令执行单元3124将优先级减低为“高”(步骤S207)。然后命令执行单元3124确定命令是否被存储在命令队列313的优先级被设置为“高”的节中(步骤S205),并且由于结果是NO(步骤S205 N0)所以命令执行单元3124将优先级减低为“中”(步骤S207)。然后命令执行单元3124确定命令是否被存储在命令队列313的优先级被设置为“中”的节中(步骤S205),并且由于结果是YES(步骤S205 YES)所以命令执行单元3124将该命令传输到SWO引擎35。从而执行该命令(步骤S208),并且命令执行单元3124从该命令队列313删除该命令(步骤S209)。从命令执行单元3124接收到该命令的SWO引擎35将传输缓存361中所存储的雇员号码为“I”的数据B写入到数据存储装置4中,并且将对于该写入的响应的内容存储在接收缓存362中。现在将描述数据B的处理与数据A的处理重叠的情况中的操作。首先工资计算批处理21向命令执行设备3输入要写入数据B的命令。然后由于数据B的行为类型是“SW0”所以命令执行单元3124向SWO引擎35传递该命令。在这里,SRO用于存储数据A的接收缓存342是“缓存2”,并且SWO用于传输数据B的传输缓存361是“缓存3”。将“缓存2”的优先级“低”与“缓存3”的优先级“中”比较,“缓存3”具有更高优先级。因此如果SRO引擎33正在执行数据A的提前读取处理则命令执行单元3124中断该提前处理,并且优先写入数据B。在写入数据B结束之后,命令执行单元3124重新开始数据A的提前读取处理。
如果成功写入数据B,那么数据存储装置4用数据B的写入响应来对命令执行设备3进行回复。然后通信模块36将数据B的写入响应存储在接收缓存362中。然后通信模块36经由SWO引擎35向主引擎31通知命令存储在接收缓存362中。如果SRO引擎33正在执行数据A的提前读取处理,那么由于SWO的接收缓存362是优先级为“高”的“缓存4”,所以命令执行单元3124中断该提前读取处理,并且优先用数据B的写入响应来回复工资计算批处理21。在数据B的写入响应的回复结束之后,命令执行单元3124重新开始数据A的提前读取处理。由于工资计算批处理21认识到已成功写入数据B,所以可以减少前进至下一个处理的时间。如上所述,根据第一实施方式的命令执行系统,对每个数据输入/输出操作定义行为类型,并且对每个行为类型注册包括优先级的设置信息,从而可以用基于输入命令所判定的、适用于该行为类型的优先级来执行根据该行为类型的数据处理。因此可以有效地执行对批处理唯一的数据处理。在执行批处理之前可以定义行为类型并且可以注册设置信息,因此即使该批处理的内容改变了,诸如改变在该批处理中处理的数据大小,也可以容易地处置该改变。一些通信模块将专用存储器作为独立的硬件(例如利用TCP/IP引擎的NIC(网络接口卡)),所以可以将通信模块的存储器用作为缓存来代替主存储器的使用。通过将行为引擎的缓存用作通信模块的缓存,可以释放主存储空间。如果对每个行为引擎提供通信模块,那么可以根据行为类型来控制优先级而无需从通信模块的缓存获取数据。例如如果仅使用一个套接字来访问数据存储装置4,那么除非数据是从该套接字获取的则不能识别命令/响应的内容和该数据,所以无需从缓存获取数据就能实现根据行为类型的优先级控制。[第二实施方式]现在将描述第二实施方式。根据第二实施方式的命令执行系统在分布式环境之下执行批处理,在批处理的执行环境中,数据存储装置被分布在多个服务器。图8是描述根据第二实施方式的命令执行系统的配置的示例的方框图。在下文将描述与第一实施方式的主
要差异。如图8所示,据第二实施方式的命令执行系统与据第一实施方式的命令执行系统的差异在于,第一实施方式中的命令执行设备3与命令执行客户端3C和命令执行服务器3S分离,对于批处理21和批处理22分配第一实施方式中的批处理板2,向每个分布式批处理提供命令执行客户端3C,并且由多个服务器构成数据存储装置4以分配并且管理数据。命令执行客户端3C的数量以及命令执行服务器3S的数量可以是一个或两个或更多个。可以将命令执行服务器3S分配为使得由每个命令执行服务器3S共享并且同步行为类型和设置信息。如图9所示,命令执行客户端3C与命令执行服务器3S分别具有图I中所示的第一实施方式的命令执行设备3的类似组成元件。但是,命令执行客户端3C和命令执行服务器3S的组成元件的功能与第一实施方式的命令执行设备3的组成元件的功能部分地不同。这是因为尽管在第一实施方式中命令执行设备3在批处理板2和数据存储装置4中中继数据,然而在第二实施方式中命令执行客户端3C和命令执行服务器3S在批处理板2与数据存储装置4之间中继数据。 在多个命令执行客户端3C之中,现在将描述连接到具有工资计算批处理21的批处理板2的命令执行客户端3C来作为示例。工资计算批处理21根据批处理的内容来注册并且更新设置信息。如果已注册或更新设置信息,那么在命令执行客户端3C的设置信息存储单元311C中所存储的设置信息中,并且经由同步在命令执行服务器3S的设置信息存储单元31IS中所存储的设置信息中,反映该注册或更新。在必要时在命令执行客户端3C与命令执行服务器3S之间可以对设置信息同步或者可以改变设置信息。现在将参考图10描述根据第二实施方式的设置信息。根据第二实施方式的设置信息与图4中所示的根据第一实施方式的设置信息具有相同的数据项。在根据第二实施方式的设置信息中,将“控制”注册为行为类型。当在命令执行客户端3C与命令执行服务器3S之间对设置信息同步时,可以使用该行为类型作为控制的行为类型。行为类型的“SR0”和“SW0”与根据第一实施方式的设置信息相同。可以将命令执行服务器3S连接到多个命令执行客户端3C,并且该命令执行服务器3S对于每个连接的命令执行客户端3C具有独立的设置信息。命令执行客户端3C和命令执行服务器3S分别基于设置信息生成行为引擎和通信模块。具体而言,命令执行客户端3C的生成单元3121C基于图10中所示的设置信息来生成SRO引擎33C、SWO引擎35C、通信模块34C和36C,并且设置传输缓存和接收缓存。命令执行服务器3S的生成单元3121S也生成单元3121C生成SRO引擎33S、SW0引擎35S、通信模块34S和36S,并且设置传输缓存和接收缓存。为了基于图10中所示的设置信息来生成通信模块,生成单元3121C和3121S分别使用图11和图12中所示的内容来生成通信模块。图11显示了命令执行客户端3C的通信模块的设置内容。图12显示了命令执行服务器3S的通信模块的设置内容。如图12所示,命令执行服务器3S的生成单元3121S在SRO和SWO的设置中交换接收缓存的设置内容和传输缓存的设置内容。这是因为从命令执行客户端3C的传输缓存传输的数据被存储在命令执行服务器3S的接收缓存中,并且从命令执行服务器3S的传输缓存传输的数据被存储在命令执行客户端3C的接收缓存中,因此,在交换同一数据的缓存之间数据大小和优先级必须匹配。现在将描述根据第二实施方式的命令执行系统的操作。首先将参考图13描述执行工资计算批处理之前的准备阶段中的操作。在该操作示例中,将描述工资计算批处理21使用图2中所示的数据A(SRO)和图3中所示的数据B(SWO)来执行批处理的情况。在开始时,批处理板2的工资计算批处理21基于要执行的批处理,在命令执行客户端3C中注册设置信息,该设置信息包括要在该批处理中使用的数据的行为以及优先级(步骤 S301)。然后命令执行客户端3C的主引擎31C向设置信息存储单元311C写入由工资计算批处理21注册的设置信息(步骤S302)。在该操作示例中,分别将图10中所示的行为类型是“SR0”的设置信息以及行为类型是“SW0”的设置信息写入设置信息存储单元311C。然后命令执行客户端3C在写入命令执行服务器3S的设置信息之后反映设置信息(步骤S303)。具体而言,基于行为类型被设置为“控制”的设置信息,命令执行客户端3C连接命令执行服务器3S的通信模块32S,并且在命令执行服务器3S中写入设置信息之后反映设置信息以便同步。 然后基于设置在设置信息存储单元311S中的设置信息,命令执行服务器3S的生成单元3121S生成包括SRO引擎33S、通信模块34S、SffO引擎35S以及通信模块36S的组件分组(步骤S304)。然后基于设置在设置信息存储单元311S中的设置信息,命令执行服务器3S的生成单元3121S在每个组件中设置工资计算批处理21的执行环境(步骤S305)。在该操作示例中,将执行环境设置为使得SRO引擎33S使用通信模块34S并且SWO引擎35S使用通信模块36S。将传输缓存341S和361S以及接收缓存342S和362S的缓存大小、命令执行服务器3S中的处理的优先级以及命令队列313S的初始状态(初始状态为空)设置为例如执行环境。然后基于在设置信息存储单元311C中所设置的设置信息,命令执行客户端3C的生成单元3121C生成包括SRO引擎33C、通信模块34C、SffO引擎35C以及通信模块36C的组件分组(步骤C306)。然后基于在设置信息存储单元311C中所设置的设置信息,命令执行客户端3C的生成单元3121C设置每个组件中的工资计算批处理21的执行环境(步骤C307)。在该操作示例中,将执行环境设置为使得SRO引擎33C使用通信模块34C,并且SWO引擎35C使用通信模块36C。将传输缓存341C和361C以及接收缓存342C和362C的缓存大小、命令执行客户端3C中的处理的优先级以及命令队列313C的初始状态(初始状态为空)设置为例如该执行环境。现在将参考图14描述在执行工资计算批处理之后在命令执行客户端中的操作。每当从工资计算批处理输入命令时重复执行该操作。首先从批处理板2的工资计算批处理21向命令执行客户端3C输入命令(步骤S401)。然后命令执行客户端3C的行为类型判定单元3122C分析该命令的内容,并且判定该命令的行为类型(步骤S402)。在该操作示例中,通过参考由命令执行的、用于数据处理的数据的行为类型识别信息来判定行为类型。然后命令执行客户端3C的命令存储单元3123C基于与步骤S402中所判定的行为类型相对应的设置信息,将该命令存储在命令队列313C中(步骤S403)。然后命令执行客户端3C的命令执行单元3124C开始操作,并且将优先级设置为“最高”(步骤S404)。然后命令执行单元3124C确定该命令是否存储在命令队列313C的与所设置的优先级相对应的节中(步骤S405)。如果结果是NO (否)(步骤S405 N0)那么命令执行单元3124C将优先级减I (步骤S407),如果该优先级不是“最低”(步骤S406 N0)那么将处理移动到步骤S405,或者如果该优先级是“最低”(步骤S406 YES)那么结束该操作。如果步骤S405的结果是命令存储在命令队列313C的与所设置的优先级相对应的节中(步骤S405 :YES),那么命令执行单元3124C执行该命令(步骤S408)、从命令队列313C删除该执行的命令(步骤S409)并且将处理移动到步骤S404。
现在将参考图15来描述在执行工作计算批处理之后在命令执行服务器中的操作。每当认为每次从工资计算批处理输入命令时重复执行该操作。首先,当将命令存储在通信模块34S的接收缓存342S中时认为输入了命令(步骤S501)。然后命令执行服务器3S的行为类型判定单元3122S基于在其中存储了该命令的接收缓存342S,判定该命令的行为类型(步骤S502)。然后命令执行服务器3S的命令存储单元3123S基于与在步骤S502中确定的行为类型相对应的设置信息,将该命令存储在命令队列313S中(步骤S503)。然后命令执行服务器3S的命令执行单元3124S开始操作,并且将优先级设置为“最高”(步骤S504)。然后命令执行单元3124S确定该命令是否存储在命令队列313S的与所设置的优先级相对应的节中(步骤S505)。如果结果是NO (否)(步骤S505 N0)那么命令执行单元3124S将优先级减I (步骤S507),如果该优先级不是“最低”(步骤S506 N0)那么将处理移动到步骤S505,或者如果该优先级是“最低”(步骤S506 YES)那么结束该操作。如果步骤S505的结果是命令存储在命令队列313S的与所设置的优先级相对应的节中(步骤S505 :YES),那么命令执行单元3124S执行该命令(步骤S508)、从命令队列313S删除该执行的命令(步骤S509)并且将处理移动到步骤S504。作为图14和15中的上述操作的具体示例,将描述工资计算批处理21使用图2中所示的数据A(SRO)和图3中所示的数据B(SWO)来执行批处理的情况。首先批处理板2的工资计算批处理21向命令执行客户端3C输入命令以从图2中所示的数据A之中读取雇员号码为“I”的数据A(步骤S401)。然后命令执行客户端3C的行为类型判定单元3122C将“SR0”判定为要读取数据A的命令的行为类型(步骤S402)。然后命令执行客户端3C的命令存储单元3123C基于与行为类型“SR0”相对应的设置信息,将要读取数据A的命令存储在命令队列313C的优先级被设置为“高”的节中(步骤 S403)。然后命令执行客户端3C的命令执行单元3124C将优先级设置为初始值“最高”(步骤 S404)。然后命令执行单元3124C确定命令是否被存储在命令队列313C的优先级被设置为“最高”的节中(步骤S405),并且由于结果是NO (步骤S405 :N0)所以命令执行单元3124C将优先级减低为“高”(步骤S407)。
然后命令执行单元3124C确定命令是否被存储在命令队列313C的优先级被设置为“高”的节中(步骤S405),并且由于结果是YES (步骤S405 :YES)所以命令执行单元3124C将该命令传输到SRO引擎33C。从而执行该命令(步骤S408),并且命令执行单元3124C从该命令队列313C删除该命令(步骤S409)。从命令执行单元3124C接收到该命令的SRO引擎33C将该命令存储在传输缓存341C中。向命令执行服务器3S传输在传输缓存341C中存储的命令。然后命令执行服务器3S的行为类型判定单元3122S将“SR0”判定为要读取数据A的命令的行为类型,因为用于存储从命令执行客户端3C传输的命令的接收缓存342S是“缓存4” (步骤S502)。然后命令执行服务器3S的命令存储单元3123S基于与行为类型“SR0”相对应的设置信息,将要读取数据A的命令存储在命令队列313S的优先级被设置为“高”的节中(步 骤 S503)。然后命令执行服务器3S的命令执行单元3124S将优先级设置为初始值“最高”(步骤 S504)。然后命令执行单元3124S确定命令是否被存储在命令队列313S的优先级被设置为“最高”的节中(步骤S505),并且由于结果是NO(步骤S505 :N0)所以命令执行单元3124S将优先级减低为“高”(步骤S507)。然后命令执行单元3124S确定命令是否被存储在命令队列313S的优先级被设置为“高”的节中(步骤S505),并且由于结果是YES (步骤S505 :YES)所以命令执行单元3124S将该命令传输到SRO引擎33S。从而执行该命令(步骤S508),并且命令执行单元3124S从该命令队列313S删除该命令(步骤S509)。从命令执行单元3124S接收到该命令的SRO引擎33S从数据存储装置4读取雇员号码为“I”的数据A并且将数据A存储在传输缓存341S中。将存储在传输缓存341S中数据A传输给命令执行客户端3C并且从命令执行客户端3C传输到工资计算批处理21。由于在与行为类型“SR0”相对应的设置信息中将“10”设置为提前读取数据的数量,所以SRO引擎33S读取雇员号码为“I”到“10”的数据A的10个案例,并且将该数据顺序地存储在传输缓存341S中。如果此时数据A存储在传输缓存341S中,那么SRO引擎33S顺序发送数据A,直到命令执行客户端3C的接收缓存342C变满(10个案例)为止。如果接收缓存342C变满,那么SRO引擎33S备用,直到在缓存342C中建立了空间为止,并且在建立该空间之后传输数据A。如果从工资计算批处理21向命令执行客户端3C输入了要读取雇员号码为“2”到“ 10”的数据A的命令,那么向工资计算批处理21回复提前读取的并且存储在命令执行客户端3C的接收缓存342C中的数据。结果,提高了处理速度。然后批处理板2的工资计算批处理21向命令执行客户端3C输入要从图3中所示的数据B之中写入雇员号码为“I”的数据B的命令(步骤S401)。然后命令执行客户端3C的行为类型判定单元3122C将“SW0”判定为要写入数据B的命令的行为类型(步骤S402)。然后命令执行客户端3C的命令存储单元3123C基于与行为类型“SW0”相对应的设置信息,将要写入数据B的命令存储在命令队列313C的优先级被设置为“中”的节中(步骤 S403)。然后命令执行客户端3C的命令执行单元3124C开始操作并且将优先级设置为“最高”(步骤S404)。然后命令执行单元3124C确定命令是否被存储在命令队列313C的优先级被设置为“最高”的节中(步骤S405),并且由于结果是NO (步骤S405 :N0)所以命令执行单元3124C将优先级减低为“高”(步骤S407)。然后命令执行单元3124C确定命令是否被存储在命令队列313C的优先级被设置为“高”的节中(步骤S405),并且由于结果是NO(步骤S405 N0)所以命令执行单元3124C将优先级减低为“中”(步骤S407)。
然后命令执行单元3124C确定命令是否被存储在命令队列313C的优先级被设置为“中”的节中(步骤S405),并且由于结果是YES (步骤S405 YES)所以命令执行单元3124C将该命令传输到SWO引擎35C。从而执行该命令(步骤S408),并且命令执行单元3124C从该命令队列313C删除该命令(步骤S409)。从命令执行单元3124C接收到该命令的SWO引擎35C将该命令存储在传输缓存361C中。向命令执行服务器3S传输在传输缓存361C中存储的命令。然后命令执行服务器3S的行为类型判定单元3122S将“SW0”判定为要写入数据B的命令的行为类型,因为用于存储从命令执行客户端3C传输的命令的接收缓存362S是“缓存6”(步骤S502)。然后命令执行服务器3S的命令存储单元3123S基于与行为类型“SW0”相对应的设置信息,将要写入数据B的命令存储在命令队列313S的优先级被设置为“中”的节中(步骤 S503)。然后命令执行服务器3S的命令执行单元3124S将优先级设置为初始值“最高”(步骤 S504)。然后命令执行单元3124S确定命令是否被存储在命令队列313S的优先级被设置为“最高”的节中(步骤S505),并且由于结果是NO(步骤S505 :N0)所以命令执行单元3124S将优先级减低为“高”(步骤S507)。然后命令执行单元3124S确定命令是否被存储在命令队列313S的优先级被设置为“高”的节中(步骤S505),并且由于结果是NO(步骤S505 N0)所以命令执行单元3124S将优先级减低为“中”(步骤S507)。然后命令执行单元3124S确定命令是否被存储在命令队列313S的优先级被设置为“中”的节中(步骤S505),并且由于结果是YES(步骤S 505 :YES)所以命令执行单元3124S将该命令传递到SWO引擎35S。从而执行该命令(步骤S508),并且命令执行单元3124S从该命令队列313S删除该命令(步骤S509)。从命令执行单元3124S接收到该命令的SWO引擎35S将传输缓存362S中所存储的雇员号码为“I”的数据B写入到数据存储装置4中,并且将对于该写入的响应的内容存储在传输缓存361S中。如果将对于该写入的响应的内容存储在传输缓存361S中,那么SWO引擎35S向命令执行客户端3C传输该响应的内容。然后将该响应的内容从命令执行客户端3C传输到工资计算批处理21。
当在行为引擎之间的处理重叠时用于向具有更高优先级的处理分配优先级的操作与第一实施方式相同,因此省略对其的描述。如上所述,根据第二实施方式的命令执行系统,将命令执行设备分离成命令执行客户端和命令执行服务器,从而可以分配行为引擎的处理负载并且可以减少批处理所需要的资源(例如CPU、存储器)。如果分配了数据存储装置,那么必须检测用于保持所分配的数据的服务器,从而可以通过分配用于从数据存储装置和存储器搜索数据的处理来减少批处理上的负载。
为了控制数据的提前读取处理,例如当在命令执行客户端的接收缓存中建立空间时,命令执行服务器可以通过PUSH(推送)来传输提前读取数据,因此无需发出控制命令就可以控制数据处理。通过在通信模块之间使用竞争控制功能,无需传输行为弓I擎控制命令就可以控制数据处理。由于可以将命令执行客户端的设置信息和命令执行服务器的设置信息同步,所以即使并行地分配并且处理多个批处理,也可以控制批处理的优先级。由于可以与其他批处理彼此独立地执行每个批处理,所以全部处理的管理者可以基于每个批处理工作的优先级来管理资源。例如,如果同时执行工资计算批处理和税收计算批处理,那么只有在月末的时候才可以将优先权分配给税收计算批处理的数据访问,从而可以实现非常严密的资源调整[变化的形式]上述的实施方式仅仅是示例,并且本发明包括各种修改以及在实施方式中没有明确陈述技术的应用。换句话说,在不脱离本发明的实质精神和范围的前提下可以做出大量修改。例如,将用于识别行为类型的信息赋予每个上述实施方式,但是用于识别行为类型的方法不限于此。例如可以对每个批处理定义行为类型。在每个上述实施方式的描述中,使用SRO和SWO作为行为类型,但是行为类型不限于SRO和SW0。例如可以随机一次写入优先级为“低”的数据,并且如果数据大小很大这可以将行为类型定义为RWOL(很大时随机写入)。例如,行为引擎分配一个数据,在多个数据存储装置中冗余地写入数据,并且将该数据设置为仅在写入时读取,从而只有在数据没有被锁定时开可以读取该数据,结果优化了数据处理。如果存在用于具体批处理工作的具体数据,则可以将该数据定义为行为类型,并且命令执行服务器3S可以向处理该批处理工作的命令执行客户端3C提供最佳的数据访问方法。例如可以预先将频繁用于工资计算批处理的数据A存储在靠近命令执行客户端3C的数据存储装置4中,或者可以用最高优先级将数据A存储在靠近用于执行工资计算批处理的计算机的命令执行服务器3S中。在每个上述实施方式中,向一个行为类型分配一个行为引擎,但是可以向一个行为类型分配多个行为引擎。在每个上述实施方式中,向一个行为引擎分配一个通信模块,但是可以向一个行为引擎分配多个通信模块。对于用于管理缓存的状态的方法,可以从通信模块向主引擎传输通知,或者主引擎可以使用轮询来监视通信模块。可以根据负载的状态来改变用于管理缓存的状态的方法。例如,如果传输/接收大量数据,那么可以通过用于使用轮询监视通信模块的主引擎而非用于通知事件的通信模块来减少处理负载。因此在该情况中,可以将管理方法切换到主引擎使用轮询监视通信模块的方法。根据本发明的一个示例性的优势在于可以提高处理效率。可以根据下文的附加来传输部分或全部上述实施方式。该附加并非用于将本发明限于该内容。(补充注释I)一种命令执行设备包括行为类型判定单元,其根据由输入命令执行的数据处理的内容,判定用于指示数据输入/输出操作的内容的行为类型;命令存储单元,其参考预先对每个行为类型设置的设置信息,并且基于该设置信息中所包括的优先级,将该命令存储在对于每个优先级所创建的命令队列中;以及命令执行单元,其在该命令队列中所存储的命令之中,从该命令队列获取在该命令队列的具有最高优先级的节中所存储的命令并且执行该命令。
(补充注释2)根据补充注释I的命令执行设备,还包括输入/输出操作控制单元,其在当注册了该设置信息时,基于在该注册之后的该设置信息,控制对于每个该行为类型的该数据输入/输出操作;以及生成单元,其生成用于存储由该数据输入/输出操作导致的传输数据的传输缓存,以及用于存储由该数据输入/输出操作导致的接收数据的接收缓存。(补充注释3)根据补充注释I或2的命令执行设备,其中该设置信息对于每个该行为类型分别至少包括由该数据输入/输出操作导致的该传输数据的数据大小、由该数据输入/输出操作导致的传输处理的优先级、由该数据输入/输出操作导致的接收数据的数据大小以及由该数据输入/输出操作导致的接收处理的优先级。(补充注释4)根据补充注释3的命令执行设备,其中该设置信息还包括当该行为类型是用于指示顺序预先读取处理的行为类型时,预先读取数据的数量。(补充注释5)根据补充注释I至4中任一项的命令执行设备,其中该行为类型判定单元基于用于该数据处理的数据中所包括的行为类型识别信息,判定该行为类型。(补充注释6)—种包括客户端和服务器的命令执行系统,其中,该客户端具有行为类型判定单元,其根据由输入命令执行的数据处理的内容,判定用于指示数据输入/输出操作的内容的行为类型;第一命令存储单元,其参考预先对每个行为类型设置的设置信息,并且基于该设置信息中所包括的优先级,将该命令存储在对于每个优先级所创建的命令队列中;以及命令传输单元,其在由该第一命令存储单元存储在该命令队列中的命令之中,从该命令队列获取在该命令队列的具有最高优先级的节中所存储的命令并且向该服务器传输该命令;并且该服务器具有命令接收单元,其接收从该客户端传输的命令;第二命令存储单元,其基于与接收命令相对应的优先级,将该接收命令存储在命令队列的对于每个优先级所创建的节中;以及命令执行单元,其在由该第二命令存储单元存储在该命令队列中的命令之中,从该命令队列获取在该命令队列的具有最高优先级的节中所存储的命令并且执行该命令。(补充注释7)根据补充注释6的命令执行系统,其中,该客户端还具有传输/接收操作控制单元,其在当注册了该设置信息时,基于在该注册之后的该设置信息,控制对于每个该行为类型的该数据传输/接收操作;以及第一生成单元,其分别生成用于存储由该数据传输/接收操作导致的传输数据的传输缓存,以及用于存储由该数据传输/接收操作导致的接收数据的接收缓存;并且该服务器还具有输入/输出操作控制单元,其在当注册了该设置信息时,基于在该注册之后的该设置信息,控制对于每个该行为类型的该数据输入/输出操作;以及第二生成单元,其分别生成用于存储由该数据输入/输出操作导致的传输数据的传输缓存,以及用于存储由该数据输入/输出操作导致的接收数据的接收缓存。(补充注释8)根据补充注释6或7的命令执行系统,其中该设置信息对于每个该行为类型分别至少包括由该数据传输/接收操作或数据输入/输出操作导致的该传输数据的数据大小、由该数据数据输入/输出操作导致的传输处理的优先级、由该数据传输/接收操作或数据输入/输出操作导致的接收数据的数据大小以及由该数据传输/接收操作或数据输入/输出操作导致的接收处理的优先级。(补充注释9)根据补充注释8的命令执行系统,其中该设置信息还包括当该行 为类型是用于指示顺序预先读取处理的行为类型时,预先读取数据的数量。(补充注释10)根据补充注释6至9中任一项的命令执行系统,其中该行为类型判定单元基于用于该数据处理的数据中所包括的行为类型识别信息,判定该行为类型(补充注释11)一种命令执行方法包括行为类型判定步骤,用于根据由输入命令执行的数据处理的内容,判定用于指示数据输入/输出操作的内容的行为类型;命令存储步骤,用于参考预先对每个行为类型设置的设置信息,并且基于该设置信息中所包括的优先级,将该命令存储在对于每个优先级所创建的命令队列中;以及命令执行步骤,用于在该命令队列中所存储的命令之中,从该命令队列获取在该命令队列的具有最高优先级的节中所存储的命令,并且执彳丁该命令。(补充注释12)—种用于控制具有客户端和服务器的命令执行系统的命令执行方法,其中,该客户端包括行为类型判定步骤,用于根据由输入命令执行的数据处理的内容,判定用于指示数据输入/输出操作的内容的行为类型;第一命令存储步骤,用于参考预先对每个行为类型设置的设置信息,并且基于该设置信息中所包括的优先级,将该命令存储在对于每个优先级所创建的命令队列中;以及命令传输步骤,用于在由该第一命令存储步骤存储在该命令队列中的命令之中,从该命令队列获取在该命令队列的具有最高优先级的节中所存储的命令,并且向该服务器传输该命令;并且该服务器包括命令接收步骤,用于接收从该客户端传输的命令;第二命令存储步骤,用于基于与接收命令相对应的优先级,将该接收命令存储在对于每个优先级所创建的命令队列的节中;以及命令执行步骤,用于在由该第二命令存储步骤存储在该命令队列中的命令之中,从该命令队列获取在该命令队列的具有最高优先级的节中所存储的命令并且执行该命令。(补充注释13)—种命令执行程序,用于使得计算机执行如补充注释11或13的每个步骤。
权利要求
1.ー种命令执行设备,包括 行为类型判定単元,其根据由输入命令执行的数据处理的内容,判定指示数据输入/输出操作的内容的行为类型; 命令存储单元,其參考预先针对每个行为类型而设置的设置信息,并且基于所述设置信息中所包括的优先级将所述命令存储在针对每个优先级而创建的命令队列中;以及命令执行单元,其在所述命令队列中所存储的命令之中,从所述命令队列获取所述命令队列的具有最高优先级的节中所存储的命令,并且执行所述命令。
2.根据权利要求I所述的命令执行设备,还包括 输入/输出操作控制单元,其在所述设置信息被注册时,基于在所述注册之后的所述设置信息,控制对于每个所述行为类型的所述数据输入/输出操作;以及 生成単元,其生成用于存储由所述数据输入/输出操作导致的传输数据的传输缓存,以及用于存储由所述数据输入/输出操作导致的接收数据的接收缓存。
3.根据权利要求I所述的命令执行设备,其中 所述设置信息对于每个所述行为类型分别至少包括由所述数据输入/输出操作导致的所述传输数据的数据大小、由所述数据输入/输出操作导致的传输处理的优先级、由所述数据输入/输出操作导致的接收数据的数据大小以及由所述数据输入/输出操作导致的接收处理的优先级。
4.根据权利要求3所述的命令执行设备,其中 所述设置信息还包括当所述行为类型是指示顺序预先读取处理的行为类型吋,预先读取数据的数量。
5.根据权利要求I所述的命令执行设备,其中 所述行为类型判定単元基于被用于所述数据处理的数据中所包括的行为类型识别信息,判定所述行为类型。
6.ー种包括客户端和服务器的命令执行系统,其中, 所述客户端具有 行为类型判定単元,其根据由输入命令执行的数据处理的内容,判定指示数据输入/输出操作的内容的行为类型;第一命令存储单元,其參考预先针对每个行为类型而设置的设置信息,并且基于所述设置信息中所包括的优先级将所述命令存储在针对每个优先级而创建的命令队列中;以及命令传输单元,其在由所述第一命令存储单元存储在所述命令队列中的命令之中,从所述命令队列获取在所述命令队列的具有最高优先级的节中所存储的命令,并且向所述服务器传输所述命令;以及所述服务器具有 命令接收单元,其接收从所述客户端传输的命令; 第二命令存储单元,其基干与接收命令相对应的优先级,将所述接收命令存储在命令队列的针对每个优先级而创建的节中;以及 命令执行单元,其在由所述第二命令存储单元存储在所述命令队列中的命令之中,从所述命令队列获取在所述命令队列的具有最高优先级的节中所存储的命令,并且执行所述命令。
7.根据权利要求6所述的命令执行系统,其中, 所述客户端还具有 传输/接收操作控制单元,其在所述设置信息被注册时,基于在所述注册之后的所述设置信息,控制对于每个所述行为类型的所述数据传输/接收操作;以及 第一生成単元,其分别生成用于存储由所述数据传输/接收操作导致的传输数据的传输缓存,以及用于存储由所述数据传输/接收操作导致的接收数据的接收缓存;并且所述服务器还具有 输入/输出操作控制单元,其在所述设置信息被注册时,基于在所述注册之后的所述设置信息,控制对于每个所述行为类型的所述数据输入/输出操作;以及 第二生成単元,其分别生成用于存储由所述数据输入/输出操作导致的传输数据的传输缓存,以及用于存储由所述数据输入/输出操作导致的接收数据的接收缓存。
8.根据权利要求6所述的命令执行系统,其中 所述设置信息对于每个所述行为类型分别至少包括由所述数据传输/接收操作或数据输入/输出操作导致的所述传输数据的数据大小、由所述数据数据输入/输出操作导致的传输处理的优先级、由所述数据传输/接收操作或数据输入/输出操作导致的接收数据的数据大小以及由所述数据传输/接收操作或数据输入/输出操作导致的接收处理的优先级。
9.根据权利要求8所述的命令执行系统,其中 所述设置信息还包括当所述行为类型是指示顺序预先读取处理的行为类型吋,预先读取数据的数量。
10.根据权利要求6所述的命令执行系统,其中 所述行为类型判定単元基于被用于所述数据处理的数据中所包括的行为类型识别信息,判定所述行为类型
11.ー种命令执行方法,包括 行为类型判定步骤,用于根据由输入命令执行的数据处理的内容,判定指示数据输入/输出操作的内容的行为类型; 命令存储步骤,用于參考预先针对每个行为类型而设置的设置信息,并且基于所述设置信息中所包括的优先级将所述命令存储在针对每个优先级而创建的命令队列中;以及命令执行步骤,用于在所述命令队列中所存储的命令之中,从所述命令队列获取在所述命令队列的具有最高优先级的节中所存储的命令,并且执行所述命令。
12.ー种用于控制具有客户端和服务器的命令执行系统的命令执行方法,其中 所述客户端包括 行为类型判定步骤,用于根据由输入命令执行的数据处理的内容,判定指示数据输入/输出操作的内容的行为类型; 第一命令存储步骤,用于參考预先针对每个行为类型而设置的设置信息,并且基于所述设置信息中所包括的优先级,将所述命令存储在针对每个优先级而创建的命令队列中;以及 命令传输步骤,用于在由所述第一命令存储步骤存储在所述命令队列中的命令之中,从所述命令队列获取在所述命令队列的具有最高优先级的节中所存储的命令,并且向所述服务器传输所述命令;并且所述服务器包括 命令接收步骤,用于接收从所述客户端传输的命令; 第二命令存储步骤,用于基于与接收命令相对应的优先级,将所述接收命令存储在针对每个优先级而创建的命令队列的节中;以及 命令执行步骤,用于在由所述第二命令存储步骤存储在所述命令队列中的命令之中,从所述命令队列获取在所述命令队列的具有最高优先级的节中所存储的命令,并且执行所述命令。
13.—种命令执行程序,用于使得计算机执行根据权利要求11所述的每个步骤。
14.ー种命令执行程序,用于使得计算机执行根据权利要求12所述的每个步骤。
全文摘要
本发明的实施方式涉及命令执行设备、命令执行系统、命令执行方法以及命令执行程序。为了改进处理效率,一种命令执行设备包括行为类型判定单元,其根据由输入命令执行的数据处理的内容,判定用于指示数据输入/输出操作的内容的行为类型;命令存储单元,其参考预先对每个行为类型设置的设置信息,并且基于该设置信息中所包括的优先级,将该命令存储在对于每个优先级所创建的命令队列中;以及命令执行单元,其在该命令队列中所存储的命令之中,从该命令队列获取在该命令队列的具有最高优先级的节中所存储的命令,并且执行该命令。
文档编号G06F9/48GK102693157SQ20121002281
公开日2012年9月26日 申请日期2012年1月20日 优先权日2011年1月20日
发明者安田纯一 申请人:日本电气株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1