CN104978216A - 应用确定方法和应用确定装置 - Google Patents
应用确定方法和应用确定装置 Download PDFInfo
- Publication number
- CN104978216A CN104978216A CN201510082612.4A CN201510082612A CN104978216A CN 104978216 A CN104978216 A CN 104978216A CN 201510082612 A CN201510082612 A CN 201510082612A CN 104978216 A CN104978216 A CN 104978216A
- Authority
- CN
- China
- Prior art keywords
- program
- file
- execution
- correction
- application
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 89
- 230000008569 process Effects 0.000 claims abstract description 56
- 230000008878 coupling Effects 0.000 claims description 5
- 238000010168 coupling process Methods 0.000 claims description 5
- 238000005859 coupling reaction Methods 0.000 claims description 5
- 230000015654 memory Effects 0.000 claims description 5
- 230000006870 function Effects 0.000 description 69
- 230000003750 conditioning effect Effects 0.000 description 31
- 238000007689 inspection Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 14
- 239000013256 coordination polymer Substances 0.000 description 13
- 230000008859 change Effects 0.000 description 5
- 230000004044 response Effects 0.000 description 4
- 230000003213 activating effect Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/658—Incremental updates; Differential updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/865—Monitoring of software
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
公开了一种应用确定方法和应用确定装置。应用确定方法针对校正文件。应用确定方法使计算机执行包括下述步骤的过程:在存储单元中存储包含在执行文件中的多个程序中的每个程序的执行历史;以及当通过应用用于校正执行文件的校正文文件来改变包含在执行文件中的多个程序中的至少一个程序时,根据存储单元是否将匹配预定条件的执行历史存储为多个程序中的至少一个程序的执行历史,确定是否应用校正文件。
Description
技术领域
在这里讨论的实施方式涉及针对校正文件的应用确定方法和应用确定装置。
背景技术
当校正构成软件的某函数时,为了校正函数中的错误(bug)或扩展功能的目的,提供包括库的补丁,该库包括经校正的函数。与更新整个软件的情况相比,通过使用补丁,能够提高校正软件的操作的效率。
专利文件1:国际公开第2007/105274号
然而,当应用补丁时,软件的文件配置可能改变,且软件的内存使用状态可能改变。由于该改变,已正常运行的功能的运行可能变得不稳定。
因此,当用户对软件的使用状态不包含对要由补丁来校正的函数的执行时,可能优选的是避免应用补丁以保持软件的稳定运行。
发明内容
因此,本发明的一个方面的目的是提供能够根据程序的执行状态确定是否应用校正的应用确定方法和应用确定装置。
根据实施方式的一个方面,应用确定方法针对校正文件,应用确定方法使计算机执行包含下述步骤的过程:在存储单元中存储执行文件中所包括的多个程序中的每个程序的执行历史;以及当通过应用用于校正执行文件的校正文件来改变执行文件中所包括的多个程序中的至少一个程序时,根据存储单元是否将匹配预定条件的执行历史存储为多个程序中的该至少一个程序的执行历史来确定是否应用校正文件。
附图说明
图1图解根据本发明的实施方式的信息处理系统的配置示例;
图2图解根据本发明的实施方式的信息处理装置的硬件配置的示例;
图3图解根据本发明的实施方式的信息处理装置的功能配置的示例;
图4是由执行历史写入单元执行的处理过程的示例的流程图;
图5图解执行历史存储单元的配置的示例;
图6是由补丁处理单元执行的处理过程的示例的流程图;以及
图7图解应用信息文件的配置的示例。
具体实施方式
将参考附图说明本发明的优选实施方式。图1图解根据本发明的实施方式的信息处理系统的配置示例。在图1中,经由诸如LAN(局域网)或因特网的网络连接补丁管理服务器20和至少一个信息处理装置10。
信息处理装置10是包含将作为补丁的应用目标的软件的计算机。该软件可以是OS(操作系统)、中间件和应用程序中的任何一个。此外,信息处理装置10可以是给经由网络连接的客户端装置提供服务的服务器装置或客户端装置。此外,移动电话、智能手机或平板电脑型终端可以是信息处理装置10。
补丁管理服务器20是用于管理安装在信息处理装置10中的软件的补丁的计算机。补丁是指包含构成软件的文件的组中的文件的数据,在该文件中错误已被校正。例如,当对包含在构成软件的执行文件中的程序中的一些程序实施了错误校正时,包含经校正的程序的执行文件构成补丁。注意在本实施方式中,执行文件是使信息处理装置10的CPU执行过程的文件。执行文件不仅包括执行格式的文件,还包括诸如库的作为函数的组件的文件。
图2图解根据本发明的实施方式的信息处理装置10的硬件配置的示例。图2的信息处理装置10包括驱动装置100、辅助存储装置102、存储器装置103、CPU 104以及接口装置105,它们通过总线B互相连接。
由记录介质101提供用于由信息处理装置10实现过程的程序。当在驱动装置100中设置记录程序的记录介质101时,经由驱动装置100将程序从记录介质101安装在辅助存储装置102中。然而,并不需要总是从记录介质101安装程序;程序可以经由网络从另一计算机下载。辅助存储装置102存储所安装的程序和该程序需要的文件及数据。
当给出激活程序的指令时,存储器装置103从辅助存储装置102读取程序并存储程序。根据存储在存储器装置103中的程序,CPU 104执行与信息处理装置10有关的函数。接口装置105用作用于连接至网络的接口。
注意记录介质101的示例是诸如CD-ROM、DVD盘、或USB存储器的便携式记录介质。此外,辅助存储装置102的示例是HDD(硬盘驱动器)或闪存存储器。记录介质101和辅助存储装置102两者对应于计算机可读记录介质。
图3图解根据本发明的实施方式的信息处理装置10的功能配置的示例。在图3中,在信息处理装置10中安装软件产品SW1。软件产品SW1包括至少一个部件CP。部件CP是充当构成软件产品SW1的部件的软件。例如,可以为软件产品SW1的每个功能创建部件CP。每个部件CP包括至少一个模块。每个模块构成至少一个文件。模块例如可以是用于产生过程的命令文件或执行格式文件,或作为函数的组件的库,或包含设置信息的资源文件。例如,作为库的模块包含多个函数。作为执行格式文件的模块也可以包含至少一个函数。注意在图3中图解的软件产品SW1的结构只是一个示例。可以将本实施方式应用于具有与图3中图解的结构不同的结构的软件产品。
信息处理装置10还包括执行历史写入单元11和补丁处理单元12。由过程实现这些单元,由已被安装在信息处理装置10中的至少一个程序使CPU 104执行这些过程。此外,信息处理装置10使用执行历史存储单元13和安装信息存储单元14。可以使用辅助存储装置102或经由网络连接至信息处理装置10的存储装置(未示出)来实现执行历史存储单元13。
当执行与嵌入在模块中的检查点相关的过程时,执行历史写入单元11在执行历史存储单元13中存储指示检查点已被执行的执行历史。检查点是调用执行历史写入单元11的部分,其被事先嵌在模块的源代码中。注意可以在不使用执行历史写入单元11的情况下使用通用注释(versatilecomment)输出函数存储执行历史。执行历史写入单元11可以被实现为函数(下文称为“执行历史写入函数”)。在这种情况下,在模块中,调用执行历史写入函数的部分对应于检查点。注意可以将检查点嵌入在模块单元中或嵌入在包含在模块中的函数单元中,并且可以将检查点嵌入在该函数中的多个部分中。当将检查点嵌入在模块单元中时,可以在使用模块的一侧调用执行历史写入函数,或可以在模块被加载后第一个被执行的部分处调用执行历史写入函数。当以函数为单位嵌入检查点时,可以在函数的开始处或在函数的结束处调用执行历史写入函数。当针对函数中的多个部分存在检查点时,例如,在一个函数中,当满足特定条件时可以为每条执行路径调用执行历史写入函数。
安装信息存储单元14针对安装在信息处理装置10中的软件产品SW1的每个部件CP存储部件CP的标识信息(下文称为“部件ID”)。
补丁处理单元12执行与补丁P1的应用有关的过程。在图3中,补丁处理单元12包括查询单元121、应用信息获取单元122、应用确定单元123、校正模块获取单元124以及校正模块应用单元125。
查询单元121查询补丁管理服务器20是否存在针对安装在信息处理装置10中的部件CP的补丁P1。在本实施方式中,针对每个部件CP发布补丁P1。
当发现补丁P1被发布时,应用信息获取单元122获取补丁P1的应用信息文件f1。在本实施方式中,一个补丁P1包括应用信息文件f1以及校正模块组ps1。应用信息文件f1是这样的文件:其定义应用补丁P1的至少一个条件(下文称为“应用条件”),以及指示当满足每个应用条件时要执行的过程的信息。例如,应用信息文件f1是一个文本文件。校正模块组ps1是已被校正的一个或更多模块的组件(下文称为“校正模块”)。例如,在针对库的校正模块中,已经关于包含在校正模块中的诸函数中的一些函数进行了校正。每个校正模块与相应的模块的标识信息(下文称为“模块ID”)相关联,并且被存储在补丁管理服务器20中。注意在本实施方式中,为方便起见,假设模块的模块ID和该模块的校正模块的模块ID相同。因此,由模块ID,能够识别模块和该模块的校正模块之间的对应关系。
根据存储在执行历史存储单元13中的执行历史是否满足由应用信息获取单元122获取的应用信息文件f1中定义的一个或更多个应用条件,应用确定单元123确定是否应用每个校正模块。应用校正模块是指用校正模块替换对应于校正模块的模块。
当应用确定单元123确定需要应用校正模块之一时,校正模块获取单元124从补丁管理服务器20获取(下载)校正模块或包括校正模块的校正模块组。校正模块应用单元125应用由校正模块获取单元124获取的校正模块。
注意存储补丁P1的位置不限于补丁管理服务器20。例如,可以将补丁P1存储在诸如CD-ROM、DVD盘或USB存储器的便携式记录介质中。在这种情况下,补丁处理单元12可以查询设置在信息处理装置10的驱动装置100中的记录介质,并执行过程。
下文中,给出由信息处理装置10执行的处理过程的描述。图4是由执行历史写入单元11执行的处理过程的示例的流程图。在嵌入在软件产品SW1中所包括的各部件中的检查点处,响应于对执行历史写入函数的调用,开始图4中指示的过程。注意在执行历史写入函数中,指定用于标识每个检查点的标识信息(下文称为“检查编号”)。换言之,向执行历史写入单元11报告检查点的检查编号。注意检查编号可以是检查点的标识名。例如,某函数中的检查点的检查编号可以包括该函数的函数名。此外,某模块的检查点的检查编号可以包括模块的文件名。换言之,可以适当地确定检查点的命名规则。
响应于对执行历史写入函数的调用,执行历史写入单元11确定是否将报告的检查编号的条目存储在执行历史存储单元13中(步骤S101)。
图5图解执行历史存储单元13的配置的示例。在图5中,执行历史存储单元13存储与检查编号相关的执行次数。执行次数是执行历史的示例,其是与检查编号相关联的检查点已被执行的次数。
在步骤S101中,确定是否存在包含所报告的检查编号条目(记录)。当存在相应的条目时(步骤S101中的“是”),执行历史写入单元11将该条目的执行次数增加一(步骤S103)。当不存在相应的条目时(步骤S101中的“否”),执行历史写入单元11向执行历史存储单元13增加对应于该检查编号的条目(步骤S102)。增加的条目中的执行次数的值被初始化为零。接着,历史写入单元11执行步骤S103。因此,在这种情况下,该条目的执行次数的值变为一。
如上所述,每次执行嵌入在各模块中的检查点,都增加检查点的执行次数。注意根据部件CP的创建者的选择,将检查点嵌入在每个模块中、每个函数中、每个命令中等的位置。因此,例如,当将检查点嵌入在每个函数中时,每个函数的执行次数被存储在执行历史存储单元13中。
接着,给出由补丁处理单元12执行的处理过程的描述。图6是由补丁处理单元12执行的处理过程的示例的流程图。可以规律地或不规律地执行图6的过程。例如,当不规律地执行该过程时,可以响应于作为执行格式文件的特定模块的激活、作为库的特定模块的加载或包含在特定模块中的特定函数的执行来开始图6的过程。
在步骤S201中,查询单元121向补丁管理服务器20发送是否存在补丁P1的查询请求(步骤S201)。响应于查询请求,补丁管理服务器20返回补丁管理服务器20中存储的与补丁P1相关的部件ID的列表。换言之,返回发布了补丁P1的部件CP的部件ID的列表。
接着,基于存储在安装信息存储单元14中的部件ID是否被包括在返回的部件ID的列表中,查询单元121确定是否存在针对安装在信息处理装置10中的部件CP的补丁P1(步骤S202)。换言之,当存储在安装信息存储单元14中的部件ID被包括在返回的部件ID的列表中时,查询单元121确定存在针对安装在信息处理装置10中的部件CP的补丁P1。注意被包括在返回的部件ID的列表和安装信息存储单元14两者中的部件ID在下文中被称作“目标部件ID”。可以存在多个目标部件ID。另外,当存储在安装信息存储单元14中的部件ID未被包括在返回的部件ID的列表中时,查询单元121确定不存在针对安装在信息处理装置10中的部件CP的补丁P1。
注意可以由补丁管理服务器20实施确定步骤S202。在这种情况下,在步骤S201中发送至补丁管理服务器20的查询请求可以包括存储在安装信息存储单元14中的部件ID的列表。补丁管理服务器20可以确定是否存在与被包括在列表里的部件ID的任何一个相关的所存储的补丁P1,并将确定结果返回至信息处理装置10。
当不存在安装在信息处理装置10中的部件CP的补丁P1时(步骤S202中的“否”),图6的过程结束。当存在相应的补丁P1(下文称为“目标补丁P1”)时(步骤S202中的“是”),应用信息获取单元122确定是否还未获取目标补丁P1的应用信息文件f1(步骤S203)。例如,确定在与目标部件ID相关的辅助存储装置102中是否未存储应用信息文件f1。
当已获取目标补丁P1的应用信息文件f1时(步骤S203中的“否”),不执行步骤S204,过程执行到步骤S205。注意即使当获取到应用信息文件f1时,也可能存在应用信息文件f1已被更新的情况,因此可以确认应用信息文件f1是否已被更新。当应用信息文件f1已被更新时,可以再次获取应用信息文件。
当目标补丁P1的应用信息文件f1还未被获取时(步骤S203中的“是”),应用信息获取单元122从补丁管理服务器20获取目标补丁P1的应用信息文件f1(步骤S204)。目标补丁P1的应用信息文件f1是与目标部件ID相关的存储在补丁管理服务器20中的应用信息文件f1。应用信息获取单元122与目标部件ID相关联地在辅助存储装置102中存储所获取的应用信息文件f1。
图7图解应用信息文件的配置的示例。如在图7中图解的,应用信息文件pf1包含一个或更多个条目。每个条目包含检查编号、应用条件、校正ID、过程组代码等。
检查编号是存储在执行历史存储单元13中的执行次数中的具有如下执行次数的检查编号:该执行次数专用于确定是否满足应用条件。应用条件是应用与校正ID有关的校正模块的条件。更具体地,应用条件是这样的条件:在该条件下,执行被该条目中的过程组代码标识的过程。包含在应用条件中的N指示关于该条目的检查编号的执行次数。校正ID是包含在目标补丁P1的校正模块组ps1中的校正模块中的要作为应用目标的校正模块的模块ID。换言之,可以说校正ID是包含在信息处理装置10中的模块中的作为校正目标的模块的模块ID。
换言之,在本实施方式中,不是所有的被包含在目标补丁P1中的校正模块总是为应用目标。根据存储在执行历史存储单元13中的信息,换言之,根据用户对软件产品SW1的使用状态,要作为应用目标的校正模块变化。当满足应用条件时,过程组代码是一个或更多个要执行的过程的过程代码的和。在本实施方式中,定义以下值为过程代码的示例。
0:没有过程被执行。
1:下载作为应用目标的校正模块。
2:等待加载与校正ID有关的模块的过程的结束,并应用校正模块。
4:强制停止加载与校正ID有关的模块的过程,并应用校正模块。
8:忽略随后的条目。
如上所述,包含在应用信息文件f1中的过程组代码是过程代码的和。然而,过程代码“0”仅被它本身使用,且不构成过程组代码。此外,在包含多个过程代码的过程组代码中,执行与各过程代码相关的过程的顺序是采用从最小值的过程代码开始的升序。因此,例如,过程组代码“3”指示要在过程代码“1”的过程后执行过程代码“2”的过程。过程组代码“5”指示要在过程代码“1”的过程后执行过程代码“4”的过程。
注意,并不是必须基于查询单元121的是否存在补丁P1的查询来获取应用信息文件f1。例如,当补丁管理服务器20中登记了新补丁P1时,可以从补丁管理服务器20向信息处理装置10分发补丁P1的应用信息文件f1。
接着,应用确定单元123确定包含在获取的应用信息文件f1中的每个条目的应用条件是否被满足(步骤S205)。例如,关于图7中的第一个条目,确定检查编号“w001”的执行次数是否大于等于1。关于第二个条目,确定检查编号“xa001”的执行次数是否大于等于1且小于等于30。关于第三个条目,确定检查编号“xb001”的执行次数是否为零。关于第四个条目,确定检查编号“xc002”的执行次数是否大于等于60。关于第五个条目,确定检查编号“yb002”的执行次数是否大于等于1。关于第六个条目,确定检查编号“z110”的执行次数是否为零。注意,检查编号的执行次数是与检查编号相关联地存储在执行历史存储单元13中的执行次数。
注意,步骤S205不需要与步骤S204同步执行(接在步骤S204之后)。可以在执行步骤S204后的任意时刻执行步骤S205。例如,当激活或终止作为执行格式文件的模块时,或当已开始或结束特定函数时,可以执行步骤S205。如上所述,当动态地设置步骤S205的执行时刻时,可以产生以及在辅助存储装置102中存储指示该时刻的定义信息。或者,可以从补丁管理服务器20下载定义信息。
当不存在满足应用条件的条目时(步骤S206里的“否”),图6的过程结束。当存在满足应用条件的一个或更多个条目时(步骤S206中的“是”),补丁处理单元12执行由该条目的过程组代码指示的过程(步骤S207)。
例如,对于图7的第一或第五条目,校正模块获取单元124从补丁管理服务器20获取包含与该条目的校正ID有关的校正模块的校正模块组。校正模块应用单元125强制停止加载与该模块ID有关的模块的过程,并应用校正模块。
注意,可以例如基于指示模块和过程之间的关系的信息来指定加载某模块的过程。更具体地,指示模块和过程之间的关系的信息是指示该模块和用于产生加载该模块的过程的执行格式文件之间的关系的信息。可以事先创建并在辅助存储装置102中存储该信息,或可以从补丁管理服务器20下载该信息。
此外,在第二条目的情况下,校正模块获取单元124从补丁管理服务器20获取模块ID是“p1002”的校正模块。在这种情况下,即使当加载与该模块ID有关的模块的过程结束时,也不执行校正模块的应用。第二条目的意思是,当xa001检查点大于等于1且小于等于30时,需要应用具有“p1002”的模块ID的校正模块的可能性高,因此仅为了准备的目的而下载校正模块。因此,与第二条目相关联的,可以定义具有校正ID“p1002”以及过程组代码“2”或“4”的条目。
在第三条目的情况下,忽略第四条目以及随后的条目。注意过程代码“8”的意思可以是“使之前的条目无效”。在第四或第六条目的情况下,校正模块获取单元124从补丁管理服务器20获取与该条目的校正ID有关的校正模块。校正模块应用单元125等待加载与该模块ID有关的模块的过程结束,然后应用校正模块。
注意,可以根据过程向校正模块应用单元125报告结束来检测结束某过程的时刻。或者,可以通过校正模块应用单元125经由OS(操作系统)监视每个过程的情况来检测结束过程的时刻。
在上述描述中,应用校正模块的时刻在加载与校正模块相对应的模块的过程的结束后。然而,可以以更细的单位提供应用校正模块的时刻的选择。例如,对于用户希望增加卸载库的时刻作为应用校正模块的时刻的选择的情况,报告给校正模块应用单元125的库的卸载可以被设置为应用校正模块的时刻的选择。可以由卸载库的一侧的模块实施卸载库的报告,或如果库能够作报告则可以由库实施卸载库的报告。此外,在用户希望增加开始函数或结束包含在模块中的函数的时刻作为应用校正模块的时刻的选择的情况下,可以向校正模块应用单元125报告函数的开始或结束。可以在函数中报告函数的开始和结束,或可以在调用该函数的一侧报告。
注意第六条目中指示的内容是:当检查编号“z110”的执行次数是零时,下载且应用具有“p1004”的模块ID的校正模块。该条目是基于如下想法:如果没有执行与检查编号“z110”有关的检查点,则估计执行了与该检查点具有排他性关系的部分。换言之,当执行了与该检查点具有排他性关系的部分时,校正ID“p1004”是要应用的校正模块的模块ID。
如上所述,在应用信息文件f1中,关于在什么情况下要应用哪个校正模块可以作灵活设置。
例如,假设充当库的某模块(下文称为“模块a”)包含函数A和根据条件被函数A调用的函数B及函数C。关于该模块a,假设补丁P1包含校正模块C,在校正模块C中已校正了函数C中的错误。在这种情况下,在与补丁P1有关的应用信息文件f1中,可以定义以下条目。
检查编号:函数B中的任意部分处的检查点的检查编号
应用条件:1≤N
校正ID:校正模块C的模块ID
过程组代码:1或3或5
通过上述条目,即使当未执行函数C时,只要执行函数B,就可以应用校正模块C。如上所述,从函数A调用函数B。因此,当执行函数B时,意味着执行函数A。当执行函数A时,意味着存在这样的可能:根据函数A中的条件将调用函数C。因此,当执行函数B时,意味着应用已对函数C作了校正的校正模块C。
此外,可以定义如下条目:在该条目中,如图7的第二条条目中,当执行次数大于或等于预定值时,不应用校正模块。该预定值是被认为是充分执行轨迹记录的值。通过该条目,可以防止校正模块被应用至具有充分执行轨迹记录并且稳定运行的模块。
注意当由便携式记录介质分发补丁P1时,在图6的过程中,在补丁管理服务器20上实施的过程可以在该记录介质上实施。
接着,给出存储在执行历史存储单元13中的执行历史的修改示例的描述。在上面,描述了存储执行次数作为执行历史的一个示例。当可以根据是否存在执行轨迹记录来确定校正模块的应用条件时,可以将是否存在执行轨迹记录的指示存储为执行历史。在这种情况下,当历史写入单元11所属的过程被激活时,历史写入单元11将存储在执行历史存储单元13中的条目加载入存储器装置103。在执行图4的步骤S101之前,当包含所报告的检查编号的记录被存储在存储器装置103中时,历史写入单元11不执行步骤S101以及之后的步骤。因此,在执行历史存储单元13中,为所执行的每个检查点存储1,且根据随后的执行不更新执行次数。因此,可以减少对执行历史存储单元13访问频率,并且能够减小由于在执行历史中写入而导致的性能退化的可能性。
此外,可以将检查点处的特定变量的值包含在执行历史中。在这种情况下,可以关于该变量的值设置应用条件。因此,能够根据函数的执行状态确定是否应用校正模块。
此外,可以将函数的自变量的值包含在执行历史中。在这种情况下,可以为该自变量的值设置应用条件。因此,能够根据该函数的自变量的值确定是否应用校正模块。当自变量的数据类型是数据串时,可以将指示字符串的字符类型(全角字符、半角字符以及字母数字字符)的值包含在执行历史中。
此外,执行历史可以包含指示是否满足应用条件的值,诸如“打开(ON)”或“关闭(OFF)”。在这种情况下,在应用信息文件f1的条目中的个中,不需要提供应用条件。这是因为:当执行历史存储单元13关于检查编号存储“打开”时,确定满足应用条件。在当执行某检查点时要避免应用校正模块的情况下,这种执行历史是有效的。在这种情况下,指示“关闭”的执行历史要针对检查点存储在执行历史存储单元13中。
如上所述,根据本实施方式,关于包含在每个模块中的函数存储执行历史,并根据执行历史是否满足预定条件确定是否应用校正模块。因此,能够根据函数的执行状态确定是否应用校正模块。
此外,根据本实施方式,在多个校正模块中,对应于包含存储指示执行已被实施的执行历史的函数的模块的校正模块是应用目标。因此,因为对应于不包含执行函数的模块(即不被使用的模块)的校正模块的应用,能够减小软件产品SW1的运行变得不稳定的可能性。
注意,在一个信息处理装置10中,安装多个软件产品。当软件产品分别包含相同的部件,例如,为了能够识别目标以在相同的诸部件中应用补丁,可以针对每个软件产品创建补丁应用文件。此外,每个检查编号和校正ID可以包含软件产品的标识信息以及部件的标识信息。
注意,在本实施方式中,执行历史存储单元13是存储单元的示例。应用确定单元123是确定单元的示例。信息处理装置10是应用确定装置的示例。模块是执行文件的示例。校正模块是校正文件的示例。
本发明不限于这里所描述的具体实施方式,并且在不偏离本发明的范围的情况下,可以作变化以及修改。
根据实施方式的一个方面,提供应用确定方法和应用确定装置,它们能够根据程序的执行状态确定是否应用校正。
Claims (10)
1.一种针对校正文件的应用确定方法,所述应用确定方法使计算机执行包括下述步骤的过程:
在存储单元中存储执行文件中所包括的多个程序中的每个程序的执行历史;以及
当通过应用用于校正所述执行文件的校正文件来改变所述执行文件中所包括的所述多个程序中的至少一个程序时,根据所述存储单元是否将匹配预定条件的执行历史存储为所述多个程序中的所述至少一个程序的执行历史来确定是否应用所述校正文件。
2.根据权利要求1所述的应用确定方法,其中
所述存储包括在所述存储单元中存储所述执行文件中所包括的所述多个程序中的每个程序的执行次数,并且
所述确定包括根据所述存储单元是否将大于或等于预定次数的执行次数存储为所述多个程序中的所述至少一个程序的执行次数来确定是否应用校正文件。
3.根据权利要求1或2所述的应用确定方法,其中
所述存储包括在所述存储单元中存储所述执行文件的执行历史,并且
所述确定包括根据所述存储单元是否将匹配预定条件的执行历史存储为所述执行文件的执行历史来确定是否应用校正文件。
4.根据权利要求1或2所述的应用确定方法,其中
所述确定包括:在从第一程序调用的第二程序和第三程序之间,当所述存储单元存储指示所述第二程序已被执行的执行历史时,以及当所述存储单元未存储指示所述第三程序已被执行的执行历史时,确定将已经关于所述第三程序进行了校正的校正文件应用于包括所述第一程序、所述第二程序以及所述第三程序的所述执行文件。
5.根据权利要求1或2所述的应用确定方法,其中
所述存储包括在所述存储单元中存储多个所述执行文件中的每个执行文件中所包括的所述多个程序中的每个程序的执行历史,并且
所述确定包括确定应用分别对应于所述多个执行文件的多个校正文件中的这样的校正文件:该校正文件对应于所述多个执行文件中的这样的执行文件,该执行文件包括所述多个程序中的被所述存储单元所存储的执行历史指示为已执行的程序。
6.一种针对校正文件的应用确定装置,所述应用确定装置包括:
存储单元,其用于存储执行文件中所包括的多个程序中的每个程序的执行历史;以及
确定单元,其用于:当通过应用用于校正所述执行文件的校正文件来改变所述执行文件中所包括的所述多个程序中的至少一个程序时,根据所述存储单元是否将匹配预定条件的执行历史存储为所述多个程序中的所述至少一个程序的执行历史来确定是否应用所述校正文件。
7.根据权利要求6所述的应用确定装置,其中
所述存储单元存储所述执行文件中所包括的所述多个程序中的每个程序的执行次数,并且
所述确定单元根据所述存储单元是否将大于或等于预定次数的执行次数存储为所述多个程序中的所述至少一个程序的执行次数来确定是否应用校正文件。
8.根据权利要求6或7所述的应用确定装置,其中
所述存储单元存储所述执行文件的执行历史,并且
所述确定单元根据所述存储单元是否将匹配预定条件的执行历史存储为所述执行文件的执行历史来确定是否应用校正文件。
9.根据权利要求6或7所述的应用确定装置,其中
在从第一程序调用的第二程序和第三程序之间,当所述存储单元存储指示所述第二程序已被执行的执行历史时,以及当所述存储单元未存储指示所述第三程序已被执行的执行历史时,所述确定单元确定将已经关于所述第三程序进行了校正的校正文件应用于包括所述第一程序、所述第二程序以及所述第三程序的所述执行文件。
10.根据权利要求6或7所述的应用确定装置,其中
所述存储单元存储多个所述执行文件中的每个执行文件中所包括的所述多个程序中的每个程序的执行历史,并且
所述确定单元确定应用分别对应于所述多个执行文件的多个校正文件中的这样的校正文件:该校正文件对应于所述多个执行文件中的这样的执行文件,该执行文件包括所述多个程序中的被所述存储单元所存储的执行历史指示为已执行的程序。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014-076071 | 2014-04-02 | ||
JP2014076071A JP6379599B2 (ja) | 2014-04-02 | 2014-04-02 | 適用判定プログラム、適用判定方法、及び適用判定装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104978216A true CN104978216A (zh) | 2015-10-14 |
Family
ID=52434587
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510082612.4A Pending CN104978216A (zh) | 2014-04-02 | 2015-02-15 | 应用确定方法和应用确定装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20150286476A1 (zh) |
EP (1) | EP2927808A1 (zh) |
JP (1) | JP6379599B2 (zh) |
CN (1) | CN104978216A (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6766366B2 (ja) * | 2016-02-05 | 2020-10-14 | 富士通株式会社 | プログラム、情報処理方法および情報処理装置 |
JP6953947B2 (ja) * | 2017-09-22 | 2021-10-27 | コニカミノルタ株式会社 | 情報処理装置、ファームウェア更新プログラム |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040255290A1 (en) * | 2003-06-12 | 2004-12-16 | International Business Machines Corporation | Installing fixes based on usage |
US20050102615A1 (en) * | 2003-11-12 | 2005-05-12 | Manuel Roman | Method and apparatus for composing software |
CN1846447A (zh) * | 2003-09-04 | 2006-10-11 | 索尼株式会社 | 图像处理方法、图像处理装置和计算机程序 |
US20080195693A1 (en) * | 2005-10-25 | 2008-08-14 | Huawei Technologies Co., Ltd. | Method and Device for Monitoring and Upgrading Software in Device Management |
CN101677403A (zh) * | 2008-09-17 | 2010-03-24 | 佳能株式会社 | 图像编码设备、图像解码设备及其控制方法 |
CN102325492A (zh) * | 2009-02-05 | 2012-01-18 | 欧姆龙健康医疗事业株式会社 | 管理装置、管理系统以及管理方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4050390B2 (ja) * | 1998-06-18 | 2008-02-20 | 富士通株式会社 | プログラム修正抽出適用システムおよび修正抽出適用プログラムを格納した記憶媒体 |
JP2001147815A (ja) * | 1999-11-19 | 2001-05-29 | Canon Inc | 画像形成装置及び画像形成システム |
JP2005157509A (ja) * | 2003-11-21 | 2005-06-16 | Hitachi Ltd | 通信端末 |
US7568195B2 (en) * | 2003-12-16 | 2009-07-28 | Microsoft Corporation | Determining a maximal set of dependent software updates valid for installation |
EP2003557A4 (en) * | 2006-03-10 | 2010-04-21 | Fujitsu Ltd | DEVICE AND METHOD FOR SELECTING APPLICABLE CORRECTIONS |
JP4539677B2 (ja) * | 2007-04-23 | 2010-09-08 | コニカミノルタビジネステクノロジーズ株式会社 | 画像形成装置、プログラム更新システム、プログラム更新方法およびプログラム更新プログラム |
-
2014
- 2014-04-02 JP JP2014076071A patent/JP6379599B2/ja not_active Expired - Fee Related
-
2015
- 2015-01-27 EP EP15152653.0A patent/EP2927808A1/en not_active Withdrawn
- 2015-01-29 US US14/608,229 patent/US20150286476A1/en not_active Abandoned
- 2015-02-15 CN CN201510082612.4A patent/CN104978216A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040255290A1 (en) * | 2003-06-12 | 2004-12-16 | International Business Machines Corporation | Installing fixes based on usage |
CN1846447A (zh) * | 2003-09-04 | 2006-10-11 | 索尼株式会社 | 图像处理方法、图像处理装置和计算机程序 |
US20050102615A1 (en) * | 2003-11-12 | 2005-05-12 | Manuel Roman | Method and apparatus for composing software |
US20080195693A1 (en) * | 2005-10-25 | 2008-08-14 | Huawei Technologies Co., Ltd. | Method and Device for Monitoring and Upgrading Software in Device Management |
CN101677403A (zh) * | 2008-09-17 | 2010-03-24 | 佳能株式会社 | 图像编码设备、图像解码设备及其控制方法 |
CN102325492A (zh) * | 2009-02-05 | 2012-01-18 | 欧姆龙健康医疗事业株式会社 | 管理装置、管理系统以及管理方法 |
Also Published As
Publication number | Publication date |
---|---|
EP2927808A1 (en) | 2015-10-07 |
JP6379599B2 (ja) | 2018-08-29 |
US20150286476A1 (en) | 2015-10-08 |
JP2015197841A (ja) | 2015-11-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102520948B (zh) | 应用程序维护更新方法和装置 | |
CN101425018B (zh) | 基于分段式的嵌入式固件升级方法及装置 | |
US11221838B2 (en) | Hot update method, operating system, terminal device, system, and computer-readable storage medium for a system process | |
CN107769949B (zh) | 一种应用组件部署方法及部署节点 | |
US9038059B2 (en) | Automatically targeting application modules to individual machines and application framework runtimes instances | |
CN111381858B (zh) | 一种应用程序升级方法、服务器及终端设备 | |
US8468226B2 (en) | Management server, boot server, network boot system, and network boot method | |
CN100399267C (zh) | 一种管理软件安装/卸载的方法 | |
US8954949B2 (en) | Smart patch delivery system | |
EP3040854B1 (en) | Method, apparatus and storage medium for dynamically patching function | |
CN103036706A (zh) | 应用升级异常的本地处理方法 | |
US7216344B2 (en) | Side-by-side drivers | |
US11650743B2 (en) | Updating storage drive firmware | |
US8924947B2 (en) | Direct deployment of static content | |
US11983519B2 (en) | Abort installation of firmware bundles | |
CN106569863B (zh) | 基于资源和代码模块化的安卓app资源更新和修复的方法 | |
CN110765394A (zh) | so文件加载方法、装置、存储介质及终端设备 | |
CN108536456A (zh) | 一种智能设备升级方法及系统 | |
CN113434180B (zh) | 应用的数据处理方法、装置、服务器和存储介质 | |
CN104978216A (zh) | 应用确定方法和应用确定装置 | |
CN112748949A (zh) | 一种操作系统的软件包管理方法、装置、设备及存储介质 | |
CN116028084A (zh) | 一种基于OpenStack云平台跨版本热升级的方法、系统及终端 | |
EP3255542A1 (en) | Service management method and the device | |
US11922160B2 (en) | Validated state control in edge computing | |
CN116661905B (zh) | 一种基于动态库加载实现设备自动适配方法以及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20151014 |
|
WD01 | Invention patent application deemed withdrawn after publication |