CN114035969A - 一种分布式块存储多路径iscsi锁的实现方法、***及设备 - Google Patents
一种分布式块存储多路径iscsi锁的实现方法、***及设备 Download PDFInfo
- Publication number
- CN114035969A CN114035969A CN202111268261.8A CN202111268261A CN114035969A CN 114035969 A CN114035969 A CN 114035969A CN 202111268261 A CN202111268261 A CN 202111268261A CN 114035969 A CN114035969 A CN 114035969A
- Authority
- CN
- China
- Prior art keywords
- iscsi
- lock
- information
- current
- storage cluster
- 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 35
- 230000006870 function Effects 0.000 claims description 7
- 238000012545 processing Methods 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 5
- 230000002159 abnormal effect Effects 0.000 abstract description 2
- 230000009286 beneficial effect Effects 0.000 abstract description 2
- 230000002688 persistence Effects 0.000 abstract description 2
- 230000000694 effects Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000002085 persistent effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
- G06F9/524—Deadlock detection or avoidance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0632—Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Hardware Redundancy (AREA)
Abstract
本申请公开了一种分布式块存储多路径ISCSI锁的实现方法,所述方法包括:当前ISCSI服务端基于接收的ISCSI连接请求,进行初始化操作;通过ISCSI客户端进行锁操作,更新内存中的锁信息,并将锁信息同步保存至分布式存储集群中;将发生更新的锁信息与文件数据发送至存储集群的其余ISCSI服务端,其余ISCSI服务端进行数据同步操作。本方法一方面实现了多节点间SCSI锁信息同步,另一方面实现了数据持久化,此外,还进行异常状态监控,当服务端故障时,正常服务端不在将消息同步至故障节点,从而提高了***的易用性与可靠性。本申请还公开了一种分布式块存储多路径ISCSI锁的实现***、设备及计算机可读存储介质,具有以上有益效果。
Description
技术领域
本发明涉及计算机领域,具体来说涉及一种分布式块存储多路径ISCSI锁的实现方法、***及设备。
背景技术
分布式存储***是将数据分散存储在多***立的设备上。传统的网络存储***采用集中的存储服务器存放所有数据,存储服务器是数据可靠性和安全性的焦点,同时也成为***性能发展的瓶颈,而随着数据存储量的不断增加,集中式网络存储***已经不能满足大规模存储应用的需要。分布式网络存储***采用可扩展的***结构,利用多台存储服务器分担存储负荷,不但提高了***的可靠性、可用性和存取效率,还具备易于扩展的特性。
SCSI锁一般用于多客户端访问同一物理设备时访问权限的控制,简单来说,即有相应权限的客户端可以访问,没有权限的客户端需要进行抢占或者等待,直至有权限的客户端主动释放后才可获取权限进行访问。对于分布式***来说,一般采用多路径技术提高数据的吞吐量与可靠性,而对于分布式***的SCSI锁来说,由于多条链路上均可能收到SCSI命令,如何进行数据同步是现有技术中面临的主要问题。
发明内容
本发明的目的在于提供一种分布式块存储多路径ISCSI锁的实现方法、***及设备,将不同的动作序列分别通过不同的节点执行,实现多节点间SCSI锁信息同步。
为实现上述目的,本发明公开了如下技术方案:
本发明一方面提供一种分布式块存储多路径ISCSI锁的实现方法,所述方法包括以下步骤:
基于接收的ISCSI连接请求,当前ISCSI服务端进行初始化操作;
通过ISCSI客户端进行锁操作,更新内存中的锁信息,并将锁信息同步保存至分布式存储集群中;
锁信息保存完成后,将发生更新的锁信息与文件数据发送至存储集群的其余ISCSI服务端,其余ISCSI服务端进行数据同步操作。
基于上述方案,进一步的,所述当前ISCSI服务端进行初始化操作,包括下述步骤:
接收ISCSI连接请求后,当前ISCSI服务端注册相应的处理函数;
当前ISCSI服务端读取分布式存储集群中对应每个LUN的SCSI锁信息,并更新至内存中。
进一步的,所述锁信息保存完成后,将发生更新的锁信息与文件数据发送至存储集群的其余ISCSI服务端,其余ISCSI服务端进行数据同步操作,包括下述步骤:
在数据锁信息保存完成后,将发生更新的锁信息与文件数据发送至存储集群的其余ISCSI服务端;
其余ISCSI服务端进行数据同步操作,同步操作成功的ISCSI服务端向当前服务端返回成功消息;同步操作失败的ISCSI服务端向当前服务端返回失败消息。
进一步的,如上所述的一种分布式块存储多路径ISCSI锁的实现方法,若检测到服务端与客户端之间存在节点异常时,则故障节点自动断开,服务端停止服务。
本发明另一方面提供一种分布式块存储多路径ISCSI锁的实现***,所述***包括客户端和存储集群;
所述客户端向存储集群发送ISCSI连接请求,并当存储集群的当前ISCSI服务端初始化后进行锁操作,更新内存中的锁信息,并将锁信息同步保存至存储集群中;
所述存储集群的当前ISCSI服务端接收客户端发送的ISCSI连接请求后进行初始化操作,并在锁信息更新保存完成后,将更新的锁信息与文件数据发送至存储集群的其余ISCSI服务端,其余ISCSI服务端进行数据同步操作。
基于上述***,进一步的,所述存储集群的当前ISCSI服务端进行初始化操作,包括:当前ISCSI服务端接收客户端发送的ISCSI连接请求后,注册相应的处理函数,以及读取分布式存储集群中对应每个LUN的SCSI锁信息并更新至内存中。
进一步的,所述存储集群的其余ISCSI服务端进行数据同步操作,同步操作成功的ISCSI服务端向当前服务端返回成功消息;同步操作失败的ISCSI服务端向向当前服务端返回失败消息。
本发明还提供一种分布式块存储多路径ISCSI锁的实现设备,所述设备包括:至少一个处理器,以及与所述处理器通信连接的至少一个存储器;
所述存储器存储有可在处理器上运行的程序指令;
所述处理器调用所述程序指令能够执行如第一方面所述的一种分布式块存储多路径ISCSI锁的实现方法的步骤。
此外,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的一种分布式块存储多路径ISCSI锁的实现方法的步骤。
发明内容中提供的效果仅仅是实施例的效果,而不是发明所有的全部效果,上述技术方案中的一个技术方案具有如下优点或有益效果:
本申请实施例提供的一种分布式块存储多路径ISCSI锁的实现方法,首先当前ISCSI服务端基于接收的ISCSI连接请求,进行初始化操作;然后通过ISCSI客户端进行锁操作,更新内存中的锁信息,并将锁信息同步保存至分布式存储集群中;接下来将发生更新的锁信息与文件数据发送至存储集群的其余ISCSI服务端,其余ISCSI服务端进行数据同步操作。本方法一方面实现了多节点间SCSI锁信息同步;另一方面实现了数据持久化,当出现掉电或者其他故障后,持久化的加锁信息不会丢失;此外,还进行异常状态监控,当服务端故障时,正常服务端不在将消息同步至故障节点,从而提高了***的易用性与可靠性。
本申请实施例提供的一种分布式块存储多路径ISCSI锁的实现***、设备及计算机可读存储介质,能够实现如上所述的一种分布式块存储多路径ISCSI锁的实现方法,并取得上文所述的技术效果。
附图说明
此处的附图被并入说明书中并构成说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1为本申请实施例提供的一种分布式块存储多路径ISCSI锁的实现方法流程图;
图2为图1中方法的部分步骤实现过程图;
图3为本申请实施例提供的一种分布式块存储多路径ISCSI锁的实现***架构图。
图4为本申请实施例提供的一种分布式块存储多路径ISCSI锁的实现设备硬件结构示意图。
具体实施方式
为使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
为了方便对实施例的理解,下面对实施例中涉及的缩略词和关键术语予以解释和说明。
SCSI:Small Computer System Interface,小型计算机***接口;
ISCSI:Internet Small Computer System Interface,Internet小型计算机***接口;
LUN:Logical Unit Number,逻辑单元号。
图1示出了本发明实施例提供的一种分布式块存储多路径ISCSI锁的实现方法流程图。
参照图1,本实施例的方法,包括以下步骤:
S1、基于接收的ISCSI连接请求,当前ISCSI服务端进行初始化操作;
具体的,本步骤中,当前ISCSI服务端进行初始化操作,包括:
在接收ISCSI连接请求后,当前ISCSI服务端注册相应的处理函数;
当前ISCSI服务端读取分布式存储集群中对应每个LUN的SCSI锁信息,并更新至内存中。
S2、通过ISCSI客户端进行锁操作,更新内存中的锁信息,并将锁信息同步保存至分布式存储集群中;
S3、锁信息保存完成后,将发生更新的锁信息与文件数据发送至存储集群的其余ISCSI服务端,其余ISCSI服务端进行数据同步操作;
本步骤具体包括:
在数据保存完成后,将发生更新的消息发送至存储集群的其余ISCSI服务端;
其余ISCSI服务端进行数据同步操作,同步操作成功的ISCSI服务端向当前服务端返回成功消息;同步操作失败的ISCSI服务端向当前服务端返回失败消息。
步骤S2、S3的具体实现过程,参照图2所示。
在本实施例方法中,ISCSI命令发送至任意服务端,数据同步更新至每条路径上的每个服务端。当出现掉电或者其他故障恢复后,持久化的加锁信息不会丢失。在检测到服务端与客户端之间存在节点异常时,则故障节点自动断开,服务端停止服务,提高了***的易用性与可靠性。
本发明还提供了一种分布式块存储多路径ISCSI锁的实现***,利用该***可以实现一种分布式块存储多路径ISCSI锁的实现方法,下文描述的该***可以与上文描述的方法相互对应参照。
图3示出了本发明实施例提供的一种分布式块存储多路径ISCSI锁的实现***架构图。
参照图3,本实施例的***包括客户端1和存储集群2;
客户端1向存储集群2发送ISCSI连接请求,并当存储集群2的当前ISCSI服务端初始化后进行锁操作,更新内存中的锁信息,并将锁信息同步保存至存储集群中;
存储集群2的当前ISCSI服务端接收客户端1发送的ISCSI连接请求后进行初始化操作,并在锁信息更新保存完成后,将更新的锁信息与文件数据发送至存储集群的其余ISCSI服务端,其余ISCSI服务端进行数据同步操作。
具体的,所述存储集群2的当前ISCSI服务端进行初始化操作,包括:当前ISCSI服务端接收客户端1发送的ISCSI连接请求后,注册相应的处理函数,以及读取分布式存储集群中对应每个LUN的SCSI锁信息并更新至内存中。
存储集群2的其余ISCSI服务端进行数据同步操作,同步操作成功的ISCSI服务端向当前服务端返回成功消息;同步操作失败的ISCSI服务端向当前服务端返回失败消息。
本发明还提供了一种分布式块存储多路径ISCSI锁的实现设备,同样下文描述的该设备可以与上文描述的方法相互对应参照。
参照图4,本实施例的一种分布式块存储多路径ISCSI锁的实现设备,包括输入单元10、存储器20、处理器30以及输出单元40。其中,存储器20存储有可在处理器30上运行的程序指令,处理器30调用程序指令能够执行上述实施例中的一种分布式块存储多路径ISCSI锁的实现方法,输入单元10、存储器20、处理器30及输出单元40相互之间可以通过通信总线进行数据交互。关于各单元及其组合所实现的功能,以及所达到的技术效果,可以参照上述方法实施例相应部分的描述,在此不再赘述。
此外,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上所述的一种分布式块存储多路径ISCSI锁的实现方法的步骤。详细实现过程可以参照上述实现方法、***或设备,在此不再赘述。
以上所述仅为本发明的较佳实施例而已,并不用以限定本发明,对于本技术领域的技术人员来说,在不脱离本发明原理的前提下所作的任何修改、改进和等同替换等,均包含在本发明的保护范围内。
Claims (9)
1.一种分布式块存储多路径ISCSI锁的实现方法,其特征在于,包括以下步骤:
基于接收的ISCSI连接请求,当前ISCSI服务端进行初始化操作;
通过ISCSI客户端进行锁操作,更新内存中的锁信息,并将锁信息同步保存至分布式存储集群中;
锁信息保存完成后,将发生更新的锁信息与文件数据发送至存储集群的其余ISCSI服务端,其余ISCSI服务端进行数据同步操作。
2.根据权利要求1所述的一种分布式块存储多路径ISCSI锁的实现方法,其特征在于,所述当前ISCSI服务端进行初始化操作,包括下述步骤:
接收ISCSI连接请求后,当前ISCSI服务端注册相应的处理函数;
当前ISCSI服务端读取分布式存储集群中对应每个LUN的SCSI锁信息,并更新至内存中。
3.根据权利要求1所述的一种分布式块存储多路径ISCSI锁的实现方法,其特征在于,所述数据锁信息保存完成后,将发生更新的锁消信息与文件数据发送至存储集群的其余ISCSI服务端,其余ISCSI服务端进行数据同步操作,包括下述步骤:
在数据锁信息保存完成后,将发生更新的锁消信息与文件数据发送至存储集群的其余ISCSI服务端;
其余ISCSI服务端进行数据同步操作,同步操作成功的ISCSI服务端向当前服务端返回成功消息;同步操作失败的ISCSI服务端向当前服务端返回失败消息。
4.根据权利要求1至3任一项所述的一种分布式块存储多路径ISCSI锁的实现方法,其特征在于,若检测到服务端与客户端之间存在节点异常时,则故障节点自动断开,服务端停止服务。
5.一种分布式块存储多路径ISCSI锁的实现***,其特征在于,包括客户端和存储集群;
客户端向存储集群发送ISCSI连接请求,并当存储集群的当前ISCSI服务端初始化后进行锁操作,更新内存中的锁信息,并将锁信息同步保存至存储集群中;
存储集群的当前ISCSI服务端接收客户端发送的ISCSI连接请求后进行初始化操作,并在锁信息更新保存完成后,将更新的锁信息与文件数据发送至存储集群的其余ISCSI服务端,其余ISCSI服务端进行数据同步操作。
6.根据权利要求5所述的一种分布式块存储多路径ISCSI锁的实现***,其特征在于,所述存储集群的当前ISCSI服务端进行初始化操作,包括:当前ISCSI服务端接收客户端发送的ISCSI连接请求后,注册相应的处理函数,以及读取分布式存储集群中对应每个LUN的SCSI锁信息并更新至内存中。
7.根据权利要求6所述的一种分布式块存储多路径ISCSI锁的实现***,其特征在于,所述存储集群的其余ISCSI服务端进行数据同步操作,同步操作成功的ISCSI服务端向当前服务端返回成功消息;同步操作失败的ISCSI服务端向当前服务端返回失败消息。
8.一种分布式块存储多路径ISCSI锁的实现设备,其特征在于,包括:至少一个处理器,以及与所述处理器通信连接的至少一个存储器;
所述存储器存储有可在处理器上运行的程序指令;
所述处理器调用所述程序指令能够执行如权利要求1至4中任一项所述的一种分布式块存储多路径ISCSI锁的实现方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至4中任一项所述的一种分布式块存储多路径ISCSI锁的实现方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111268261.8A CN114035969A (zh) | 2021-10-29 | 2021-10-29 | 一种分布式块存储多路径iscsi锁的实现方法、***及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111268261.8A CN114035969A (zh) | 2021-10-29 | 2021-10-29 | 一种分布式块存储多路径iscsi锁的实现方法、***及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114035969A true CN114035969A (zh) | 2022-02-11 |
Family
ID=80142272
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111268261.8A Pending CN114035969A (zh) | 2021-10-29 | 2021-10-29 | 一种分布式块存储多路径iscsi锁的实现方法、***及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114035969A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116405509A (zh) * | 2023-06-09 | 2023-07-07 | 深圳前海环融联易信息科技服务有限公司 | 分布式监听方法及其计算机设备、存储介质 |
CN116560864A (zh) * | 2023-07-06 | 2023-08-08 | 苏州浪潮智能科技有限公司 | 一种分布式锁的实现方法、装置、***、设备及存储介质 |
-
2021
- 2021-10-29 CN CN202111268261.8A patent/CN114035969A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116405509A (zh) * | 2023-06-09 | 2023-07-07 | 深圳前海环融联易信息科技服务有限公司 | 分布式监听方法及其计算机设备、存储介质 |
CN116405509B (zh) * | 2023-06-09 | 2023-09-01 | 深圳前海环融联易信息科技服务有限公司 | 分布式监听方法及其计算机设备、存储介质 |
CN116560864A (zh) * | 2023-07-06 | 2023-08-08 | 苏州浪潮智能科技有限公司 | 一种分布式锁的实现方法、装置、***、设备及存储介质 |
CN116560864B (zh) * | 2023-07-06 | 2023-11-03 | 苏州浪潮智能科技有限公司 | 一种分布式锁的实现方法、装置、***、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7974186B2 (en) | Connection recovery device, method and computer-readable medium storing therein processing program | |
US7518983B2 (en) | Proxy response apparatus | |
EP3371940B1 (en) | System and method for handling link loss in a network | |
CN114035969A (zh) | 一种分布式块存储多路径iscsi锁的实现方法、***及设备 | |
WO2014177085A1 (zh) | 分布式多副本数据存储方法及装置 | |
CN110990190A (zh) | 一种分布式文件锁故障处理方法、***、终端及存储介质 | |
CN113515408A (zh) | 一种数据容灾方法、装置、设备及介质 | |
CN108512753B (zh) | 一种集群文件***中消息传输的方法及装置 | |
CN111651320A (zh) | 一种高并发连接方法和*** | |
JP2005301436A (ja) | クラスタシステムおよびクラスタシステムにおける障害回復方法 | |
JPWO2020044934A1 (ja) | 通信装置、方法、及びプログラム | |
CN113849127A (zh) | 基于san存储双活网络的仲裁方法、装置及电子设备 | |
CN113590049A (zh) | 一种存储卷跨节点克隆的方法、装置、设备及可读介质 | |
CN115801642B (zh) | 基于状态控制的rdma通讯管理模块、方法、设备及介质 | |
KR101766446B1 (ko) | 데이터를 동기화하고 복원하는 이중화 시스템 및 방법 | |
CN116166470A (zh) | Redis集群克隆复制方法及装置、介质、设备 | |
CN112131201B (zh) | 一种网络附加存储高可用性的方法、***、设备及介质 | |
CN111416726B (zh) | 一种资源管理的方法、发送端设备和接收端设备 | |
CN116762318A (zh) | 架构可用性和同步 | |
CN109462639B (zh) | 端口扩展设备管理方法及装置 | |
CN109240608B (zh) | 一种配置信息同步方法及装置 | |
CN110890989A (zh) | 一种通道连接方法及装置 | |
CN104796228B (zh) | 一种信息传输的方法、装置及*** | |
CN116149576B (zh) | 面向服务器无感知计算的磁盘冗余阵列重建方法及*** | |
CN114945023B (zh) | 一种网络连接复用方法、装置、设备及介质 |
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 |