CN111859403B - 依赖关系漏洞的确定方法、装置、电子设备及存储介质 - Google Patents
依赖关系漏洞的确定方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN111859403B CN111859403B CN202010754824.3A CN202010754824A CN111859403B CN 111859403 B CN111859403 B CN 111859403B CN 202010754824 A CN202010754824 A CN 202010754824A CN 111859403 B CN111859403 B CN 111859403B
- Authority
- CN
- China
- Prior art keywords
- batch
- dependency relationship
- job
- jobs
- preset
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/034—Test or assess a computer or a system
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本公开实施例提供了一种依赖关系漏洞的确定方法、装置、电子设备及存储介质,可以用于信息安全领域或金融领域。该方法包括:获取在执行多个批量作业的过程中多个批量作业之间的实际依赖关系,其中,多个批量作业为调用了相同批量文件的作业;获取在作业控制***中预先定义的多个批量作业之间的预设依赖关系;以及,根据多个批量作业之间的实际依赖关系和预设依赖关系,确定用于表征作业控制***中的预设依赖关系存在漏洞的可能性的结果。
Description
技术领域
本公开实施例涉及计算机技术领域,更具体地,涉及一种批量作业中依赖关系漏洞的确定方法、装置、电子设备及存储介质。
背景技术
主机批量应用***是通过主机的批量作业调用批量作业程序,由批量作业程序访问批量文件,得到处理结果,并将处理结果存储至批量文件。
由于主机批量应用***本身存在逻辑关系,即其要求部分批量作业之间需要顺序执行,另一部分批量作业之间不需要顺序执行,针对不需要顺序执行的批量作业,为了提高批量作业的效率,需要使其并行执行,针对需要顺序执行的批量作业,需要保证批量作业间的顺序执行关系正确,而批量作业之间的顺序执行通常由主机的作业控制***(TIVOLIWORKLOAD SCHEDULER FOR Z/OS,TWS)控制,因此,为了保证批量作业的效率以及提高批量作业的正确性,需要保证作业控制***中设定的批量作业间的顺序执行关系正确。其中,顺序执行是指将一个批量作业被执行后得到的批量文件提供给另一个批量作业使用。将具有顺序执行关系的两个批量文件称为具有依赖关系(即前后项关系)的批量文件。
在实现本公开构思的过程中,发明人发现相关技术中至少存在如下问题:采用相关技术较难实现确定作业控制***中设定的依赖关系是否存在漏洞。
发明内容
有鉴于此,本公开实施例提供了一种批量作业中依赖关系漏洞的确定方法、装置、电子设备及存储介质。
本公开实施例的一个方面提供了一种批量作业中依赖关系漏洞的确定方法,该方法包括:获取在执行多个批量作业的过程中上述多个批量作业之间的实际依赖关系,其中,上述多个批量作业为调用了相同批量文件的作业;获取在作业控制***中预先定义的上述多个批量作业之间的预设依赖关系;以及,根据上述多个批量作业之间的实际依赖关系和上述预设依赖关系,确定用于表征上述作业控制***中的预设依赖关系存在漏洞的可能性的结果。
根据本公开的实施例,上述根据上述多个批量作业之间的实际依赖关系和上述预设依赖关系,确定用于表征上述作业控制***中的预设依赖关系存在漏洞的可能性的结果,包括:在上述多个批量作业之间的实际依赖关系和上述预设依赖关系之间不一致的情况下,确定上述作业控制***中存在具有漏洞的预设依赖关系;以及,在上述多个批量作业之间的实际依赖关系和上述预设依赖关系之间一致的情况下,确定上述作业控制***中的预设依赖关系正常。
根据本公开的实施例,在上述多个批量作业之间的实际依赖关系和上述预设依赖关系之间不一致的情况下,上述方法还包括:将与上述具有漏洞的预设依赖关系对应的目标批量作业存储至存疑数据表。
根据本公开的实施例,在上述将与上述具有漏洞的预设依赖关系对应的目标批量作业存储至存疑数据表之后,还包括:获取在上述作业控制***中为上述目标批量作业中每个批量作业设定的访问时间;以及,在上述目标批量作业中每个批量作业设定的访问时间不同的情况下,确定上述作业控制***中与上述目标批量作业对应的预设依赖关系正常。
根据本公开的实施例,在上述将与上述具有漏洞的预设依赖关系对应的目标批量作业存储至存疑数据表之后,还包括:在上述目标批量作业为无效批量作业的情况下,确定上述作业控制***中与上述目标批量作业对应的预设依赖关系正常。
根据本公开的实施例,在上述将与上述具有漏洞的预设依赖关系对应的目标批量作业存储至存疑数据表之后,还包括:确定与上述目标批量作业对应的批量文件;以及,在与上述目标批量作业对应的批量文件为无效批量文件的情况下,确定上述作业控制***中与上述目标批量作业对应的预设依赖关系正常。
根据本公开的实施例,上述获取在执行多个批量作业的过程中上述多个批量作业之间的实际依赖关系,包括:获取与每个批量作业对应的访问方式;以及,根据与每个批量作业对应的访问方式确定上述多个批量作业之间的实际依赖关系。
根据本公开的实施例,上述根据与每个批量作业对应的访问方式确定上述多个批量作业之间的实际依赖关系,包括:在两个上述批量作业的访问方式至少之一为写方式或修改方式的情况下,确定两个上述批量作业为具有实际依赖关系。
根据本公开的实施例,上述获取在作业控制***中预先定义的上述多个批量作业之间的预设依赖关系,包括:确定在上述作业控制***中设定的两个批量作业之间的直接依赖关系;确定在上述作业控制***中设定的上述两个批量作业之间的间接依赖关系,其中,上述间接依赖关系表征上述两个批量作业之间包括其他批量作业;以及,根据上述直接依赖关系和上述间接依赖关系得到上述两个批量作业之间的预设依赖关系。
本公开实施例的另一方面提供了一种批量作业中依赖关系漏洞的确定装置,该装置包括:第一获取模块,用于获取在执行多个批量作业的过程中上述多个批量作业之间的实际依赖关系,其中,上述多个批量作业为调用了相同批量文件的作业;第二获取模块,用于获取在作业控制***中预先定义的上述多个批量作业之间的预设依赖关系;以及,第一确定模块,用于根据上述多个批量作业之间的实际依赖关系和上述预设依赖关系,确定用于表征上述作业控制***中的预设依赖关系存在漏洞的可能性的结果。
本公开实施例的另一方面提供了一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上所述的方法。
本公开实施例的另一方面提供了一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器实现如上所述的方法。
本公开实施例的另一方面提供了一种计算机程序,上述计算机程序包括计算机可执行指令,上述指令在被执行时用于实现如上所述的方法。
根据本公开的实施例,通过获取在执行多个批量作业的过程中多个批量作业之间的实际依赖关系,多个批量作业为调用了相同批量文件的作业,获取在作业控制***中预先定义的多个批量作业之间的预设依赖关系,在此基础上,根据多个批量作业之间的实际依赖关系和预设依赖关系,确定用于表征作业控制***中的预设依赖关系存在漏洞的可能性的结果。由于根据多个批量作业之间的实际依赖关系对多个批量作业之间的预设依赖关系进行了验证,因此,实现了较为准确地确定作业控制***中设定的依赖关系是否存在漏洞,因而至少部分地克服了相关技术中难以实现确定作业控制***中设定的依赖关系是否存在漏洞的技术问题。此外,由于根据多个批量作业之间的实际依赖关系对多个批量作业之间的预设依赖关系进行了验证,因此,也解决了较难以通过测试方式对作业控制***所设定的预设依赖关系的正确性进行验证的难题,以及,较难以通过人工方式调整作业控制***中所设定的依赖关系的难题。
附图说明
通过以下参照附图对本公开实施例的描述,本公开的上述以及其他目的、特征和优点将更为清楚,在附图中:
图1示意性示出了根据本公开实施例的可以应用批量作业中依赖关系漏洞的确定方法的示例性***架构;
图2示意性示出了根据本公开实施例的一种批量作业中依赖关系漏洞的确定方法的的流程图;
图3示意性示出了根据本公开实施例的另一种批量作业中依赖关系漏洞的确定方法的的流程图;
图4示意性示出了根据本公开实施例的一种批量作业中依赖关系漏洞的确定装置的框图;以及
图5示意性示出了根据本公开实施例的适于实现批量作业中依赖关系漏洞的确定方法的电子设备的框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的***”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的***等)。在使用类似于“A、B或C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B或C中至少一个的***”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的***等)。
目前,主机批量应用***由作业控制***控制的批量作业的数量较大,导致批量作业之间的并行关系难以统计。例如,在实际生产中批量作业数量有时候超过了12万个,批量作业在运行中所使用的批量文件的数量超过了100万个,由作业控制***设定的直接依赖关系超过了30万个,间接依赖关系的嵌套层数最多的超过了200层。
批量作业之间的依赖关系可以包括直接依赖关系和间接依赖关系。示例性的,如批量作业A和批量作业B之间具有直接依赖关系,批量作业B和批量作业C之间具有直接依赖关系,则批量作业A和批量作业C之间具有间接依赖关系。间接依赖关系可以理解为两个批量作业之间包括其他批量作业。
此外,依赖关系还可以称为前后项关系。相应的,直接依赖关系可以称为直接前后项关系,间接依赖关系可以称为间接前后项关系。此外,直接依赖关系还可以称为紧邻关系,间接依赖关系还可以称为非紧邻关系。即直接依赖关系、直接前后项关系和紧邻关系可以表示同样的含义。间接依赖关系、间接前后项关系和非紧邻关系可以表示同样的含义。
如果主机批量应用***需要增加功能或者修改功能,则由作业控制***的设定的依赖关系通常也需要进行对应调整。如果作业控制***中所设定的依赖关系存在缺失,即依赖关系存在漏洞,则可能会导致批量作业之间的运行顺序发生错误,而运行顺序的错误可能会导致发生生产问题,如财务数据错误,进而导致人力财力的损失。在实现本公开构思的过程中,发明人发现为解决上述问题,相关技术提供的方式是:由开发人员凭借记忆来调整依赖关系,并通过测试方式对作业控制***所设定的依赖关系的正确性进行验证。
在实现本公开的过程中,发明人发现相关技术中至少存在如下技术问题:开发人员在复杂的主机批量应用***中很难进行有效控制,即在开发环境中难以找到有效手段保证作业控制***设定的依赖关系(即批量作业排程)的正确性。由于批量作业程序运行时间会因程序处理数据量和主机资源情况等变化而变化,即针对相同的数据和相同的批量作业程序,如果主机资源情况不同,则批量作业程序的运行顺序将不同,上述使得通过测试对作业控制***设定的依赖关系进行完整测试在有限时间内是难以完成的,即测试时难以采用有效测试手段实现对依赖关系的完整测试。
为了解决相关技术中所存在的技术问题,实现较为准确地确定作业控制***中设定的依赖关系是否存在漏洞,发明人发现可以从作业库中获取在执行多个批量作业的过程中多个批量作业之间的实际依赖关系,其中,多个批量作业为调用了相同批量文件的作业。可以获取在作业控制***中预先定义的多个批量作业之间的预设依赖关系。在此基础上,可以将多个批量作业之间的预设依赖关系与多个批量作业之间的实际依赖关系进行比较,以得到用于表征作业控制***中的预设依赖关系存在漏洞的可能性的结果。其中,实际依赖关系是执行批量作业所对应的依赖关系,预设依赖关系是作业控制***设定的依赖关系。预设依赖关系存在漏洞的可能性是指预设依赖关系是否存在漏洞。下面将结合具体实施例进行说明。
本公开的实施例提供了一种批量作业中依赖关系漏洞的确定方法、装置以及能够应用该方法的电子设备。该确定方法、装置和电子设备可以用于信息安全领域或金融领域在处理批量作业中依赖关系的漏洞方面,也可以用于除信息安全领域或金融领域之外的任意领域,本公开实施例的确定方法、装置和电子设备的应用领域不作限定。该方法包括获取在执行多个批量作业的过程中多个批量作业之间的实际依赖关系,其中,多个批量作业为调用了相同批量文件的作业,获取在作业控制***中预先定义的多个批量作业之间的预设依赖关系,并根据多个批量作业之间的实际依赖关系和预设依赖关系,确定用于表征预设依赖关系存在漏洞的可能性的结果。
图1示意性示出了根据本公开实施例的可以应用批量作业中依赖关系漏洞的确定方法的示例性***架构100。需要注意的是,图1所示仅为可以应用本公开实施例的***架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、***、环境或场景。
如图1所示,根据该实施例的***架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线和/或无线通信链路等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如银行交易类应用、购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端和/或社交平台软件等(仅为示例)。
终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等。
服务器105可以是提供各种服务的服务器,例如对用户利用终端设备101、102、103所浏览的网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的用户请求等数据进行分析等处理,并将处理结果(例如根据用户请求获取或生成的网页、信息、或数据等)反馈给终端设备。
需要说明的是,本公开实施例所提供的批量作业中依赖关系漏洞的确定方法一般可以由服务器105执行。相应地,本公开实施例所提供的批量作业中依赖关系漏洞的确定装置一般可以设置于服务器105中。本公开实施例所提供的批量作业中依赖关系漏洞的确定方法也可以由不同于服务器105且能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群执行。相应地,本公开实施例所提供的批量作业中依赖关系漏洞的确定装置也可以设置于不同于服务器105且能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
图2示意性示出了根据本公开实施例的一种批量作业中依赖关系漏洞的确定方法的流程图。
如图2所示,该方法包括操作S210~S230。
在操作S210,获取在执行多个批量作业的过程中多个批量作业之间的实际依赖关系,其中,多个批量作业为调用了相同批量文件的作业。
在本公开的实施例中,实际依赖关系可以是指在执行批量作业的过程中,两个批量作业之间的依赖关系,即两个批量作业在执行批量作业的过程中具有依赖关系,可以将这个依赖关系称为实际依赖关系。由于依赖关系可以称为前后项关系,因此,实际依赖关系可以称为实际前后项关系。
可以从作业库中获取在执行多个批量作业的过程中多个批量作业之间的实际依赖关系。其中,多个批量作业是调用了相同批量文件的作业。即可以从作业库中获取与每个批量文件对应的各个批量作业和每个批量作业的访问方式,其中,访问方式为批量作业访问批量文件的方式。可以根据与每个批量文件对应的各个批量作业的访问方式,确定各个批量作业之间的实际依赖关系。
示例性的,如存在批量作业F、批量作业G、批量作业H和批量作业I。作业库包括批量文件1和批量文件2。批量作业F、批量作业G和批量作业H为调用了批量文件1的作业。批量作业H和批量作业I为调用了批量文件2的作业。
批量作业F和批量作业G之间具有实际依赖关系,即批量作业F和批量作业G为具有实际依赖关系的两个批量作业。批量作业H和批量作业I之间具有实际依赖关系,即批量作业H和批量作业I为具有实际依赖关系的两个批量作业。
在操作S220,获取在作业控制***中预先定义的多个批量作业之间的预设依赖关系。
在本公开的实施例中,在作业控制***中预先定义有两个批量作业之间的依赖关系,可以将由作业控制***设定的两个批量作业之间的依赖关系称为预设依赖关系,即两个批量作业在作业控制***中具有依赖关系,可以将这个依赖关系称为预设依赖关系。由于依赖关系可以称为前后项关系,因此,预设依赖关系可以称为预设前后项关系。
在本公开的实施例中,可以确定由作业控制***设定的两个批量作业之间的直接依赖关系,确定具有直接依赖关系的两个批量作业之间的间接依赖关系,根据具有直接依赖关系和具有间接依赖关系,得到两个批量作业之间的预设依赖关系。
示例性的,如作业控制***中设定了批量作业F和批量作业G之间的预设依赖关系,即批量作业F和批量作业G为具有预设依赖关系的两个批量作业。
在操作S230,根据多个批量作业之间的实际依赖关系和预设依赖关系,确定用于表征作业控制***中的预设依赖关系存在漏洞的可能性的结果。
在本公开的实施例中,预设依赖关系存在漏洞的可能性包括预设依赖关系存在漏洞或预设依赖关系不存在漏洞,即预设依赖关系正常。
针对每个实际依赖关系,确定是否存在与该实际依赖关系一致的预设依赖关系。基于此,可以得到与各个实际依赖关系的确定结果,根据各个确定结果,确定作业控制***中的预设依赖关系存在漏洞的可能性的结果。
示例性的,如获取在多个批量作业执行过程的多个批量作业之间的实际依赖关系,其中,批量作业F和批量作业G之间具有实际依赖关系。批量作业H和批量作业I之间具有实际依赖关系。作业控制***中设定了批量作业F和批量作业G之间的预设依赖关系,即批量作业F和批量作业G之间具有预设依赖关系。
在本公开的实施例中,将批量作业F和批量作业G之间的实际依赖关系称为第一实际依赖关系,将批量作业H和批量作业I之间的实际依赖关系称为第二实际依赖关系。
针对第一实际依赖关系,存在与第一实际依赖关系一致的预设依赖关系。针对第二实际依赖关系,不存在与第二实际依赖关系一致的预设依赖关系。由于不存在与第二实际依赖关系一致的预设依赖关系,因此,确定作业控制***中存在具有预设依赖关系的漏洞,该漏洞为缺少与第二实际依赖关系一致的预设依赖关系。
需要说明的是,上述批量作业可以包括存量的批量作业,也可以包括增量的批量作业。
根据本公开实施例的技术方案,通过获取在执行多个批量作业的过程中多个批量作业之间的实际依赖关系,多个批量作业为调用了相同批量文件的作业,获取在作业控制***中预先定义的多个批量作业之间的预设依赖关系,在此基础上,根据多个批量作业之间的实际依赖关系和预设依赖关系,确定用于表征作业控制***中的预设依赖关系存在漏洞的可能性的结果。由于根据多个批量作业之间的实际依赖关系对多个批量作业之间的预设依赖关系进行了验证,因此,实现了较为准确地确定作业控制***中设定的依赖关系是否存在漏洞,因而至少部分地克服了相关技术中难以实现确定作业控制***中设定的依赖关系是否存在漏洞的技术问题。此外,由于根据多个批量作业之间的实际依赖关系对多个批量作业之间的预设依赖关系进行了验证,因此,也解决了较难以通过测试方式对作业控制***所设定的预设依赖关系的正确性进行验证的难题,以及,较难以通过人工方式调整作业控制***中所设定的依赖关系的难题。
可选地,在上述技术方案的基础上,根据多个批量作业之间的实际依赖关系和预设依赖关系,确定用于表征作业控制***中的预设依赖关系存在漏洞的可能性的结果,可以包括:在多个批量作业之间的实际依赖关系和预设依赖关系之间不一致的情况下,确定作业控制***中存在具有漏洞的预设依赖关系。在多个批量作业之间的实际依赖关系和预设依赖关系之间一致的情况下,确定作业控制***中的预设依赖关系正常。
在本公开的实施例中,针对每个实际依赖关系,确定是否存在与该实际依赖关系一致的预设依赖关系。如果不存在与实际依赖关系一致的预设依赖关系,则可以确定作业控制***中存在具有预设依赖关系的漏洞。如果确定各个实际依赖关系,均存在与实际依赖关系一致的预设依赖关系,则可以确定作业控制***的预设依赖关系正常。
可选地,在上述技术方案的基础上,在多个批量作业之间的实际依赖关系和预设依赖关系之间不一致的情况下,该方法还可以包括:将与具有漏洞的预设依赖关系对应的目标批量作业存储至存疑数据表。在本公开的实施例中,在确定作业控制***中存在具有漏洞的预设依赖关系的情况下,还可以将与具有漏洞的预设依赖关系对应的批量作业作为目标批量作业存储至存疑数据表,以便于后续确定目标批量作业不具有预设依赖关系是否正常。
目标批量作业是指与具有漏洞的预设依赖关系对应的两个批量作业,其中,具有漏洞的预设依赖关系是指不存在与实际依赖关系一致的预设依赖关系。目标批量作业的个数可能为多个。
示例性的,如批量作业F和批量作业G之间具有实际依赖关系。批量作业G和批量作业H之间具有实际依赖关系。批量作业H和批量作业I之间具有实际依赖关系。作业控制***中设定了批量作业F和批量作业G之间的预设依赖关系,即批量作业F和批量作业G之间具有预设依赖关系。
将批量作业F和批量作业G之间的实际依赖关系称为第一实际依赖关系,将批量作业H和批量作业I之间的实际依赖关系称为第二实际依赖关系,将批量作业G和批量作业H之间的实际依赖关系称为第三实际依赖关系。
针对第一实际依赖关系,存在与第一实际依赖关系一致的预设依赖关系。针对第二实际依赖关系,不存在与第二实际依赖关系一致的预设依赖关系。针对第三实际依赖关系,不存在与第三实际依赖关系一致的预设依赖关系。由于不存在与第二实际依赖关系一致的预设依赖关系,以及,与第三实际依赖关系一致的预设依赖关系,因此,确定作业控制***中存在具有预设依赖关系的漏洞,该漏洞为缺少与第二实际依赖关系一致的预设依赖关系,以及,缺少与第三实际依赖关系一致的预设依赖关系。
将不存在与第二实际依赖关系一致的预设依赖关系对应的两个批量作业作为目标批量作业,即目标批量作业为批量作业H和批量作业I,以及,将不存在与第三实际依赖关系一致的预设依赖关系对应的两个批量作业作为目标批量作业,即目标批量作业为批量作业G和批量作业H。
将批量作业H和批量作业I存储至存疑数据表,以及,将批量作业G和批量作业H存储至存疑数据表。
可选地,在上述技术方案的基础上,在将与具有漏洞的预设依赖关系对应的目标批量作业存储至存疑数据表之后,该方法还可以包括:获取在作业控制***中为目标批量作业中每个批量作业设定的访问时间。在目标批量作业中每个批量作业设定的访问时间不同的情况,确定作业控制***中与目标批量作业对应的预设依赖关系正常。
在本公开的实施例中,在主机批量应用***的开发中,允许不同访问时间的批量作业使用相同的批量文件。
在上述条件下,如果不存在与实际依赖关系一致的预设依赖关系,而这个实际依赖关系中的两个批量作业的访问时间不同,则可以确定作业控制***中满足上述条件的具有漏洞的预设依赖关系为正常的预设依赖关系。
针对目标批量作业,可以获取在作业控制***中为目标批量作业中每个批量作业设定的访问时间。如果目标批量作业中两个批量作业的访问时间不同,则可以确定作业控制***中与目标批量作业对应的预设依赖关系正常。
示例性的,如将批量作业H和批量作业I存储至存疑数据表,以及,将批量作业G和批量作业H存储至存疑数据表。其中,批量作业G的访问时间为日间时间,批量作业H的访问时间为日间时间,批量作业I的访问时间为日终时间。
由于目标批量作业中的批量作业G和批量作业H的访问时间相同,因此,批量作业G和批量作业H之间需要设定预设依赖关系。由于批量作业G和批量作业H之间需要设定预设依赖关系,因此,与批量作业G和批量作业H对应的预设依赖关系为具有漏洞的预设依赖关系。
由于目标批量作业中的批量作业H和批量作业I的访问时间不同,因此,批量做作业H和批量作业I之间的预设依赖关系正常。
可选地,在上述技术方案的基础上,在将与具有漏洞的预设依赖关系对应的目标批量作业存储至存疑数据表之后,还可以包括:在目标批量作业为无效批量作业的情况下,确定作业控制***中与目标批量作业对应的预设依赖关系正常。
在本公开的实施例中,针对某个实际依赖关系,如果该实际依赖关系为无效依赖关系,即具有实际依赖关系的两个批量作业为无效作业,则如果不存在与该实际依赖关系一致的预设依赖关系,则可以说明该预设依赖关系并不是作业***中存在漏洞的预设依赖关系,作业***中不存在该预设依赖关系是正常的。
示例性的,如将批量作业H和批量作业I存储至存疑数据表,以及,将批量作业G和批量作业H存储至存疑数据表。其中,批量作业G、批量作业H和批量作业I为无效批量作业。
由于目标批量作业中的批量作业G和批量作业H为无效批量作业,因此,批量作业G和批量作业H之间的预设依赖关系正常。同样的,批量作业H和批量作业I之间的预设依赖关系正常。
可选地,在上述技术方案的基础上,在将与具有漏洞的预设依赖关系对应的目标批量作业存储至存疑数据表之后,还可以包括:确定与目标批量作业对应的批量文件。在与目标批量作业对应的批量文件为无效批量文件的情况下,确定作业控制***中与目标批量作业对应的预设依赖关系正常。
在本公开的实施例中,针对某个实际依赖关系,如果与该实际依赖关系对应的两个批量作业所访问的批量文件是无效批量文件,则可以说明该预设依赖关系并不是作业控制***存在漏洞的预设依赖关系,作业***中不存在该预设依赖关系是正常的。即确定与目标批量作业对应的批量文件。在与目标批量作业对应的批量文件为无效批量文件的情况下,确定作业控制***中与目标批量作业对应的预设依赖关系正常。
示例性的,如将批量作业H和批量作业I存储至存疑数据表,以及,将批量作业G和批量作业H存储至存疑数据表。其中,与批量作业H和批量作业I对应的批量文件为批量文件2,与批量作业G和批量作业H对应的批量文件为批量文件1。批量文件1为无效批量文件,批量文件2为有效批量文件。
由于与批量作业G和批量作业H对应的批量文件1为无效批量文件,因此,批量作业G和批量作业H之间的预设依赖关系正常。
由于与批量作业H和批量作业I对应的批量文件2为有效批量文件,因此,批量作业H和批量作业I之间需要设定预设依赖关系。由于批量作业H和批量作业I之间需要设定预设依赖关系,因此,与批量作业H和批量作业I对应的预设依赖关系为具有漏洞的预设依赖关系。
可选地,在上述技术方案的基础上,获取在执行多个批量作业的过程中多个批量作业之间的实际依赖关系,可以包括:获取与每个批量作业对应的访问方式。根据与每个批量作业对应的访问方式确定多个批量作业之间的实际依赖关系。
在本公开的实施例中,为了获取批量作业之间的实际依赖关系,可以采用基于批量文件的方式。
可以获取与每个批量文件对应的各个批量作业和每个批量作业的访问方式,访问方式为批量作业访问批量文件的方式。访问方式可以包括读方式、写方式或修改方式。
根据与每个批量文件对应的各个批量作业的访问方式,确定多个批量作业之间的实际依赖关系,即针对每个批量文件,根据对应于该批量文件的各个批量作业的访问方式,确定多个批量作业之间的实际依赖关系。
可选地,在上述技术方案的基础上,根据与每个批量作业对应的访问方式确定多个批量作业之间的实际依赖关系,可以包括:在两个批量作业的访问方式至少之一为写方式或修改方式的情况下,确定两个批量作业为具有实际依赖关系。
在本公开的实施例中,如果对应于同一批量文件的两个批量作业的访问方式至少之一为写方式或修改方式,则上述两个批量作业之间应该具有实际依赖关系,这是由于访问方式为写方式或修改方式,批量文件都将发生改变,因此,如果对应于同一批量文件的两个批量作业的访问方式至少之一为写方式或修改方式,则批量文件将出现错误。在上述情况下,上述两个批量作业之间应该具有实际依赖关系。
可以根据对应于同一批量文件的两个批量作业的访问方式至少一种是否为写方式或修改方式,确定两个批量作业之间是否具有实际依赖关系,即如果对应于同一批量文件的两个批量作业的访问方式至少之一为写方式或修改方式,则可以确定两个批量作业之间具有实际依赖关系。如果对应于同一批量文件的两个批量作业的访问方式均为读方式,则可以确定两个批量作业之间不具有实际依赖关系。针对对应于同一批量文件的两个批量作业的访问方式至少之一为写方式或修改方式,可以包括:两个批量作业的访问方式均为写方式;或者,两个批量作业的访问方式均为修改方式;或者,一个批量作业的方式方式为写方式,另一个批量作业的访问方式为修改方式;或者,一个批量作业的访问方式为读方式,另一个批量作业的访问方式为写方式;或者,一个批量作业的访问方式为读方式,另一个批量作业的访问方式为修改方式。
示例性的,如存在批量作业F、批量作业G、批量作业H和批量作业I。批量作业F的访问方式为写方式,批量作业G的访问方式为读方式,批量作业H的访问方式为读方式,批量作业I的访问方式为修改方式。批量作业作业库包括批量文件1和批量文件2。批量作业F、批量作业G和批量作业H为调用了批量文件1的作业。批量作业H和批量作业I为调用了批量文件2的作业。
针对批量文件1,由于批量作业F的访问方式为写方式,批量作业G的访问方式为读方式,因此,批量作业F和批量作业G具有实际依赖关系。由于批量作业F的访问方式为写方式,批量作业H的访问方式为读方式,因此,批量作业F和批量作业H具有实际依赖关系。由于批量作业G的访问方式为读方式,批量作业H的访问方式为读方式,因此,批量作业G和批量作业H不具有实际依赖关系。
针对批量文件2,由于批量作业H的访问方式为读方式,批量作业I的访问方式为修改方式,因此,批量作业H和批量作业I具有实际依赖关系。
可选地,在上述技术方案的基础上,获取在作业控制***中预先定义的多个批量作业之间的预设依赖关系,可以包括:确定在作业控制***中设定的两个批量作业之间的直接依赖关系。确定在作业控制***中设定的两个批量作业之间的间接依赖关系,其中,间接依赖关系表征两个批量作业之间包括其他批量作业。根据直接依赖关系和间接依赖关系得到两个批量作业之间的预设依赖关系。
在本公开的实施例中,为了获取在作业控制***中预先设定的多个批量作业之间的预设依赖关系,可以确定由作业控制***设定的两个批量作业之间的直接依赖关系,确定由作业控制***设定的两个批量作业之间的间接依赖关系。在此基础上,可以根据直接依赖关系和间接依赖关系得到两个批量作业之间的预设依赖关系。
需要说明的是,两个批量作业之间的预设依赖关系是一个递归关系。相应的,确定两个批量作业之间的预设依赖关系问题是一个递归问题。在获取在作业控制***中预先设定的多个批量作业之间的预设依赖关系时,还需要考虑由求解递归问题所导致的***开销大以及效率不高的问题。
针对该问题,本公开实施例提出了一种采用线性算法实现对递归问题的求解。即定义二维数组JOBPRE(序号,批量作业名称),顺读joblist1,将批量作业的前项赋值到二维数组JOBPRE,将批量作业在二维数组JOBPRE的序号赋值给数组TMPPRE1(批量作业名称),再顺读二维数组JOBPRE,获取由作业控制***设定的多个批量作业之间的预设依赖关系,预设依赖关系包括直接依赖关系和间接依赖关系。
需要说明的是,本公开实施例还提供查询功能,该查询功能用于查询两个批量作业间在作业控制***中是否存在预设依赖。在测试中使用该查询功能进行回归测试,简化了通过作业控制***进行查询和人工搜索的操作。此外,还可以将查询结果进行显示并存储至对应的文件中。
还需要说明的是,本公开实施例所提供的技术方案适用于所有主机***,主机***可以包括对公***、个人***和海外***等。
图3示意性示出了根据本公开实施例的另一种批量作业中依赖关系漏洞的确定方法的流程图。
如图3所示,该方法包括操作S301~S315。
在操作S301,获取与每个批量作业对应的访问方式。
在操作S302,两个批量作业的访问方式至少之一是否为写方式或修改方式;若是,则执行操作S303;若否,则执行操作S304。
在操作S303,两个批量作业为具有实际依赖关系。
在操作S304,两个批量作业为不具有实际依赖关系。
在操作S305,确定在作业控制***中设定的两个批量作业之间的直接依赖关系。
在操作S306,确定在作业控制***中设定的两个批量作业之间的间接依赖关系,其中,间接依赖关系表征两个批量作业之间包括其他批量作业。
在操作S307,根据直接依赖关系和间接依赖关系得到两个批量作业之间的预设依赖关系。
在操作S308,多个批量作业之间的实际依赖关系和预设依赖关系是否一致;若是,则执行操作S309;若否,则执行操作S310。
在操作S309,作业控制***中存在具有漏洞的预设依赖关系,并执行操作S311。
在操作S310,作业控制***中的预设依赖关系正常。
在操作S311,将与具有漏洞的预设依赖关系对应的目标批量作业存储至存疑数据表。
在操作S312,获取在作业控制***中为目标批量作业中每个批量作业设定的访问时间。
在操作S313,目标批量作业中每个批量作业设定的访问时间是否不同;若是,则执行操作S314;若否,则执行操作S315。
在操作S314,作业控制***中与目标批量作业对应的预设依赖关系正常。
在操作S315,作业控制***中具有漏洞的预设依赖关系。
在本公开的实施例中,采用本公开实施例所提供的技术方案,针对第一版本的批量作业,发现作业控制***中存在35个预设依赖关系的漏洞。针对第二版本的批量作业,发现作业控制***中存在46个预设依赖关系的漏洞,漏洞的命中率超过了70%;
根据本公开实施例的技术方案,通过获取在执行多个批量作业的过程中多个批量作业之间的实际依赖关系,多个批量作业为调用了相同批量文件的作业,获取在作业控制***中预先定义的多个批量作业之间的预设依赖关系,在此基础上,根据多个批量作业之间的实际依赖关系和预设依赖关系,确定用于表征作业控制***中的预设依赖关系存在漏洞的可能性的结果。由于根据多个批量作业之间的实际依赖关系对多个批量作业之间的预设依赖关系进行了验证,因此,实现了较为准确地确定作业控制***中设定的依赖关系是否存在漏洞,因而至少部分地克服了相关技术中难以实现确定作业控制***中设定的依赖关系是否存在漏洞的技术问题。此外,由于根据多个批量作业之间的实际依赖关系对多个批量作业之间的预设依赖关系进行了验证,因此,也解决了较难以通过测试方式对作业控制***所设定的预设依赖关系的正确性进行验证的难题,以及,较难以通过人工方式调整作业控制***中所设定的依赖关系的难题。
图4示意性示出了根据本公开的实施例的一种批量作业中依赖关系漏洞的确定装置的框图。
如图4所示,确定装置400可以包括第一获取模块410、第二获取模块420和第一确定模块430。
第一获取模块410、第二获取模块420和第一确定模块430通信连接。
第一获取模块410,用于获取在执行多个批量作业的过程中多个批量作业之间的实际依赖关系,其中,多个批量作业为调用了相同批量文件的作业。
第二获取模块420,用于获取在作业控制***中预先定义的多个批量作业之间的预设依赖关系。
第一确定模块430,用于根据多个批量作业之间的实际依赖关系和预设依赖关系,确定用于表征作业控制***中的预设依赖关系存在漏洞的可能性的结果。
根据本公开实施例的技术方案,通过获取在执行多个批量作业的过程中多个批量作业之间的实际依赖关系,多个批量作业为调用了相同批量文件的作业,获取在作业控制***中预先定义的多个批量作业之间的预设依赖关系,在此基础上,根据多个批量作业之间的实际依赖关系和预设依赖关系,确定用于表征作业控制***中的预设依赖关系存在漏洞的可能性的结果。由于根据多个批量作业之间的实际依赖关系对多个批量作业之间的预设依赖关系进行了验证,因此,实现了较为准确地确定作业控制***中设定的依赖关系是否存在漏洞,因而至少部分地克服了相关技术中难以实现确定作业控制***中设定的依赖关系是否存在漏洞的技术问题。此外,由于根据多个批量作业之间的实际依赖关系对多个批量作业之间的预设依赖关系进行了验证,因此,也解决了较难以通过测试方式对作业控制***所设定的预设依赖关系的正确性进行验证的难题,以及,较难以通过人工方式调整作业控制***中所设定的依赖关系的难题。
可选地,在上述技术方案的基础上,第一确定模块430可以包括第一确定子模块和第二确定子模块。
第一确定子模块,用于在多个批量作业之间的实际依赖关系和预设依赖关系之间不一致的情况下,确定作业控制***中存在具有漏洞的预设依赖关系。
第二确定子模块,用于在多个批量作业之间的实际依赖关系和预设依赖关系之间一致的情况下,确定作业控制***中的预设依赖关系正常。
可选地,在上述技术方案的基础上,在多个批量作业之间的实际依赖关系和预设依赖关系之间不一致的情况下,还可以包括:
将与具有漏洞的预设依赖关系对应的目标批量作业存储至存疑数据表。
可选地,在上述技术方案的基础上,该确定装置400还可以包括第三获取模块和第二确定模块。
第三获取模块,用于获取在作业控制***中为目标批量作业中每个批量作业设定的访问时间。
第二确定模块,用于在目标批量作业中每个批量作业设定的访问时间不同的情况下,确定作业控制***中与目标批量作业对应的预设依赖关系正常。
可选地,在上述技术方案的基础上,该确定装置400还可以包括第三确定模块。
第三确定模块,用于在目标批量作业为无效批量作业的情况下,确定作业控制***中与目标批量作业对应的预设依赖关系正常。
可选地,在上述技术方案的基础上,该确定装置400还可以包括第四确定模块和第五确定模块。
第四确定模块,用于确定与目标批量作业对应的批量文件。
第五确定模块,用于在与目标批量作业对应的批量文件为无效批量文件的情况下,确定作业控制***中与目标批量作业对应的预设依赖关系正常。
可选地,在上述技术方案的基础上,第一获取模块410可以包括获取子模块和第三确定子模块。
获取子模块,用于获取与每个批量作业对应的访问方式。
第三确定子模块,用于根据与每个批量作业对应的访问方式确定多个批量作业之间的实际依赖关系。
可选地,在上述技术方案的基础上,第三确定子模块可以包括确定单元。
确定单元,用于在两个批量作业的访问方式至少之一为写方式或修改方式的情况下,确定两个批量作业为具有实际依赖关系。
可选地,在上述技术方案的基础上,第二获取模块420可以包括第四确定子模块、第五确定子模块和生成子模块。
第四确定子模块,用于确定在作业控制***中设定的两个批量作业之间的直接依赖关系。
第五确定子模块,用于确定在作业控制***中设定的两个批量作业之间的间接依赖关系,其中,间接依赖关系表征两个批量作业之间包括其他批量作业。
生成子模块,用于根据直接依赖关系和间接依赖关系得到两个批量作业之间的预设依赖关系。
根据本公开的实施例的模块、子模块、单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(Field ProgrammableGate Array,FPGA)、可编程逻辑阵列(Programmable Logic Arrays,PLA)、片上***、基板上的***、封装上的***、专用集成电路(Application Specific Integrated Circuit,ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
例如,第一获取模块410、第二获取模块420和第一确定模块430中的任意多个可以合并在一个模块/单元中实现,或者其中的任意一个模块/单元可以被拆分成多个模块/单元/子单元。或者,这些模块/单元中的一个或多个模块/单元的至少部分功能可以与其他模块/单元的至少部分功能相结合,并在一个模块/单元/中实现。根据本公开的实施例,第一获取模块410、第二获取模块420和第一确定模块430中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上***、基板上的***、封装上的***、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,第一获取模块410、第二获取模块420和第一确定模块430中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
需要说明的是,本公开的实施例中批量作业中依赖关系漏洞的确定装置部分与本公开的实施例中批量作业中依赖关系漏洞的确定方法部分是相对应的,批量作业中依赖关系漏洞的确定装置部分的描述具体参考批量作业中依赖关系漏洞的确定方法部分,在此不再赘述。
图5示意性示出了根据本公开实施例的适于实现上文描述的方法的电子设备的框图。图5示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图5所示,根据本公开实施例的电子设备500包括处理器501,其可以根据存储在只读存储器(Read-Only Memory,ROM)502中的程序或者从存储部分508加载到随机访问存储器(Random Access Memory,RAM)503中的程序而执行各种适当的动作和处理。处理器501例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器501还可以包括用于缓存用途的板载存储器。处理器501可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
在RAM 503中,存储有电子设备500操作所需的各种程序和数据。处理器501、ROM502以及RAM 503通过总线504彼此相连。处理器501通过执行ROM 502和/或RAM 503中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除ROM502和RAM 503以外的一个或多个存储器中。处理器501也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。
根据本公开的实施例,***500还可以包括输入/输出(I/O)接口505,输入/输出(I/O)接口505也连接至总线504。***500还可以包括连接至I/O接口505的以下部件中的一项或多项:包括键盘、鼠标等的输入部分506;包括诸如阴极射线管(CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分507;包括硬盘等的存储部分508;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分509。通信部分509经由诸如因特网的网络执行通信处理。驱动器510也根据需要连接至I/O接口505。可拆卸介质511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器510上,以便于从其上读出的计算机程序根据需要被安装入存储部分508。
根据本公开的实施例,根据本公开实施例的方法流程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分509从网络上被下载和安装,和/或从可拆卸介质511被安装。在该计算机程序被处理器501执行时,执行本公开实施例的***中限定的上述功能。根据本公开的实施例,上文描述的***、设备、装置、模块、单元等可以通过计算机程序模块来实现。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/***中所包含的;也可以是单独存在,而未装配入该设备/装置/***中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质。例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM(Erasable Programmable Read Only Memory)或闪存)、便携式紧凑磁盘只读存储器(Computer Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。
例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的ROM 502和/或RAM 503和/或ROM 502和RAM 503以外的一个或多个存储器。
附图中的流程图和框图,图示了按照本公开各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。
Claims (11)
1.一种批量作业中依赖关系漏洞的确定方法,包括:
获取在执行多个批量作业的过程中所述多个批量作业之间的实际依赖关系,其中,所述多个批量作业为调用了相同批量文件的作业;
获取在作业控制***中预先定义的所述多个批量作业之间的预设依赖关系;以及
根据所述多个批量作业之间的实际依赖关系和所述预设依赖关系,确定用于表征所述作业控制***中的预设依赖关系存在漏洞的可能性的结果;
其中,所述根据所述多个批量作业之间的实际依赖关系和所述预设依赖关系,确定用于表征所述作业控制***中的预设依赖关系存在漏洞的可能性的结果,包括:
在所述多个批量作业之间的实际依赖关系和所述预设依赖关系之间不一致的情况下,确定所述作业控制***中存在具有漏洞的预设依赖关系;
其中,在所述多个批量作业之间的实际依赖关系和所述预设依赖关系之间不一致的情况下,所述方法还包括:
将与所述具有漏洞的预设依赖关系对应的目标批量作业存储至存疑数据表。
2.根据权利要求1所述的方法,其中,所述根据所述多个批量作业之间的实际依赖关系和所述预设依赖关系,确定用于表征所述作业控制***中的预设依赖关系存在漏洞的可能性的结果,还包括:
在所述多个批量作业之间的实际依赖关系和所述预设依赖关系之间一致的情况下,确定所述作业控制***中的预设依赖关系正常。
3.根据权利要求1所述的方法,其中,在所述将与所述具有漏洞的预设依赖关系对应的目标批量作业存储至存疑数据表之后,还包括:
获取在所述作业控制***中为所述目标批量作业中每个批量作业设定的访问时间;以及
在所述目标批量作业中每个批量作业设定的访问时间不同的情况下,确定所述作业控制***中与所述目标批量作业对应的预设依赖关系正常。
4.根据权利要求1所述的方法,其中,在所述将与所述具有漏洞的预设依赖关系对应的目标批量作业存储至存疑数据表之后,还包括:
在所述目标批量作业为无效批量作业的情况下,确定所述作业控制***中与所述目标批量作业对应的预设依赖关系正常。
5.根据权利要求1所述的方法,其中,在所述将与所述具有漏洞的预设依赖关系对应的目标批量作业存储至存疑数据表之后,还包括:
确定与所述目标批量作业对应的批量文件;以及
在与所述目标批量作业对应的批量文件为无效批量文件的情况下,确定所述作业控制***中与所述目标批量作业对应的预设依赖关系正常。
6.根据权利要求1~5中任一项所述的方法,其中,所述获取在执行多个批量作业的过程中所述多个批量作业之间的实际依赖关系,包括:
获取与每个批量作业对应的访问方式;以及
根据与每个批量作业对应的访问方式确定所述多个批量作业之间的实际依赖关系。
7.根据权利要求1~5中任一项所述的方法,其中,所述根据与每个批量作业对应的访问方式确定所述多个批量作业之间的实际依赖关系,包括:
在两个所述批量作业的访问方式至少之一为写方式或修改方式的情况下,确定两个所述批量作业为具有实际依赖关系。
8.根据权利要求1~5中任一项所述的方法,其中,所述获取在作业控制***中预先定义的所述多个批量作业之间的预设依赖关系,包括:
确定在所述作业控制***中设定的两个批量作业之间的直接依赖关系;
确定在所述作业控制***中设定的所述两个批量作业之间的间接依赖关系,其中,所述间接依赖关系表征所述两个批量作业之间包括其他批量作业;以及
根据所述直接依赖关系和所述间接依赖关系得到所述两个批量作业之间的预设依赖关系。
9.一种批量作业中依赖关系漏洞的确定装置,包括:
第一获取模块,用于获取在执行多个批量作业的过程中所述多个批量作业之间的实际依赖关系,其中,所述多个批量作业为调用了相同批量文件的作业;
第二获取模块,用于获取在作业控制***中预先定义的所述多个批量作业之间的预设依赖关系;以及
第一确定模块,用于根据所述多个批量作业之间的实际依赖关系和所述预设依赖关系,确定用于表征所述作业控制***中的预设依赖关系存在漏洞的可能性的结果;
其中,所述第一确定模块,包括:
第一确定子模块,用于在所述多个批量作业之间的实际依赖关系和所述预设依赖关系之间不一致的情况下,确定所述作业控制***中存在具有漏洞的预设依赖关系;
其中,在所述多个批量作业之间的实际依赖关系和所述预设依赖关系之间不一致的情况下,还包括:
将与所述具有漏洞的预设依赖关系对应的目标批量作业存储至存疑数据表。
10.一种电子设备,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现权利要求1~8中任一项所述的方法。
11.一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器实现权利要求1~8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010754824.3A CN111859403B (zh) | 2020-07-30 | 2020-07-30 | 依赖关系漏洞的确定方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010754824.3A CN111859403B (zh) | 2020-07-30 | 2020-07-30 | 依赖关系漏洞的确定方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111859403A CN111859403A (zh) | 2020-10-30 |
CN111859403B true CN111859403B (zh) | 2023-09-05 |
Family
ID=72946528
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010754824.3A Active CN111859403B (zh) | 2020-07-30 | 2020-07-30 | 依赖关系漏洞的确定方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111859403B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112596878A (zh) * | 2020-12-24 | 2021-04-02 | 上海艾融软件股份有限公司 | 一种批量处理方法、装置及电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109359949A (zh) * | 2018-10-30 | 2019-02-19 | 中国建设银行股份有限公司 | 流程展示方法和装置 |
CN110287052A (zh) * | 2019-06-25 | 2019-09-27 | 深圳前海微众银行股份有限公司 | 一种异常任务的根因任务确定方法及装置 |
CN110333932A (zh) * | 2019-06-13 | 2019-10-15 | 上海金融期货信息技术有限公司 | 基于容器云技术的服务编排与依赖关系管理方法和*** |
CN110543356A (zh) * | 2019-09-11 | 2019-12-06 | 深圳前海微众银行股份有限公司 | 异常任务检测方法、装置、设备及计算机存储介质 |
CN111310998A (zh) * | 2020-02-13 | 2020-06-19 | 中国工商银行股份有限公司 | 关键路径的生成方法、装置、电子设备和介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2018217230B2 (en) * | 2017-08-14 | 2020-06-25 | Tata Consultancy Services Limited | Automated system for optimizing batch processing time |
-
2020
- 2020-07-30 CN CN202010754824.3A patent/CN111859403B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109359949A (zh) * | 2018-10-30 | 2019-02-19 | 中国建设银行股份有限公司 | 流程展示方法和装置 |
CN110333932A (zh) * | 2019-06-13 | 2019-10-15 | 上海金融期货信息技术有限公司 | 基于容器云技术的服务编排与依赖关系管理方法和*** |
CN110287052A (zh) * | 2019-06-25 | 2019-09-27 | 深圳前海微众银行股份有限公司 | 一种异常任务的根因任务确定方法及装置 |
CN110543356A (zh) * | 2019-09-11 | 2019-12-06 | 深圳前海微众银行股份有限公司 | 异常任务检测方法、装置、设备及计算机存储介质 |
CN111310998A (zh) * | 2020-02-13 | 2020-06-19 | 中国工商银行股份有限公司 | 关键路径的生成方法、装置、电子设备和介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111859403A (zh) | 2020-10-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5985631B2 (ja) | 信頼レベルのアクティブ化 | |
US11561889B2 (en) | Orchestration for automated performance testing | |
WO2017166447A1 (zh) | 内核模块加载方法和装置 | |
US9325717B1 (en) | Web-store restriction of external libraries | |
US9218177B2 (en) | Techniques to optimize upgrade tasks | |
US10831458B2 (en) | Latency-aware host-agnostic runtime | |
US11526431B2 (en) | Systems and methods for automated provisioning of a virtual mainframe test environment | |
US10656939B2 (en) | Modeling lifetime of hybrid software application using application manifest | |
CN111782988B (zh) | 确定应用程序来源的方法、装置、计算机***和存储介质 | |
CN111859403B (zh) | 依赖关系漏洞的确定方法、装置、电子设备及存储介质 | |
CN111859077A (zh) | 数据处理方法、装置、***、计算机可读存储介质 | |
CN113132400A (zh) | 业务处理方法、装置、计算机***及存储介质 | |
CN113362173A (zh) | 防重机制验证方法、验证***、电子设备及存储介质 | |
CN111930629A (zh) | 页面测试方法、装置、电子设备及存储介质 | |
CN112506781B (zh) | 测试监控方法、装置、电子设备、存储介质及程序产品 | |
CN114253599A (zh) | 版本部署方法、版本部署装置、电子设备和存储介质 | |
CN113535590A (zh) | 程序测试方法和装置 | |
CN114116509A (zh) | 程序分析方法、装置、电子设备和存储介质 | |
CN114035864A (zh) | 接口处理方法、接口处理装置、电子设备和存储介质 | |
CN112988604A (zh) | 对象测试方法、测试***、电子设备及可读存储介质 | |
CN113176907A (zh) | 接口数据调用方法、装置、计算机***及可读存储介质 | |
CN112579282A (zh) | 数据处理方法、装置、***、计算机可读存储介质 | |
US20140282401A1 (en) | Composite program history | |
CN110704320A (zh) | 控件操作方法及装置 | |
EP4231140A1 (en) | Collective application portfolio migration control |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |