本发明涉及人工智能的大数据
技术领域:
:,尤其涉及一种信息还原方法、装置、计算机系统及可读存储介质。
背景技术:
::目前的数据库客户端工具,都是直连到数据库,然后读取数据、展示数据。而在某些特殊的情况下,如数据安全的考虑等,是无法通过直接连接到数据库的,必须经由多台跳板机才能够连接到数据库。这种情况,通常只能使用ssh工具一级一级连接跳板机,然后最后连接到数据库所在的目标机。此时,只能通过命令行终端使用数据库命令来对数据库进行操作。这种方式与数据库客户端工具相比,其缺点是没有对所查询得到的数据进行清晰的展示,即:其获得的目标数据通常是以字符串的形式展示的,故无法区分其内部的子数据,并且还会打乱各子数据之间的对应关系;因此得到的数据可读性很差,导致使用者无法准确获知目标数据所表达的含义,使得该目标数据无法使用。技术实现要素:本发明的目的是提供一种信息还原方法、装置、计算机系统及可读存储介质,用于解决现有技术存在的得到的数据可读性差的问题;本申请可应用于智慧政务场景中,从而推动智慧城市的建设。为实现上述目的,本发明提供一种信息还原方法,包括:调用预置命令登陆跳板机以访问目标主机;通过查询语句从目标主机中查找目标数据;依次对所述目标数据中的子数据标注下标,以获得具有下标的二维数组;其中,所述子数据是所述目标数据的组成部分,所述下标用于表达子数据在目标数据中的位置,其包括横坐标和纵坐标;调用预置函数根据所述下标对二维数组中各子数据进行定位,获得用于展示目标数据的整理表。上述方案中,所述跳板机配置有至少具有一个备用机,以及用于将所述跳板机中的流量调度至所述备用机的负载均衡器;调用预置命令登陆跳板机以访问目标主机包括:接收跳板机发送的异常信号,根据所述异常信号调用负载均衡器中预设的负载均衡策略,以将所述跳板机的流量部分或全部路由至与所述跳板机对应的备选机上。上述方案中,所述异常信号的类型包括设备异常和负载超压;根据所述异常信号调用负载均衡器中预设的负载均衡策略,以将所述跳板机的流量部分或全部路由至与所述跳板机对应的备选机上的步骤,包括:识别所述异常信号的类型;若所述类型为设备异常,则调用所述负载均衡策略中的全切换策略,以将所述跳板机的流量全部路由至与所述跳板机对应的备选机上;若所述类型为负载超压,则调用所述负载均衡策略中的部分切换策略,以将所述跳板机的流量部分路由至与所述跳板机对应的备选机上。上述方案中,通过查询语句从目标主机中查找目标数据之后,还包括:拆分所述目标数据形成至少一个子数据;其包括:以所述目标数据中的空格、换行或标点为分隔符,拆分所述目标数据以获得至少一个子数据。上述方案中,依次对所述目标数据中的子数据标注下标,以获得具有下标的二维数组的步骤,包括:创建用于对子数据下标赋值的标注组件,在所述目标数据的子数据中添加值为初始值的下标,其中,所述标注组件中具有可变的横向值和纵向值;初始化所述标注组件的横向值;提取所述目标数据中的子数据,判断所述子数据中是否具有换行正则表达式;若是,则在所述标注组件的纵向值上增加第二固定值,并将所述标注组件的横向值和纵向值赋以所述子数据的下标,及初始化所述标注组件的横坐标;若否,则在所述标注组件的横向值上增加第一固定值,并将所述标注组件的横向值和纵向值赋以所述子数据的下标,及识别在所述目标数据中位于所述子数据下一顺位的子数据;判断所述下一顺位的子数据是否为空,若否,则提取目标数据中所述下一顺位的子数据,判断该子数据中是否具有换行正则表达式;若是,将所述目标数据中的子数据及其下标设为二维数组。上述方案中,调用预置函数根据所述下标对二维数组中各子数据进行定位,获得用于展示目标数据的整理表的步骤包括:将横坐标一致的子数据设为单行信息,并通过调用预置函数中的第一子函数定位所述单行信息;调用预置函数中的第二子函数按照单行信息中各子数据的纵坐标,对各子数据进行定位;在完成二位数组中所有子数据的定位时将获得定位代码,运行所述定位代码将获得用于展示目标数据的整理表。上述方案中,获得用于展示目标数据的整理表之后,还包括:调用表格接口生成表格,调用所述表格接口中的预置函数将所述二维数组映射到所述表格中获得数据表;将所述整理表和/或数据表上传至区块链中。为实现上述目的,本发明还提供一种信息还原装置,包括:登陆模块,用于调用预置命令登陆跳板机以访问目标主机;查找模块,用于通过查询语句从目标主机中查找目标数据;标注模块,用于依次对所述目标数据中的子数据标注下标,以获得具有下标的二维数组;其中,所述子数据是所述目标数据的组成部分,所述下标用于表达子数据在目标数据中的位置,其包括横坐标和纵坐标;定位模块,用于调用预置函数根据所述下标对二维数组中各子数据进行定位,获得用于展示目标数据的整理表。为实现上述目的,本发明还提供一种计算机系统,其包括多个计算机设备,各计算机设备包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述多个计算机设备的处理器执行所述计算机程序时共同实现上述信息还原方法的步骤。为实现上述目的,本发明还提供一种计算机可读存储介质,其包括多个存储介质,各存储介质上存储有计算机程序,所述多个存储介质存储的所述计算机程序被处理器执行时共同实现上述信息还原方法的步骤。本发明提供的一种信息还原方法、装置、计算机系统及可读存储介质,通过查询语句从所述目标主机的数据库中查询目标数据,获得的目标数据通常是以字符串的形式表现的;通过对各子数据进行定位,并将其整理为整齐对应的整理表以展示目标数据,完整还原了目标数据在原目标主机中的格式,以及为还原目标数据中各子数据在目标主机时的位置、格式以及各子数据之间的对应关系,保证了得到目标数据的可读性,为使用者准确快速获得目标数据所表达的信息提供了便利,使目标数据能够得以使用。附图说明图1为本发明信息还原方法实施例一的流程图;图2是本发明信息还原方法实施例二中信息还原方法的具体方法流程图;图3是本发明信息还原方法实施例二中信息还原方法中将所述跳板机的流量部分或全部路由至与所述跳板机对应的备选机具体流程图;图4是本发明信息还原方法实施例二中信息还原方法中获得具有下标的二维数组的具体流程图;图5是本发明信息还原方法实施例二中信息还原方法中获得用于展示目标数据的整理表的具体流程图;图6为本发明信息还原装置实施例三的程序模块示意图;图7为本发明计算机系统实施例四中计算机设备的硬件结构示意图。具体实施方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本发明提供的信息还原方法、装置、计算机系统及可读存储介质,适用于人工智能的大数据
技术领域:
:,为提供一种基于登陆模块、查找模块、标注模块和定位模块的信息还原方法。本发明通过调用linux的ssh命令登陆跳板机以访问目标主机;通过查询语句从目标主机中查找目标数据;依次对所述目标数据中的子数据标注下标,以获得具有下标的二维数组;调用table函数根据所述下标对二维数组中各子数据进行定位,获得用于展示目标数据的整理表。实施例一:请参阅图1,本实施例的一种信息还原方法,包括:s101:调用预置命令登陆跳板机以访问目标主机,其中,所述跳板机配置有至少具有一个备用机,以及用于将所述跳板机中的流量调度至所述备用机的负载均衡器;s102:通过查询语句从目标主机中查找目标数据;s104:依次对所述目标数据中的子数据标注下标,以获得具有下标的二维数组;其中,所述子数据是所述目标数据的组成部分,所述下标用于表达子数据在目标数据中的位置,其包括横坐标和纵坐标;s105:调用预置函数根据所述下标对二维数组中各子数据进行定位,获得用于展示目标数据的整理表。在示例性的实施例中,调用预置命令,如:linux的ssh命令登录跳板机以访问目标主机时,可以在某一级跳板机配置至少一台备选跳板机作为备用机,配置跳板机时,为防止跳板机访问量过大,通过进行负载均衡配置,对跳板机的访问进行限制。一旦某一跳板机出现问题,负载均衡器将流量路由至与跳板机对应的备用机上,并通过该备用机访问下一级跳板机。而如果某一跳板机当前的访问量过大时,可以通过预设在负载均衡器中的负载均衡策略,将流量路由至与跳板机对应的备选机上,使所述跳板机和备选机共同处理所述流量并访问下一级跳板机。访问目标主机的数据库或通过目标主机能够连接的数据库,并通过查询语句从所述目标主机的数据库中查询目标数据,其中,所述查询语句为sql语句。由于通过跳板机访问目标主机所获得的目标数据通常是以字符串的形式表现的,因此,如果将该目标数据直接返回并展示将会造成信息展示混乱,表达含义不清的问题发生;因此,为识别目标数据中各信息的构成,需要对目标数据进行拆分,以明晰目标数据中各子数据。在获得经过分割的子数据后,为识别各子数据在目标主机时的位置,需要对各子数据标注下标以对其进行定位,并最终获得对目标数据中各子数据定位的二维数组。为还原目标数据中各子数据在目标主机时的位置、格式以及各子数据之间的对应关系,通过对各子数据进行定位,并将其整理为整齐对应的整理表以展示目标数据,完整还原了目标数据在原目标主机中的格式,以及为还原目标数据中各子数据在目标主机时的位置、格式以及各子数据之间的对应关系,为使用者准确快速获得目标数据所表达的信息提供了便利,使目标数据能够得以使用,保证测试工作的正常进行。本申请可应用于智慧政务场景中,从而推动智慧城市的建设。实施例二:本实施例为上述实施例一的一种具体应用场景,通过本实施例,能够更加清楚、具体地阐述本发明所提供的方法。下面,以在运行有信息还原方法的服务器中,对所述目标数据中的子数据标注下标及对各子数据进行定位,获得用于展示目标数据的整理表为例,来对本实施例提供的方法进行具体说明。需要说明的是,本实施例只是示例性的,并不限制本发明实施例所保护的范围。图2是本发明一个实施例提供的一种信息还原方法的具体方法流程图,该方法具体包括步骤s201至s206。s201:调用预置命令登陆跳板机以访问目标主机,其中,所述跳板机配置有至少具有一个备用机,以及用于将所述跳板机中的流量调度至所述备用机的负载均衡器。本步骤中,所述阈值命令为linux的ssh命令,通过调用linux的ssh命令以登陆跳板机,并通过所述跳板机登陆到目标主机。示例性地,调用用户侧服务器中linux的ssh命令,登录跳板机a,当跳板机a登陆成功后,通过当前的登录态,继续调用linux的ssh命令,登录到跳板机b;重复以上步骤直至登陆到跳板机n,通过跳板机n再次调用linux的ssh命令登录到目标主机。于本实施例中,跳板机配置有至少一台用于接收并处理所述跳板机流量的备用机;进一步地,调用linux的ssh命令登陆跳板机以访问目标主机包括:接收跳板机发送的异常信号,根据所述异常信号调用负载均衡器中预设的负载均衡策略,以将所述跳板机的流量部分或全部路由至与所述跳板机对应的备选机上。具体的,所述异常信号的类型包括设备异常和负载超压;请参阅图3,根据所述异常信号调用负载均衡器中预设的负载均衡策略,以将所述跳板机的流量部分或全部路由至与所述跳板机对应的备选机上的步骤,包括:s201-1:识别所述异常信号的类型;s201-2:若所述类型为设备异常,则调用所述负载均衡策略中的全切换策略,以将所述跳板机的流量全部路由至与所述跳板机对应的备选机上;s201-3:若所述类型为负载超压,则调用所述负载均衡策略中的部分切换策略,以将所述跳板机的流量部分路由至与所述跳板机对应的备选机上。示例性地,调用linux的ssh命令登录跳板机以访问目标主机时,可以在某一级跳板机配置至少一台备选跳板机作为备用机,配置跳板机时,为防止跳板机访问量过大,通过进行负载均衡配置,对跳板机的访问进行限制。一旦某一跳板机出现问题,通过负载均衡器将流量路由至与跳板机对应的备用机上,并通过该备用机访问下一级跳板机。而如果某一跳板机当前的访问量过大时,可以通过预设在负载均衡器中的负载均衡策略,将流量路由至与跳板机对应的备选机上,使所述跳板机和备选机共同处理所述流量并访问下一级跳板机。需要说明的是,设备异常类型的异常信息是跳板机的故障监控模块根据对所述跳板机的健康状况进行评价所生成的;负载超压类型的异常信息是跳板机的流量监控模块判定所述跳板机接收到的流量超过了预设的流量阈值所生成的;全切换策略是控制负载均衡器将流量从跳板机上,完全切换至与其对应的备用机上的计算机组策略或路由规则;部分切换策略是控制负载均衡器将流量从跳板机上,部分(如:将50%的流量)切换至与其对应的备用机上的计算机组策略或路由规则。s202:通过查询语句从目标主机中查找目标数据。示例性地,访问目标主机的数据库或通过目标主机能够连接的数据库,并通过查询语句从所述目标主机的数据库中查询目标数据,其中,所述查询语句为sql语句。s203:拆分所述目标数据形成至少一个子数据。由于通过跳板机访问目标主机所获得的目标数据通常是以字符串的形式表现的,因此,如果将该目标数据直接返回并展示将会造成信息展示混乱,表达含义不清的问题发生;因此需要首先对目标数据进行拆分,以明晰目标数据中各组成元素,也就是所述子数据。示例性地,以所述目标数据中的空格、换行或标点为分隔符,拆分所述目标数据以获得至少一个子数据。s204:依次对所述目标数据中的子数据标注下标,以获得具有下标的二维数组;其中,所述子数据是所述目标数据的组成部分,所述下标用于表达子数据在目标数据中的位置,所述下标包括横坐标和纵坐标。在获得经过分割的子数据后,为识别各子数据在目标主机时的位置,需要对各子数据标注下标以对其进行定位,并最终获得对目标数据中各子数据定位的二维数组。在一个优选的实施例中,请参阅图4,依次对所述目标数据中的子数据标注下标,以获得具有下标的二维数组的步骤,包括:s204-1:创建用于对子数据下标赋值的标注组件,在所述目标数据的子数据中添加值为初始值的下标,其中,所述标注组件中具有可变的横向值和纵向值。可选的,所述初始值为(1,1);需要说明的是,可采用matlab软件作为所述标注组件,所述matlab软件是一种用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,其主要包括matlab和simulink两大部分。本步骤中,所述标注组件将其横向值和纵向值对赋以所述子数据的下标,以对所述下标的横坐标和纵坐标进行赋值。s204-2:初始化所述标注组件的横向值。于本实施例中,初始化横向值为将所述横向值改为1。s204-3:提取所述目标数据中的子数据,判断所述子数据中是否具有换行正则表达式;若是,则在所述标注组件的纵向值上增加第二固定值,并将所述标注组件的横向值和纵向值赋以所述子数据的下标,及执行s204-2以初始化所述标注组件的横坐标;若否,则在所述标注组件的横向值上增加第一固定值,并将所述标注组件的横向值和纵向值赋以所述子数据的下标,及识别在所述目标数据中位于所述子数据下一顺位的子数据并执行所述s204-4;本步骤中,所述第一固定值和第二固定值可分别为1,所述换行正则表达式为\n。s204-4:判断所述下一顺位的子数据是否为空,若否,则执行所述s204-3以提取目标数据中所述下一顺位的子数据,判断该子数据中是否具有换行正则表达式;若是,将所述目标数据中的子数据及其下标设为二维数组。例如:目标数据为:班级姓名性别成绩\n一年二班张三男100\n一年二班李四男80\n一年二班王五男90\n。通过上述步骤将获得二位数组,如:班级(1,1)姓名(1,2)性别(1,3)成绩(1,4)\n一年二班(2,1)张三(2,2)男(2,3)100(2,4)\n一年二班(3,1)李四(3,2)男(3,3)80(3,4)\n一年二班(4,1)王五(4,2)男(4,3)90(4,4)\n。s205:调用table函数根据所述下标对二维数组中各子数据进行定位,获得用于展示目标数据的整理表。为还原目标数据中各子数据在目标主机时的位置、格式以及各子数据之间的对应关系,通过对各子数据进行定位,并将其整理为整齐对应的整理表以展示目标数据。在一个优选的实施例中,请参阅图5,调用预置函数根据所述下标对二维数组中各子数据进行定位,获得用于展示目标数据的整理表的步骤包括:s205-1:将横坐标一致的子数据设为单行信息,并通过调用预置函数中的第一子函数定位所述单行信息;于本实施例中,所述预置函数为table函数,所述第一子函数为tr函数。s205-2:调用预置函数中的第二子函数按照单行信息中各子数据的纵坐标,对各子数据进行定位;于本实施例中,所述预置函数为table函数,所述第二子函数为td函数。s205-3:在完成二位数组中所有子数据的定位时将获得定位代码,运行所述定位代码将获得用于展示目标数据的整理表。例如:<tableborder="1"><tr><td>row1,colum1</td>将下标为(1,1)的子数据定位在第一行第一列<td>row1,colum2</td>将下标为(1,2)的子数据定位在第一行第二列</tr>将下标中横坐标为1的单行信息定位在第一行<tr><td>row2,colum1</td>将下标为(2,1)的子数据定位在第二行第一列<td>row2,colum2</td>将下标为(2,2)的子数据定位在第二行第二列</tr>将下标中横坐标为2的单行信息定位在第二行。</table>s206:调用表格接口生成表格,调用所述表格接口中的预置函数将所述二维数组映射到所述表格中获得数据表。为还原目标数据中各子数据在目标主机时的位置和格式,并将其以兼容性高的表格形式发送给其他外部设备;本步骤中的表格接口为excel接口,所述表格为excel表格,所述表格接口中的预置函数为table函数,通过调用excel接口生成excel表格,并通过下标将二维数组映射到excel表格中获得数据表,以保证获取到的数据,不仅完整还原了目标数据在原目标主机中的格式,以及各子数据之间的对应关系,还为兼容其他外部设备的使用,提供了便利。具体地,调用excel接口生成excel表格;将横坐标一致的子数据设为单行信息,并通过调用table函数中的tr函数定位所述单行信息;调用table函数中的td函数按照单行信息中各子数据的纵坐标,对各子数据进行定位;在完成二位数组中所有子数据的定位时将获得定位代码,运行所述定位代码将所述代码中各子数据映射到excel表格的单元格中以获得数据表。通过这种方法将二位数组映射到excel表格中,以便于用户端获取相应的数据表格,提高信息获取效率。例如:<tableborder="1"><tr><td>row1,colum1</td>将下标为(1,1)的子数据定位在excel表格的第一行第一列单元格中<td>row1,colum2</td>将下标为(1,2)的子数据定位在第一行第二列</tr>将下标中横坐标为1的单行信息定位在第一行<tr><td>row2,colum1</td>将下标为(2,1)的子数据定位在第二行第一列<td>row2,colum2</td>将下标为(2,2)的子数据定位在第二行第二列</tr>将下标中横坐标为2的单行信息定位在第二行。</table>优选的,获得数据表之后还可包括:将所述整理表和/或数据表上传至区块链中。需要说明的是,基于整理表和/或数据表得到对应的摘要信息,具体来说,摘要信息由整理表和/或数据表进行散列处理得到,比如利用sha256s算法处理得到。将摘要信息上传至区块链可保证其安全性和对用户的公正透明性。用户设备可以从区块链中下载得该摘要信息,以便查证整理表和/或数据表是否被篡改。本示例所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。实施例三:请参阅图6,本实施例的一种信息还原装置1,包括:登陆模块11,用于调用预置命令登陆跳板机以访问目标主机;查找模块12,用于通过查询语句从目标主机中查找目标数据;标注模块14,用于依次对所述目标数据中的子数据标注下标,以获得具有下标的二维数组;其中,所述子数据是所述目标数据的组成部分,所述下标用于表达子数据在目标数据中的位置,其包括横坐标和纵坐标;定位模块15,用于调用预置函数根据所述下标对二维数组中各子数据进行定位,获得用于展示目标数据的整理表。可选的,所述信息还原装置1还包括:拆分模块13,用于拆分所述目标数据形成至少一个子数据。可选的,所述信息还原装置1还包括:数据表模块16,用于调用表格接口生成表格,调用所述表格接口中的预置函数将所述二维数组映射到所述表格中获得数据表。本技术方案基于大数据的数据采集
技术领域:
:,通过调用预置命令登陆跳板机以访问目标主机,通过查询语句从目标主机中查找目标数据,依次对所述目标数据中的子数据标注下标,以获得具有下标的二维数组,调用预置函数根据所述下标对二维数组中各子数据进行定位,获得用于展示目标数据的整理表,以获得优化的etl架构工具。实施例四:为实现上述目的,本发明还提供一种计算机系统,该计算机系统包括多个计算机设备2,实施例三的信息还原装置1的组成部分可分散于不同的计算机设备中,计算机设备可以是执行程序的智能手机、平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个应用服务器所组成的服务器集群)等。本实施例的计算机设备至少包括但不限于:可通过系统总线相互通信连接的存储器21、处理器22,如图7所示。需要指出的是,图7仅示出了具有组件-的计算机设备,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。本实施例中,存储器21(即可读存储介质)包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器21可以是计算机设备的内部存储单元,例如该计算机设备的硬盘或内存。在另一些实施例中,存储器21也可以是计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。当然,存储器21还可以既包括计算机设备的内部存储单元也包括其外部存储设备。本实施例中,存储器21通常用于存储安装于计算机设备的操作系统和各类应用软件,例如实施例三的信息还原装置的程序代码等。此外,存储器21还可以用于暂时地存储已经输出或者将要输出的各类数据。处理器22在一些实施例中可以是中央处理器(centralprocessingunit,cpu)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器22通常用于控制计算机设备的总体操作。本实施例中,处理器22用于运行存储器21中存储的程序代码或者处理数据,例如运行信息还原装置,以实现实施例一和实施例二的信息还原方法。实施例五:为实现上述目的,本发明还提供一种计算机可读存储介质,其包括多个存储介质,如闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘、服务器、app应用商城等等,其上存储有计算机程序,程序被处理器22执行时实现相应功能。本实施例的计算机可读存储介质用于存储信息还原装置,被处理器22执行时实现实施例一和实施例二的信息还原方法。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的
技术领域:
:,均同理包括在本发明的专利保护范围内。当前第1页12当前第1页12