一种公共测试库的管理方法及装置、电子设备与流程

文档序号:19156611发布日期:2019-11-16 00:52阅读:162来源:国知局
一种公共测试库的管理方法及装置、电子设备与流程

本发明涉及业务过程优化技术领域,特别涉及一种公共测试库的管理方法及装置、电子设备。



背景技术:

公共测试库,即商业数据平台(businessdataplatform,bdp)是一个云服务器,可以将日常办公所需要的数据、图表进行上传,然后经过专业的整合和分析,最后输出可视化的数据或图表。通过bdp,可以让企业的相关负责人及时了解和掌握企业的运营数据,从而更合理、更高效地进行资源的优化和配置。

目前,bdp一般包括多个hive数据库,常用于存放操作数据存储(operationaldatastore,ods)层的基础数据,这些基础数据主要来源于各个系统。然而,在实践中发现,当多个系统使用同一个hive数据库时,经常出现数据丢失或数据被覆盖等情况,严重影响了业务进度。比如说,当a系统和b系统使用同一个hive数据库时,可能因为b系统提交的结果破坏了a系统提交的结果,导致a系统的系统表数据丢失或者被覆盖。

因此,如何有效地管理bdp,避免公共测试库数据丢失或数据被覆盖,是目前亟需解决的热点问题之一。



技术实现要素:

为了解决公共测试库数据丢失或数据被覆盖的问题,本发明提供了一种公共测试库的管理方法及装置、电子设备。

本发明实施例第一方面公开了一种公共测试库的管理方法,所述公共测试库包括多个hive数据库,所述方法包括:

当检测到目标hive数据库被使用时,获取使用所述目标hive数据库的系统的身份标识;其中,所述目标hive数据库为所述多个hive数据库中的任一个;

根据所述身份标识,判断所述身份标识所属系统是否为所述目标hive数据库的主负责系统;

若所述身份标识所属系统不为所述目标hive数据库的主负责系统,执行扫描脚本,以检测所述目标hive数据库的系统表中是否存在db_sid关键字段和/或region_sid关键字段;

若所述目标hive数据库的系统表中存在db_sid关键字段和/或region_sid关键字段,调整所述身份标识所属系统的权限为查看权限,以使所述身份标识所属系统无法修改所述目标hive数据库的数据。

作为一种可选的实施方式,在本发明实施例第一方面中,所述根据所述身份标识,判断所述身份标识所属系统是否为所述目标hive数据库的主负责系统,包括:

获取所述目标hive数据库的业务表;所述业务表用于指示当前时刻所述目标hive数据库的主负责系统;

根据所述身份标识,判断所述身份标识所属系统与所述业务表中当前时刻所指示的主负责系统是否匹配;

若所述身份标识所属系统与所述业务表中当前时刻所指示的主负责系统匹配,确定所述身份标识所属系统为所述目标hive数据库的主负责系统;

若所述身份标识所属系统与所述业务表中当前时刻所指示的主负责系统不匹配,确定所述身份标识所属系统不为所述目标hive数据库的主负责系统。

作为一种可选的实施方式,在本发明实施例第一方面中,在所述若所述身份标识所属系统与所述业务表中当前时刻所指示的主负责系统不匹配,确定所述身份标识所属系统不为所述目标hive数据库的主负责系统之后,以及所述执行扫描脚本,以检测所述目标hive数据库的系统表中是否存在db_sid关键字段和/或region_sid关键字段之前,所述方法还包括:

创建脚本文件;

将扫描参数导入所述脚本文件中以生成所述扫描脚本;其中,扫描参数至少包括所述目标hive数据库的名称、所述目标hive数据库的类型和所述目标hive数据库的路径。

作为一种可选的实施方式,在本发明实施例第一方面中,在所述若所述目标hive数据库的系统表中存在db_sid关键字段和/或region_sid关键字段,调整所述身份标识所属系统的权限为查看权限,以使所述身份标识所属系统无法修改所述目标hive数据库的数据之后,所述方法还包括:

获取所述目标hive数据库的日志文件;

根据所述日志文件,确定所述目标hive数据库的系统表的目标更新记录;所述目标更新记录为在所述身份标识所属系统使用所述目标hive数据库后,所述目标hive数据库的系统表的更新记录;

根据所述目标更新记录,将所述目标hive数据库的系统表恢复至合规状态;所述合规状态为所述目标更新记录中产生db_sid关键字段和/或region_sid关键字段前的状态。

作为一种可选的实施方式,在本发明实施例第一方面中,在所述根据所述目标更新记录,将所述目标hive数据库的系统表恢复至合规状态之后,所述方法还包括:

发送越权信息给所述身份标识所属系统,以警示操作所述身份标识所属系统的用户越权使用所述目标hive数据库。

作为一种可选的实施方式,在本发明实施例第一方面中,在所述若所述身份标识所属系统与所述业务表中当前时刻所指示的主负责系统匹配,确定所述身份标识所属系统为所述目标hive数据库的主负责系统之后,所述方法还包括:

利用排它锁,将所述主负责系统和所述目标hive数据库进行绑定,以使除主负责系统外的其他系统无法修改所述目标hive数据库的数据。

作为一种可选的实施方式,在本发明实施例第一方面中,在所述利用排它锁,将所述主负责系统和所述目标hive数据库进行绑定,以使除主负责系统外的其他系统无法修改所述目标hive数据库的数据之后,所述方法还包括:

检测是否接收到结束指令;所述结束指令用于指示所述主负责系统结束使用所述目标hive数据库;

若接收到所述结束指令,释放所述排它锁,以使所述目标hive数据库恢复至空闲状态。

本发明实施例第二方面公开了一种公共测试库的管理装置,所述公共测试库包括多个hive数据库,所述装置包括:

第一获取单元,用于当检测到目标hive数据库被使用时,获取使用所述目标hive数据库的系统的身份标识;其中,所述目标hive数据库为所述多个hive数据库中的任一个;

判断单元,用于根据所述身份标识,判断所述身份标识所属系统是否为所述目标hive数据库的主负责系统;

第一检测单元,用于当所述判断单元判断出所述身份标识所属系统不为所述目标hive数据库的主负责系统时,执行扫描脚本,以检测所述目标hive数据库的系统表中是否存在db_sid关键字段和/或region_sid关键字段;

调整单元,用于当所述第一检测单元检测到所述目标hive数据库的系统表中存在db_sid关键字段和/或region_sid关键字段时,调整所述身份标识所属系统的权限为查看权限,以使所述身份标识所属系统无法修改所述目标hive数据库的数据。

本发明实施例第三方面公开了一种电子设备,所述电子设备包括:

处理器;

存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,实现本发明实施例第一方面公开的一种公共测试库的管理方法。

本发明实施例第四方面公开了一种计算机可读存储介质,其存储计算机程序,所述计算机程序使得计算机执行本发明实施例第一方面公开的一种公共测试库的管理方法。

本发明的实施例提供的技术方案可以包括以下有益效果:

本发明所提供的一种公共测试库的管理方法包括如下步骤:当检测到目标hive数据库被使用时,获取使用该目标hive数据库的系统的身份标识;其中,该目标hive数据库为公共测试库的多个hive数据库中的任一个;根据身份标识,判断该身份标识所属系统是否为目标hive数据库的主负责系统;若不是,执行扫描脚本,以检测目标hive数据库的系统表中是否存在db_sid关键字段和/或region_sid关键字段;若存在,调整上述身份标识所属系统的权限为查看权限,以使该身份标识所属系统无法修改目标hive数据库的数据。

此方法下,若根据身份标识判断出该身份标识所属系统不为目标hive数据库的主负责系统,公共测试库的管理装置进一步检测目标hive数据库的系统表中是否存在db_sid关键字段和/或region_sid关键字段,若存在,表明该身份标识所属系统可能会影响其他系统正常使用目标hive数据库,公共测试库的管理装置调整上述身份标识所属系统的权限为查看权限,以使该身份标识所属系统无法修改目标hive数据库的数据,能够避免公共测试库数据丢失或数据被覆盖,保证业务进度。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本发明。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并于说明书一起用于解释本发明的原理。

图1是本发明实施例公开的一种装置的结构示意图;

图2是本发明实施例公开的一种公共测试库的管理方法的流程图;

图3是本发明实施例公开的另一种公共测试库的管理方法的流程图;

图4是本发明实施例公开的又一种公共测试库的管理方法的流程图;

图5是本发明实施例公开的一种公共测试库的管理装置的结构示意图;

图6是本发明实施例公开的另一种公共测试库的管理装置的结构示意图;

图7是本发明实施例公开的又一种公共测试库的管理装置的结构示意图。

具体实施方式

这里将详细地对示例性实施例执行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。

实施例一

本发明的实施环境可以是电子设备,例如智能手机、平板电脑、台式电脑。电子设备中所存储的图像可以是:从互联网下载的图像;通过无线连接或有线连接接收的图像;通过自身所内置摄像头拍摄得到的图像。

图1是本发明实施例公开的一种装置的结构示意图。装置100可以是上述电子设备。如图1所示,装置100可以包括以下一个或多个组件:处理组件102,存储器104,电源组件106,多媒体组件108,音频组件110,传感器组件114以及通信组件116。

处理组件102通常控制装置100的整体操作,诸如与显示,电话呼叫,数据通信,相机操作以及记录操作相关联的操作等。处理组件102可以包括一个或多个处理器118来执行指令,以完成下述的方法的全部或部分步骤。此外,处理组件102可以包括一个或多个模块,用于便于处理组件102和其他组件之间的交互。例如,处理组件102可以包括多媒体模块,用于以方便多媒体组件108和处理组件102之间的交互。

存储器104被配置为存储各种类型的数据以支持在装置100的操作。这些数据的示例包括用于在装置100上操作的任何应用程序或方法的指令。存储器104可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(staticrandomaccessmemory,简称sram),电可擦除可编程只读存储器(electricallyerasableprogrammableread-onlymemory,简称eeprom),可擦除可编程只读存储器(erasableprogrammablereadonlymemory,简称eprom),可编程只读存储器(programmablered-onlymemory,简称prom),只读存储器(read-onlymemory,简称rom),磁存储器,快闪存储器,磁盘或光盘。存储器104中还存储有一个或多个模块,用于该一个或多个模块被配置成由该一个或多个处理器118执行,以完成如下所示方法中的全部或者部分步骤。

电源组件106为装置100的各种组件提供电力。电源组件106可以包括电源管理系统,一个或多个电源,及其他与为装置100生成、管理和分配电力相关联的组件。

多媒体组件108包括在装置100和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(liquidcrystaldisplay,简称lcd)和触摸面板。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与触摸或滑动操作相关的持续时间和压力。屏幕还可以包括有机电致发光显示器(organiclightemittingdisplay,简称oled)。

音频组件110被配置为输出和/或输入音频信号。例如,音频组件110包括一个麦克风(microphone,简称mic),当装置100处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器104或经由通信组件116发送。在一些实施例中,音频组件110还包括一个扬声器,用于输出音频信号。

传感器组件114包括一个或多个传感器,用于为装置100提供各个方面的状态评估。例如,传感器组件114可以检测到装置100的打开/关闭状态,组件的相对定位,传感器组件114还可以检测装置100或装置100一个组件的位置改变以及装置100的温度变化。在一些实施例中,该传感器组件114还可以包括磁传感器,压力传感器或温度传感器。

通信组件116被配置为便于装置100和其他设备之间有线或无线方式的通信。装置100可以接入基于通信标准的无线网络,如wifi(wireless-fidelity,无线保真)。在本发明实施例中,通信组件116经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在本发明实施例中,通信组件116还包括近场通信(nearfieldcommunication,简称nfc)模块,用于以促进短程通信。例如,在nfc模块可基于射频识别(radiofrequencyidentification,简称rfid)技术,超宽带(ultrawideband,简称uwb)技术,蓝牙技术和其他技术来实现。

在示例性实施例中,装置100可以被一个或多个应用专用集成电路(applicationspecificintegratedcircuit,简称asic)、数字信号处理器、数字信号处理设备、可编程逻辑器件、现场可编程门阵列、控制器、微控制器、微处理器或其他电子元件实现,用于执行下述方法。

实施例二

请参阅图2,图2是本发明实施例公开的一种公共测试库的管理方法的流程示意图。如图2所示,该方法可以包括以下步骤:

201、当检测到目标hive数据库被使用时,获取使用该目标hive数据库的系统的身份标识。

本发明实施例中,公共测试库包括多个hive数据库,其中,目标hive数据库为公共测试库的多个hive数据库中的任一个,本发明实施例不作限定。在本发明实施例中,上述身份标识可以为系统id,本发明实施例不作限定。

可以理解的是,每个系统都有唯一的身份标识,系统通过hive数据库的访问接口对hive数据库进行访问时,hive数据库的访问接口会记录该系统的身份标识,因此,当检测到目标hive数据库被使用时,公共测试库的管理装置可以通过访问接口获取使用该目标hive数据库的系统的身份标识,如该系统的id。

202、根据身份标识,判断该身份标识所属系统是否为目标hive数据库的主负责系统;如果否,执行步骤203;反之,结束本流程。

本发明实施例中,公共测试库的管理装置可以根据获取到的身份标识,对该身份标识进行识别,并以此判断该身份标识所属系统是否为目标hive数据库的主负责系统,如果不是,公共测试库的管理装置执行步骤203,执行扫描脚本,以检测目标hive数据库的系统表中是否存在db_sid关键字段和/或region_sid关键字段。

203、执行扫描脚本,以检测目标hive数据库的系统表中是否存在db_sid关键字段和/或region_sid关键字段;如果是,执行步骤204;反之,结束本流程。

本发明实施例中,可以理解的是,当多个系统使用同一个hive数据库时,hive数据库的系统表会产生db_sid关键字段和region_sid关键字段等关键字段。举例来说,当a系统和b系统使用目标hive数据库时,可能会因为b系统提交的结果破坏了a系统提交的结果,从而使目标hive数据库的系统表的数据被篡改,如字母的大写改成小写,这个时候就会导致目标hive数据库的系统表的数据丢失,产生不合规的带有db_sid关键字段和/或region_sid关键字段的系统表。在本发明实施例中,公共测试库的管理装置可以执行扫描脚本,检测目标hive数据库的系统表中是否存在db_sid关键字段和/或region_sid关键字段,若存在,表明上述身份标识所属系统影响到目标hive数据库的主负责系统的正常使用该目标hive数据库,公共测试库的管理装置执行步骤204,将该身份标识所属系统的权限调整为查看权限,以使该身份标识所属系统无法修改目标hive数据库的数据。

204、调整身份标识所属系统的权限为查看权限,以使该身份标识所属系统无法修改目标hive数据库的数据。

本发明实施例中,当检测到目标hive数据库的系统表中存在db_sid关键字段和/或region_sid关键字段时,公共测试库的管理装置可以将上述身份标识所属系统的权限调整为查看权限,使得该身份标识所属系统只能读取目标hive数据库的数据,而无法修改目标hive数据库的数据,能够防止该身份标识所属系统修改目标hive数据库的数据而影响到主负责系统正常使用目标hive数据库。

本发明实施例中,有时候某个系统虽然不是目标hive数据库的主负责系统,但是该系统可能因为有紧急事务处理需要临时使用目标hive数据库,此时,作为一种可选的实施方式,在执行步骤204调整上述身份标识所属系统的权限为查看权限之前,还可以执行以下步骤:公共测试库的管理装置可以检测该身份标识所属系统通过访问接口访问目标hive数据库时是否携带临时调用指令,若携带临时调用指令,公共测试库的管理装置给该身份标识所属系统加上临时锁,以使该身份标识所属系统能够临时读取和修改目标hive数据库的系统表中的数据;若没携带临时调用指令,公共测试库的管理装置执行步骤204,调整身份标识所属系统的权限为查看权限,以使该身份标识所属系统无法修改目标hive数据库的数据。

本发明实施例中,临时锁是保证某个系统可以临时读取和修改hive数据库的系统表中的数据的锁。比如说,若给系统q加上临时锁,那么,即使系统q不为目标hive数据库的主负责系统,系统q也可以对目标hive数据库的系统表中的数据进行读取和修改。

实施该实施方式,若上述身份标识所属系统又紧急事务处理需要临时使用目标hive数据库时,公共测试库的管理装置给该身份标识所属系统加上临时锁,能够保证业务的正常进行。

可见,实施图2所描述的方法,公共测试库的管理装置根据身份标识判断该身份标识所属系统是否为目标hive数据库的主负责系统,若不是,公共测试库的管理装置进一步检测目标hive数据库的系统表中是否存在db_sid关键字段和/或region_sid关键字段,若存在,表明该身份标识所属系统可能会影响其他系统正常使用目标hive数据库,公共测试库的管理装置调整上述身份标识所属系统的权限为查看权限,以使该身份标识所属系统无法修改目标hive数据库的数据,能够避免公共测试库数据丢失或数据被覆盖,保证业务进度。

实施例三

请参阅图3,图3是本发明实施例公开的另一种公共测试库的管理方法的流程示意图。如图3所示,该方法可以包括以下步骤:

301、当检测到目标hive数据库被使用时,获取使用该目标hive数据库的系统的身份标识。

本发明实施例中,公共测试库包括多个hive数据库,其中,目标hive数据库为公共测试库的多个hive数据库中的任一个,本发明实施例不作限定。在本发明实施例中,上述身份标识可以为系统id,本发明实施例不作限定。

302、获取目标hive数据库的业务表。

本发明实施例中,业务表用于指示当前时刻目标hive数据库的主负责系统。

303、根据身份标识,判断该身份标识所属系统与业务表中当前时刻所指示的主负责系统是否匹配;如果否,执行步骤304-步骤307;如果否,执行步骤309。

本发明实施例中,业务表记录了当前时刻目标hive数据库的主负责系统,其中,用于辨别该主负责系统的标识可以为主负责系统的身份标识,如系统id。公共测试库的管理装置可以先获取目标hive数据库的业务表,然后将使用该目标hive数据的系统的身份标识与业务表中当前时刻目标hive数据库的主负责系统的身份标识进行比较,若使用该目标hive数据的系统的身份标识与业务表中当前时刻目标hive数据库的主负责系统的身份标识相匹配,表明该身份标识所属系统为目标hive数据库的主负责系统;若使用该目标hive数据的系统的身份标识与业务表中当前时刻目标hive数据库的主负责系统的身份标识不匹配,表明该身份标识所属系统不为目标hive数据库的主负责系统。

本发明实施例中,实施步骤302-步骤303,利用目标hive数据库的业务表,根据身份标识来判断该身份标识所属系统与业务表中当前时刻所指示的主负责系统是否匹配,若匹配,执行步骤304,公共测试库的管理装置确定该身份标识所属系统为目标hive数据库的主负责系统;若不匹配,执行步骤309,公共测试库的管理装置确定该身份标识所属系统不为目标hive数据库的主负责系统;能够准确判断目标hive数据库的主负责系统。

304、确定身份标识所属系统不为目标hive数据库的主负责系统。

305、创建脚本文件。

本发明实施例中,脚本文件即脚本的程序,一般都是由应用程序提供的编程语言,可以将不同的命令组合起来,并按确定的顺序自动连续地执行。在本发明实施例中,应用程序可以包括浏览器(javascript、vbscript)和多媒体创作工具,本发明实施例不作限定。

306、将扫描参数导入脚本文件中以生成扫描脚本。

本发明实施例中,扫描参数至少包括目标hive数据库的名称、目标hive数据库的类型和目标hive数据库的路径,本发明实施例不作限定。

本发明实施例中,实施步骤305-步骤306,通过创建脚本文件并将扫描参数导入脚本文件中生成扫描脚本,能够提高扫描脚本的生成效率。

本发明实施例中,因为公共测试库包括多个hive数据库,公共测试库的管理装置往往管理的不只一个hive数据库,因此,进一步地,作为一种可选的实施方式,后续如果需要扫描公共测试库的其他hive数据库时,公共测试库的管理装置可以更改扫描参数并将更改好的扫描参数导入脚本文件,即可生成新的扫描脚本。

实施该实施方式,当公共测试库的管理装置需要扫描公共测试库的其他hive数据库时,只需更改扫描参数而不用重新编写扫描脚本,能够提高扫描脚本的生成效率。

307、执行扫描脚本,以检测目标hive数据库的系统表中是否存在db_sid关键字段和/或region_sid关键字段;如果是,执行步骤308;反之,结束本流程。

308、调整身份标识所属系统的权限为查看权限,以使该身份标识所属系统无法修改目标hive数据库的数据。

309、确定身份标识所属系统为目标hive数据库的主负责系统。

本发明实施例中,若步骤303公共测试库的管理装置判断出上述身份标识所属系统与业务表中当前时刻所指示的主负责系统相匹配,则执行步骤309,公共测试库的管理装置确定该身份标识所属系统为目标hive数据库的主负责系统。

可见,与实施图2所描述的方法相比,实施图3所描述的方法,利用目标hive数据库的业务表,根据身份标识来判断该身份标识所属系统与业务表中当前时刻所指示的主负责系统是否匹配,若匹配,则该身份标识所属系统为目标hive数据库的主负责系统,能够准确判断目标hive数据库的主负责系统。此外,通过创建脚本文件并将扫描参数导入脚本文件中生成扫描脚本,能够提高扫描脚本的生成效率。

实施例四

请参阅图4,图4是本发明实施例公开的又一种公共测试库的管理方法的流程示意图。如图4所示,该方法可以包括以下步骤:

401、当检测到目标hive数据库被使用时,获取使用该目标hive数据库的系统的身份标识。

本发明实施例中,公共测试库包括多个hive数据库,其中,目标hive数据库为公共测试库的多个hive数据库中的任一个,本发明实施例不作限定。在本发明实施例中,上述身份标识可以为系统id,本发明实施例不作限定。

402、获取目标hive数据库的业务表。

本发明实施例中,业务表用于指示当前时刻目标hive数据库的主负责系统。

403、根据身份标识,判断该身份标识所属系统与业务表中当前时刻所指示的主负责系统是否匹配;如果否,执行步骤404-步骤412;如果否,执行步骤413-步骤416。

404、确定身份标识所属系统不为目标hive数据库的主负责系统。

405、创建脚本文件。

406、将扫描参数导入脚本文件中以生成扫描脚本。

本发明实施例中,扫描参数至少包括目标hive数据库的名称、目标hive数据库的类型和目标hive数据库的路径,本发明实施例不作限定。

407、执行扫描脚本,以检测目标hive数据库的系统表中是否存在db_sid关键字段和/或region_sid关键字段;如果是,执行步骤408;反之,结束本流程。

408、调整身份标识所属系统的权限为查看权限,以使该身份标识所属系统无法修改目标hive数据库的数据。

409、获取目标hive数据库的日志文件。

本发明实施例中,日志文件是用于记录系统操作事件的记录文件或文件集合,可以用来处理历史数据和诊断问题的追踪。

本发明实施例中,目标hive数据库的系统表中数据每一次更新,目标hive数据库的日志文件都会有记录,因此,公共测试库的管理装置可以根据日志文件来确定目标hive数据库的系统表的目标更新记录,其中,目标更新记录为在上述身份标识所属系统使用目标hive数据库后,目标hive数据库的系统表的更新记录,然后根据该目标更新记录,将目标hive数据库的系统表恢复至产生db_sid关键字段和/或region_sid关键字段前的状态。

410、根据日志文件,确定目标hive数据库的系统表的目标更新记录。

本发明实施例中,目标更新记录为在上述身份标识所属系统使用目标hive数据库后,该目标hive数据库的系统表的更新记录。

411、根据目标更新记录,将目标hive数据库的系统表恢复至合规状态。

本发明实施例中,合规状态为目标更新记录中产生db_sid关键字段和/或region_sid关键字段前的状态。

本发明实施例中,实施步骤409-步骤411,先根据目标hive数据库的日志文件确定目标更新记录,再根据目标更新记录将目标hive数据库的系统表恢复至合规状态,能够将目标hive数据库的系统表恢复正常,以使该目标hive数据库的主负责系统能够正常使用。

412、发送越权信息给身份标识所属系统,以警示操作该身份标识所属系统的用户越权使用目标hive数据库。

本发明实施例中,实施步骤412,通过发送越权信息给身份标识所属系统,能够及时警示操作该身份标识所属系统的用户,以使该用户暂停使用目标hive数据库。

作为一种可选的实施方式,在步骤412发送越权信息给身份标识所属系统之后,还可以执行以下步骤:

对该身份标识所属系统进行标记并记录;

检测该身份标识所属系统被记录的次数是否超过预设次数;

若超过,发送警报信号给相关管理人员使用的终端,以使相关管理人员着重处理。

本发明实施例中,预设次数可以为开发人员经过大量实验结果而设定的次数,本发明实施例不作限定。在本发明实施例中,若检测到该身份标识所属系统被记录的次数超过预设次数,表明该身份标识所属系统已经多次越权使用,为了保证公共测试库的数据安全,公共测试库的管理装置可以发送警报信号给相关管理人员使用的终端,以使相关管理人员着重处理。

实施该实施方式,通过检测身份标识所属系统被记录的次数是否超过预设次数,若超过,表明该身份标识所属系统已经多次越权使用,公共测试库的管理装置可以发送警报信号给相关管理人员使用的终端,以使相关管理人员着重处理,能够防止公共测试库的数据泄露,保证公共测试库的数据安全。

413、确定身份标识所属系统为目标hive数据库的主负责系统。

414、利用排它锁,将主负责系统和目标hive数据库进行绑定,以使除主负责系统外的其他系统无法修改目标hive数据库的数据。

本发明实施例中,排它锁是防止除主负责系统外的其他系统修改目标hive数据库的系统表中的数据的锁。

举例来说,若系统t对hive数据库m加了排它锁,即将系统t和hive数据库m进行绑定,那么,hive数据库m只允许系统t读取和修改hive数据库m的系统表中的数据,此时如果系统r也使用了hive数据库m,那么,hive数据库m只能读取hive数据库m的系统表中的数据,而无法修改hive数据库m的系统表中的数据。

415、检测是否接收到结束指令;如果是,执行步骤416;反之,继续执行步骤415。

本发明实施例中,结束指令用于指示主负责系统结束使用目标hive数据库。

416、释放排它锁,以使目标hive数据库恢复至空闲状态。

本发明实施例中,若接收到结束指令,公共测试库的管理装置释放排它锁,使得目标hive数据库恢复至空闲状态,保证下一阶段的正常使用;若未接收到结束指令,公共测试库的管理装置继续执行步骤415,直至接收到结束指令为止。

本发明实施例中,实施步骤414-步骤416,通过利用排它锁将主负责系统和目标hive数据库进行绑定,能够防止除主负责系统外的其他系统修改目标hive数据库的数据,保证主负责系统的正常使用。当接收到结束指令时,通过释放排它锁,能够使目标hive数据库恢复至空闲状态,保证下一阶段的正常使用。

可见,与实施图3所描述的方法相比,实施图4所描述的方法,根据目标更新记录将目标hive数据库的系统表恢复至合规状态,能够将目标hive数据库的系统表恢复正常,以使该目标hive数据库的主负责系统能够正常使用。此外,发送越权信息给身份标识所属系统,能够及时警示操作该身份标识所属系统的用户,以使该用户暂停使用目标hive数据库。此外,利用排它锁将主负责系统和目标hive数据库进行绑定,能够防止除主负责系统外的其他系统修改目标hive数据库的数据,保证主负责系统的正常使用。此外,当接收到结束指令时,释放排它锁,能够使目标hive数据库恢复至空闲状态,保证下一阶段的正常使用。

实施例五

请参阅图5,图5是本发明实施例公开的一种公共测试库的管理装置的结构示意图。如图5所示,该装置可以包括:第一获取单元501、判断单元502、第一检测单元503以及调整单元504,其中,

第一获取单元501,用于当检测到目标hive数据库被使用时,获取使用该目标hive数据库的系统的身份标识。

本发明实施例中,公共测试库包括多个hive数据库,其中,目标hive数据库为公共测试库的多个hive数据库中的任一个,本发明实施例不作限定。

可以理解的是,每个系统都有唯一的身份标识,系统通过hive数据库的访问接口对hive数据库进行访问时,hive数据库的访问接口会记录该系统的身份标识,因此,当检测到目标hive数据库被使用时,第一获取单元501可以通过访问接口获取使用该目标hive数据库的系统的身份标识,如该系统的id。

判断单元502,用于根据身份标识,判断该身份标识所属系统是否为目标hive数据库的主负责系统。

第一检测单元503,用于当判断单元502判断出身份标识所属系统不为目标hive数据库的主负责系统时,执行扫描脚本,以检测目标hive数据库的系统表中是否存在db_sid关键字段和/或region_sid关键字段。

调整单元504,用于当第一检测单元503检测到目标hive数据库的系统表中存在db_sid关键字段和/或region_sid关键字段时,调整上述身份标识所属系统的权限为查看权限,以使该身份标识所属系统无法修改目标hive数据库的数据。

本发明实施例中,当第一检测单元503检测到目标hive数据库的系统表中存在db_sid关键字段和/或region_sid关键字段时,调整单元504可以将上述身份标识所属系统的权限调整为查看权限,使得该身份标识所属系统只能读取目标hive数据库的数据,而无法修改目标hive数据库的数据,能够防止该身份标识所属系统修改目标hive数据库的数据而影响到主负责系统正常使用目标hive数据库。

本发明实施例中,有时候某个系统虽然不是目标hive数据库的主负责系统,但是该系统可能因为有紧急事务处理需要临时使用目标hive数据库,此时,作为一种可选的实施方式,在调整单元504调整上述身份标识所属系统的权限为查看权限之前,还可以执行以下步骤:第一检测单元503可以检测该身份标识所属系统通过访问接口访问目标hive数据库时是否携带临时调用指令,若携带临时调用指令,调整单元504给该身份标识所属系统加上临时锁,以使该身份标识所属系统能够临时读取和修改目标hive数据库的系统表中的数据;若没携带临时调用指令,调整单元504调整身份标识所属系统的权限为查看权限,以使该身份标识所属系统无法修改目标hive数据库的数据。

本发明实施例中,临时锁是保证某个系统可以临时读取和修改hive数据库的系统表中的数据的锁。比如说,若给系统q加上临时锁,那么,即使系统q不为目标hive数据库的主负责系统,系统q也可以对目标hive数据库的系统表中的数据进行读取和修改。

实施该实施方式,若上述身份标识所属系统又紧急事务处理需要临时使用目标hive数据库时,调整单元504给该身份标识所属系统加上临时锁,能够保证业务的正常进行。

可见,实施图5所描述的公共测试库的管理装置,根据身份标识判断该身份标识所属系统是否为目标hive数据库的主负责系统,若不是,进一步检测目标hive数据库的系统表中是否存在db_sid关键字段和/或region_sid关键字段,若存在,表明该身份标识所属系统可能会影响其他系统正常使用目标hive数据库,调整上述身份标识所属系统的权限为查看权限,以使该身份标识所属系统无法修改目标hive数据库的数据,能够避免公共测试库数据丢失或数据被覆盖,保证业务进度。

实施例六

请参阅图6,图6是本发明实施例公开的另一种公共测试库的管理装置的结构示意图。图6所示的公共测试库的管理装置是由图5所示的公共测试库的管理装置进行优化得到的。与图5所示的公共测试库的管理装置相比较,图6所示的公共测试库的管理装置还可以包括:创建单元505以及生成单元506,其中,

判断单元502包括:

获取子单元5021,用于获取目标hive数据库的业务表;其中,业务表用于指示当前时刻目标hive数据库的主负责系统;

判断子单元5022,用于根据身份标识,判断该身份标识所属系统与业务表中当前时刻所指示的主负责系统是否匹配;

第一确定子单元5023,用于当判断子单元5022判断出上述身份标识所属系统与业务表中当前时刻所指示的主负责系统不匹配时,确定该身份标识所属系统不为目标hive数据库的主负责系统;

第二确定子单元5024,用于当判断子单元5022判断出上述身份标识所属系统与业务表中当前时刻所指示的主负责系统相匹配时,确定该身份标识所属系统为目标hive数据库的主负责系统。

创建单元505,用于在判断子单元5022判断出上述身份标识所属系统与业务表中当前时刻所指示的主负责系统不匹配,第一确定子单元5023确定该身份标识所属系统不为目标hive数据库的主负责系统之后,以及第一检测单元503执行扫描脚本,以检测目标hive数据库的系统表中是否存在db_sid关键字段和/或region_sid关键字段之前,创建脚本文件。

生成单元506,用于将扫描参数导入脚本文件中以生成扫描脚本。

本发明实施例中,扫描参数至少包括目标hive数据库的名称、目标hive数据库的类型和目标hive数据库的路径,本发明实施例不作限定。

本发明实施例中,因为公共测试库包括多个hive数据库,公共测试库的管理装置往往管理的不只一个hive数据库,因此,进一步地,作为一种可选的实施方式,后续如果需要扫描公共测试库的其他hive数据库时,生成单元506可以更改扫描参数并将更改好的扫描参数导入脚本文件,即可生成新的扫描脚本。

实施该实施方式,当需要扫描公共测试库的其他hive数据库时,只需更改扫描参数而不用重新编写扫描脚本,能够提高扫描脚本的生成效率。

可见,与实施图5所描述的公共测试库的管理装置相比,实施图6所描述的公共测试库的管理装置,利用目标hive数据库的业务表,根据身份标识来判断该身份标识所属系统与业务表中当前时刻所指示的主负责系统是否匹配,若匹配,则该身份标识所属系统为目标hive数据库的主负责系统,能够准确判断目标hive数据库的主负责系统。此外,通过创建脚本文件并将扫描参数导入脚本文件中生成扫描脚本,能够提高扫描脚本的生成效率。

实施例七

请参阅图7,图7是本发明实施例公开的又一种公共测试库的管理装置的结构示意图。图7所示的公共测试库的管理装置是由图6所示的公共测试库的管理装置进行优化得到的。与图6所示的公共测试库的管理装置相比较,图7所示的公共测试库的管理装置还可以包括:第二获取单元507、确定单元508、回复单元509、发送单元510、绑定单元511、第二检测单元512以及释放单元513,其中,

第二获取单元507,用于在第一检测单元503检测到目标hive数据库的系统表中存在db_sid关键字段和/或region_sid关键字段,调整单元504调整上述身份标识所属系统的权限为查看权限,以使该身份标识所属系统无法修改目标hive数据库的数据之后,获取目标hive数据库的日志文件。

确定单元508,用于根据日志文件,确定目标hive数据库的系统表的目标更新记录。

本发明实施例中,目标更新记录为在上述身份标识所属系统使用目标hive数据库后,该目标hive数据库的系统表的更新记录。

恢复单元509,用于根据目标更新记录,将目标hive数据库的系统表恢复至合规状态。

本发明实施例中,合规状态为目标更新记录中产生db_sid关键字段和/或region_sid关键字段前的状态。

本发明实施例中,目标hive数据库的系统表中数据每一次更新,目标hive数据库的日志文件都会有记录,因此,确定单元508可以根据日志文件来确定目标hive数据库的系统表的目标更新记录,其中,目标更新记录为在上述身份标识所属系统使用目标hive数据库后,目标hive数据库的系统表的更新记录,然后恢复单元509根据该目标更新记录,将目标hive数据库的系统表恢复至产生db_sid关键字段和/或region_sid关键字段前的状态。

发送单元510,用于在恢复单元509根据目标更新记录,将目标hive数据库的系统表恢复至合规状态之后,发送越权信息给上述身份标识所属系统,以警示操作该身份标识所属系统的用户越权使用目标hive数据库。

作为一种可选的实施方式,在发送单元510发送越权信息给身份标识所属系统之后,还可以执行以下步骤:

对该身份标识所属系统进行标记并记录;

检测该身份标识所属系统被记录的次数是否超过预设次数;

若超过,发送警报信号给相关管理人员使用的终端,以使相关管理人员着重处理。

本发明实施例中,预设次数可以为开发人员经过大量实验结果而设定的次数,本发明实施例不作限定。在本发明实施例中,若检测到该身份标识所属系统被记录的次数超过预设次数,表明该身份标识所属系统已经多次越权使用,为了保证公共测试库的数据安全,发送单元510可以发送警报信号给相关管理人员使用的终端,以使相关管理人员着重处理。

实施该实施方式,通过检测身份标识所属系统被记录的次数是否超过预设次数,若超过,表明该身份标识所属系统已经多次越权使用,发送单元510可以发送警报信号给相关管理人员使用的终端,以使相关管理人员着重处理,能够防止公共测试库的数据泄露,保证公共测试库的数据安全。

绑定单元511,用于在判断子单元5022判断出上述身份标识所属系统与业务表中当前时刻所指示的主负责系统相匹配,第二确定子单元5024确定该身份标识所属系统为目标hive数据库的主负责系统之后,利用排它锁,将主负责系统和目标hive数据库进行绑定,以使除主负责系统外的其他系统无法修改目标hive数据库的数据。

本发明实施例中,排它锁是防止除主负责系统外的其他系统修改目标hive数据库的系统表中的数据的锁。

第二检测单元512,用于在绑定单元511利用排它锁,将主负责系统和目标hive数据库进行绑定,以使除主负责系统外的其他系统无法修改目标hive数据库的数据之后,检测是否接收到结束指令。

本发明实施例中,结束指令用于指示主负责系统结束使用目标hive数据库。

释放单元513,用于当第二检测单元512检测接收到结束指令时,释放排它锁,以使目标hive数据库恢复至空闲状态。

可见,与实施图6所描述的公共测试库的管理装置相比,实施图7所描述的公共测试库的管理装置,根据目标更新记录将目标hive数据库的系统表恢复至合规状态,能够将目标hive数据库的系统表恢复正常,以使该目标hive数据库的主负责系统能够正常使用。此外,发送越权信息给身份标识所属系统,能够及时警示操作该身份标识所属系统的用户,以使该用户暂停使用目标hive数据库。此外,利用排它锁将主负责系统和目标hive数据库进行绑定,能够防止除主负责系统外的其他系统修改目标hive数据库的数据,保证主负责系统的正常使用。此外,当接收到结束指令时,释放排它锁,能够使目标hive数据库恢复至空闲状态,保证下一阶段的正常使用。

本发明还提供一种电子设备,该电子设备包括:

处理器;

存储器,该存储器上存储有计算机可读指令,该计算机可读指令被处理器执行时,实现如前所示的一种公共测试库的管理方法。

该电子设备可以是图1所示装置100。

在一示例性实施例中,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时,实现如前所示的一种公共测试库的管理方法。

应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围执行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1