非专利文献1:“IBM Tivoli Monitoring for TransactionPerformance:Administrator’s Guide”,2004年9月发行,国际商业机器公司著
具体实施方式
以下,根据附图对用于实施本发明的优选方式进行详细说明。另外,本发明可以通过很多不同的方式来实施,并不限于实施方式的记载内容来解释,并且实施方式中说明的特征的所有组合都未必是发明的解决方案所必须的。另外,在实施方式的所有说明中,对相同要素附加相同标号。
在以下的实施方式中,主要对方法以及系统进行说明,但本领域技术人员可知,本发明还可以作为可由计算机使用的程序或程序产品来实施。因此,本发明可以采取作为硬件的实施方式、作为软件的实施方式、或者软件和硬件的组合的实施方式。程序可以记录在硬盘、CD-ROM、光存储装置或磁存储装置等任意的计算机可读介质中。
图1是示出本发明的实施方式的联机系统100的一个例子的概念图。联机系统100包括:客户机计算机120,使用网络130相互连接;以及事务处理系统150,设置在外包中心内。另外,事务处理系统150包括应用服务器160以及数据库服务器170。
用户110对客户机计算机120进行操作,来向事务处理系统150请求事务处理。服务提供商140运用并管理事务处理系统150。用户110和服务提供商140缔结服务等级协定180。
客户机120是可以连接到公知的因特网的终端。本领域技术人员可以容易地实施这样的客户机120。另外,优选经由ISP(InternetService Provider,因特网服务提供商,未图示)来进行客户机120和网络130的连接。优选通过使用了专用线、LAN(Local Area Network,局域网)、WAN(Wide Area Network,广域网)、ADSL(AsymmetricDigital Subscriber Line,非对称数字用户线)、FTTH(Fiber to theHome,光线到户)的始终连接来实现从客户机120向ISP的连接。
网络130是连接客户机120以及事务处理系统150的通信路径,作为一个例子可以利用因特网来实现。作为因特网的网络130使用TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/因特网协议)来连接系统之间。在网络130中确定通过用全球地址或本地地址表示的IP地址来相互通信的系统。
应用服务器160是根据来自客户机120的请求来提供事务处理等服务的计算机装置。本领域技术人员可以使用国际商业机器公司提供的IBM WebSphere(R)Application Server(WAS)产品、微软公司提供的Microsoft IIS(Internet Information Server)产品、BEASystems Inc.提供的WebLogic Server产品、Apache SoftwareFoundation提供的作为开放式源代码软件的Apache、Apache Tomcat等,来适当实施这样的应用服务器160。应用服务器160还具有为了取得事务处理所需的数据,而生成作为数据库查询语言的SQL语句并向数据库服务器170请求的功能。
数据库服务器170存储事务处理所需的数据。本领域技术人员可以使用国际商业机器公司提供的IBM DB2(R)Universal Database产品、甲骨文公司提供的Oracle Database(R)产品、微软公司提供的Microsoft SQL Server(R)产品等现有的关系数据库管理系统(RDBMS),来适当实施数据库服务器170。另外,不限于RDBMS,本领域技术人员也可以使用国际商业机器公司提供的IBMInformation Management System(IMS)产品那样的层次型数据库管理系统、IBM Customer Information Control System(CICS)产品那样的事务管理系统等用于进行数据管理的现有产品,来适当实施数据库服务器170。
图2是本实施方式中的应用服务器160的功能框图。在具有后述的图10例示的硬件结构的信息处理装置1000中,将存储在硬盘装置13等中的操作系统和计算机程序载入主存储器4后使CPU 1读入,从而使硬件资源和软件资源协作,从而可以实现图2的功能框图所示的各要素。
应用服务器160包括通信接口210、应用程序存储部220、日志记录系统230、存储设备240、以及日志解析部250。通信接口210具有的功能是,从客户机120经由网络130接受事务处理的请求,并经由网络130向客户机120回送事务处理的结果。通信接口210还具有向数据库服务器170请求在事务处理中所需的数据,并接收来自数据库服务器170的数据的功能。
在本发明的实施方式中,应用存储部220包括3种应用程序222~226。应用程序222~226分别根据通过通信接口210接收到的客户机120的事务处理请求来执行不同的事务处理。优选为,事务处理请求被安装为在客户机120的网页浏览器中生成并送出到网络130的HTTP(HyperText Transfer Protocol,超文本传输协议)请求,但不限于此。应用程序222~226分别具有使通信接口210向数据库服务器170发送事务处理所需的数据的SQL请求的功能。
日志记录系统230是用于使存储设备240记录由应用程序222~226执行的事务处理的日志的机构。日志记录系统230包括日志记录策略表232、事务表234、事务处理监视部236、以及日志记录控制部238。
日志记录策略表232将定义了针对与通常相比更多的项目的日志记录的日志记录策略与根据服务等级协定180中规定的要求应答时间定义的、用于适用该日志记录策略的条件(以下称为“策略适用条件”)关联起来记录。除了事务处理的应答时间以外,还可以利用执行事务处理的应用的种类、请求了事务处理的客户机的ID、请求了事务处理的客户机所属的客户机组的ID中的任意一个或其组合来定义策略适用条件。另外,日志记录策略表可以定义对包括事务处理的输入数据、输出数据、中间数据、错误消息中的任意一个或组合的、与事务处理相关的数据项目中的哪一个进行记录,来作为所要输出的日志内容。
图3是本发明的实施方式中的日志记录策略表232的一个例子。图3所示的日志记录策略表232定义第1策略310以及第2策略320。另外,本发明的实施方式的服务等级协定180包括以下的2个服务质量要件。
1.在具有特定权限的用户(以下称为“属于黄金组的用户”)请求了使用应用222或应用224的事务处理的情况下,将事务处理的应答时间设为0.3秒以内。2.在与用户的权限无关地请求了使用应用226的事务处理的情况下,将事务处理的应答时间设为5秒以内。
第1策略310用于上述的第1服务质量要件。第1策略310将属于以下两个组的事务处理作为对象:属于黄金组的用户所请求的使用应用222的第1事务组(tran 1)、以及使用应用224的第2事务组(tran 2)(trx=“tran 1、tran 2”)。另外,在后述的事务表234中,定义了第1事务组以及第2事务组。以由事务处理监视部236监视的事务处理的应答时间为0.3秒以上作为条件,适用第1策略310(respTime=“300”:单位为毫秒)。
如果适用了第1策略310,则系统针对事务处理以“WARN”(警告)等级输出日志/跟踪信息(logLevel=“WARN”)。在“WARN”等级中,作为日志/跟踪信息,输出参考信息(“INFO”)以及警告信息(“WARN”)。另外,如果适用了第1策略310,则系统还记录存储器转储信息作为日志(dump=“on”)。另外,第1策略被定义成以20次为上限来执行(numOfInstance=“20”)。如果执行次数超过了20次,则以“INFO”(信息)等级输出目志,而不输出存储器转储信息。在“INFO”等级中,作为日志/跟踪信息仅输出参考信息(“INFO”)。
第2策略310用于上述的第2服务质量要件。第2策略320以属于使用应用226的第3事务组(tran 3)的事务处理作为对象(trx=“tran 3”)。另外,在后述的事务表234中,定义了第3事务组(tran3)。以由事务处理监视部236监视的事务处理的应答时间为5秒以上作为条件,而适用第2策略320(respTime=“5000”:单位为毫秒)。
如果适用了第2策略320,则系统针对事务处理以“DEBUG”(调试)等级输出日志/跟踪信息(logLevel=“DEBUG”)。在“DEBUG”等级中,作为日志/跟踪信息,除了参考信息(“INFO”)以及警告信息(“WARN”)以外,还输出调试信息(“DEBUG”)。在适用了第2策略320的情况下,系统也记录存储器转储信息作为日志(dump=“on”)。另外,第2策略被定义成以100次为上限而执行(numOfInstance=“100”)。如果执行次数超过了100次,则以“INFO”(信息)等级输出日志,而不输出存储器转储信息。在“INFO”等级中,作为日志/跟踪信息仅输出参考信息(“INFO”)。
在本发明的实施方式中,事务表234定义日志记录对象的事务的范围。具体而言,事务表234根据参数来定义日志记录对象的事务的范围,包含在事务处理请求中的参数包括URI、GET处理中的查询字符串、POST处理中的格式数据、或SOAP消息的报头信息、作为EJB(Enterprise Java Bean,企业Java豆/企业Java组件模型)的一种的消息驱动豆(Message Driven Bean)所接收的消息数据、或作为消息驱动豆接收消息的机构的消息收听器。图4是事务表234的一个例子。图4例示的本发明的实施方式的事务表234定义第1事务表410、第2事务表420、以及第3事务表430。
第1事务表410被定义成作为用于选择为了事务处理而执行的应用的标识符的事务ID为“Trx 0001”、并且请求了事务处理的用户所属的组ID为“GOLD”。第2事务表420被定义成事务ID为“Trx0002”、并且请求了事务处理的用户所属的组ID为“GOLD”。另外,在本发明的实施方式中,向使用应用222、224的事务分别分配了事务ID“Trx 0001”、“Trx 0002”,并且向属于黄金组的用户分配了组ID“GOLD”。
第3事务组430被定义成与事务处理对应的HTTP请求中包含的URI(Uniform Resource Identifier,统一资源标识符)的字符串的末尾为“/EMPSearch.do”。具体而言,例如相当于来自客户机110的HTTP请求中包含的URI为“http://www.ibm.com/transaction/applications/EMPSearch.do”的情况。另外,在本发明的实施方式中,在请求使用应用226的事务处理的情况下如上述那样指定URI。
另外,通过这样分开日志记录策略表232和事务表234,可以提高日志记录策略的易于维护性。例如,考虑多个事务组映射到1个日志记录策略的情况。在该情况下,通过分开准备日志记录策略表232和事务表234,可以仅通过变更日志记录策略表232对事务表的参照,就可以容易地变更适用于特定的事务组的日志记录策略。
另外,当不符合日志记录策略表232中定义的任意一个日志记录策略的适用条件的情况下,使用在执行各个事务处理的应用的起动时指定的方法,来进行日志记录。例如,在本发明的实施方式中,在上述情况下,以“INFO”等级输出日志/跟踪信息,而不输出存储器转储信息。在“INFO”等级下,作为日志/跟踪信息仅输出参考信息(“INFO”)。
事务处理监视部236至少可以自动地对事务处理的应答时间进行计测,但不限于此。例如,本领域技术人员可以使用IBM TivoliMonitoring for Transaction Performance产品来适当实施。另外,本领域技术人员还可以作成通过记录事务处理的开始时刻以及结束时刻并计算出两者之差,来自动地对事务处理的应答时间进行计测的程序。
日志记录控制部238具有根据由事务处理监视部236监视的应答时间,来判定事务处理是否满足策略适用条件的功能。进而,日志记录控制部238具有如下的功能:按照与被判定为事务处理满足的适用条件对应的日志记录策略,针对该事务处理使比通常更多的项目的日志记录到记录设备240中。
存储设备240记录由应用程序222~226执行的事务处理的日志。存储设备240包括作为上位存储装置的高速缓冲器242以及作为下位存储装置的长期存储装置244。高速缓冲器242优选由读出/写入速度比较快的计算机系统的主存储装置构成。高速缓冲器242仅在比较短的期间内记录各个事务处理的日志的全集。
另一方面,长期存储装置244优选由速度比主存储装置低但比特单价低的硬盘装置(HDD)构成。长期存储装置244按照成为对象的事务处理应适用的日志策略,对记录在高速缓冲器244中的事务处理的日志的全集中的全部或一部分(子集)进行长期间记录。由于没有针对所有的事务处理将日志的全集记录在长期存储装置244中,所以应准备的长期存储装置244的必要的存储容量被降低。
图5以及图6示出本发明的实施方式中的事务处理的日志的全集500的一个例子。该事务处理是由包括组件1~4的应用222来执行的。事务处理的日志的全集500包括事务处理的日志/跟踪信息510(图5中记述的部分)以及存储器转储信息570(图6中记述的部分)。
参照图5,本发明的实施方式中的事务处理整体的日志/跟踪信息510包括基于组件1的处理的日志/跟踪信息520、基于组件2的处理的日志/跟踪信息530、基于组件3的处理的日志/跟踪信息540、基于组件4的处理的日志/跟踪信息550、以及事务处理整体的应答时间560。
基于组件1的处理的日志/跟踪信息520包括基于组件1的处理的开始时间522、基于组件1的处理的调试信息524、基于组件1的处理的结束时刻526、以及基于组件1的处理的处理时间528。另外,其他基于组件2的处理的日志/跟踪信息530、540、550中也分别包含有同等的信息。
另外,图5中记载的日志/跟踪信息510包含有参照信息(以“INFO”开始的行)、警告信息(“以WARN”开始的行)、以及调试信息(以“DEBUG”开始的行)。但是,在“INFO”等级中仅输出参照信息,在“WARN”等级中输出参照信息以及警告信息,在“DEBUG”等级中输出参照信息、警告信息以及调试信息。
参照图6,本发明的实施方式中的存储器转储信息570针对该事务处理,包含所使用的组件的实例信息580、控制信息585、错误信息587、详细输出数据590、详细输入数据595。在本发明的实施方式中,实例信息580包含所使用的SQL语句582。控制信息585包括作为所执行的应用的种类的识别符的事务ID、作为实际上执行了应用的线程的识别符的线程ID、请求了事务处理的用户的用户ID等。
此处如果回到图2的说明,则日志解析部250访问记录在长期记录装置250中的日志,例如提取出为了进行系统故障的解析而在事务处理系统150的分析中所需的信息。在本发明的实施方式中,日志解析部250可以考虑适用于各个事务处理的日志记录策略,仅将仅适用了特定的日志记录策略的事务处理的日志作为分析所需的信息而提取。日志解析部250为了向用户110提示日志解析所需的信息,可以经由网络130向客户机120发送所提取的信息。
图7是示出运行中的事务处理系统150的动作流程的流程图700。处理从步骤710开始,在步骤712中,开始存储在系统中的日志记录策略表232的管理。接下来,在步骤715中,对服务提供商的监视开始指示进行应答,应用服务器160的事务处理监视部236开始事务处理的应答时间等的监视。
接下来,处理进入到步骤720,应用服务器160的通信接口210经由网络130接收对来自用户110操作的客户机120的事务处理的请求。响应于接收到请求,处理进入到步骤725,进行各个事务处理的调度等事务的执行前处理。
进而,处理进入到步骤730,针对进行了执行前处理的事务,应用服务器160的应用222~226进行各个事务处理。响应于事务执行的进行,在步骤732中,该事务处理的日志的全集记录到作为上位存储装置的高速缓冲器242中。如果事务处理完成,则在步骤735中事务处理的结果经由网络130返回到客户机120。
处理进一步进行,在步骤737中,应用服务器160的日志记录控制部238根据由事务处理监视部236计测的该事务的应答时间,使用日志记录策略表232以及事务表234,判定该应用处理是否满足存储在日志记录策略表232中的策略适用条件中的某一个。
在步骤737中,在判定为满足某个策略适用条件的情况下,处理从“是”的箭头进入到步骤740,选择与该策略适用条件对应的日志记录策略。另外,当判定为不符合在日志记录策略表232中定义的任意一个策略适用条件的情况下,处理进入到步骤742,选择出在执行该事务处理的应用的起动时指定的默认的日志记录策略。
处理进入到步骤745,在步骤745中根据选择出的日志记录策略,将记录在高速缓冲器242中的事务处理的日志的全集的全部或一部分记录到作为下位存储装置的长期存储装置244。
进而,处理继续进行,在步骤755中,日志解析部250对记录在长期存储装置244中的日志进行解析。该日志解析可以使用各种方法来进行,例如日志解析部250可以按照预定的规则仅提取出适用了所选择的日志记录策略的日志的一部分,并向服务提供商的管理者进行提示。由此,管理者可以更容易地实施利用了编辑器的问题解析、即基于目视的根本原因的确定。另外,日志解析部250还可以向用户仅发送所提取的日志的一部分,而并非所记录的日志的全部。处理进入到步骤760而结束。
图8是示出构筑本发明的实施方式的事务处理系统150的方法的处理步骤的流程图800。处理从步骤810开始,在步骤815中,用户110和服务提供商140缔结服务等级协定180。在步骤820中,进行外包服务所需的应用222~226的开发以及导入。接下来,在步骤825中,事务处理监视程序被导入系统,形成事务处理监视部236。进而,在步骤830中,日志记录控制程序被导入系统,形成日志记录控制部238。另外,可以利用被称为所谓的安装器的用于程序导入的程序来执行两程序的导入。
接下来,在步骤835中,根据在步骤815中缔结的服务等级协定180,设定日志记录策略表232和/或事务表234。处理进入到步骤840,作为在步骤830中形成的日志记录控制部238所参照的表,指定事务策略表,来进行设定。处理进入到步骤845,建立事务处理监视部236和日志记录控制部238的连接,以使日志记录控制部238可以掌握各个事务处理的应答时间。在步骤850中,服务提供商140使事务处理系统150运行,在步骤855中处理结束。
图9是示出在本发明的实施方式的服务等级协定180被修改的情况下重新构筑事务处理系统150的方法的流程图900。处理从步骤910开始,在步骤915中,用户110以及服务提供商140使用根据向系统提示的修改前的服务等级协定180生成的日志记录策略表232和/或事务表234,对所记录的日志进行解析。在步骤920中,根据从步骤915中的日志解析的结果得到的意见,来修改服务等级协定180。
接下来,在步骤925中,根据修改后的服务等级协定180,来修正日志记录策略表232和/或事务表234,以变更策略适用条件以及日志记录策略。处理进入到步骤930,设定成日志记录控制部238参照修正后的策略表232和/或事务表234。在步骤935中,事务处理系统150重新运行,在步骤940中处理结束。
在按照流程图900重新构筑了事务处理系统150之后,执行按照流程图700的处理。在该情况下,使用变更后的日志记录策略表232和/或事务表234,针对修改后的服务等级协定180记录适当的日志,用户100以及服务提供商140可以对其进行利用。
图10是例示出为了实现本发明的实施方式中的客户机120、应用服务器160、数据库服务器170而优选的信息处理装置1000的硬件结构的图。信息处理装置包括中央处理装置(CPU)1和主存储器4。CPU 1和主存储器4经由总线2与作为辅助存储装置的硬盘装置13连接。另外,软盘装置20、MO装置28、CD-ROM装置26、29等可装卸存储装置(可以更换记录介质的外部存储系统)经由所关联的软盘控制器19、IDE控制器25、SCSI控制器27等连接到总线2。
可以向软盘装置20、MO装置28、CD-ROM装置26、29等可装卸存储装置分别插入软盘、MO、CD-ROM等存储介质,并且在该软盘等或硬盘装置13、ROM 14中记录计算机程序的代码,该计算机程序用于与操作系统协作而向CPU等提供命令来实施本发明。计算机程序通过载入主存储器4而被执行。计算机程序还可以压缩并分隔成多个而存储到多个介质中。
信息处理装置100还可以具有鼠标等指示设备7、键盘6、用于向用户提示视觉数据的显示器12等作为用户接口硬件。另外,可以经由并行端口16与打印机(未图示)连接,或经由串行端口15与调制解调器(未图示)连接。服务器300可以经由串行端口15以及调制解调器,并经由通信适配器18(以太网(R)卡、令牌环卡)等与网络连接,从而与其他计算机等进行通信。
扬声器23经由放大器22接收由音频控制器21进行了D/A转换(数字/模拟转换)后的声音信号,并作为声音输出。另外,音频控制器21可以对从麦克风24接收到的声音信息进行A/D转换(模拟/数字转换),并向系统取入系统外部的声音信息。
通过以上说明可以理解,本发明的实施方式中的信息处理装置可以通过主机、工作站、通常的个人计算机(PC)等信息处理装置、或它们的组合来实现。但是,这些结构要素仅为例示,其所有的结构要素并非本发明的必须结构要素。
针对本发明的实施中使用的信息处理装置的各硬件结构要素,组合多个机器并对它们分配功能来实施的作法等各种变更对于本领域技术人员来说是容易设想的,这些变更当然包含在本发明的思想中。
本发明的实施方式中的客户机120、应用服务器160、数据库服务器170作为操作系统,可以采用微软公司提供的Windows(R)操作系统、国际商业机器公司提供的AIX、苹果计算机公司提供的MacOS或Linux(R)等支持GUI多视窗环境的操作系统。
另外,客户机120、应用服务器160、数据库服务器170作为操作系统,还可以采用国际商业机器公司提供的PC-DOS、微软公司提供的MS-DOS等基于字符环境的操作系统。进而,本发明的实施方式中的客户机计算机110、应用服务器160、数据库服务器170还可以采用国际商业机器公司提供的OS/Open、Wind River Systems Inc的Vx Works等实时OS、Java(R)OS等嵌入到网络计算机中的操作系统。
如上所述可以理解,本发明的实施方式中的客户机120、应用服务器160、数据库服务器170不限于特定的操作系统环境。客户机120、应用服务器160、数据库服务器170可以在分别不同的操作系统环境下动作。
以上,使用本发明的实施方式进行了说明,但本发明的技术范围不限于上述实施方式中记载的范围。本领域技术人员可知能够对上述实施方式施加各种变更或改良。因此,施加了这样的变更或改良的方式当然也包含在本发明的技术范围中。