本公开涉及数据源检测领域,具体地,涉及一种检测数据源连接的方法、装置、存储介质及电子设备。
背景技术:
在开发共享交换平台的过程中,需要维护很多个数据源,并且数据源在配置完成后,需要对每个数据源进行连接测试。
相关技术中,通常是对每个数据源各自单独进行连接测试,开发量极大;或者是用统一的连接池去链接不同的数据源,但若获取到的数据源地址信息(如ip地址、端口号或者域名等信息)出现错误时,客户端与数据源之间的网络不连通,当前数据源的连接测试服务会出现卡死,并且对于一些非关系型数据库的集群模式下的数据源连接检测,会出现无限死循环重试的状况,这不仅会降低数据源连接测试的效率,也会占用过多的系统资源。
技术实现要素:
本公开的目的是提供一种检测数据源连接的方法、装置、存储介质及电子设备。
第一方面,提供一种检测数据源连接的方法,应用于客户端,所述方法包括:获取待检测的目标数据源的连接地址信息;根据所述连接地址信息进行telnet验证,得到所述客户端与所述目标数据源的网络服务连通结果,所述网络服务连通结果用于表示所述客户端与所述目标数据源之间的网络是否连通;若所述网络服务连通结果表示所述客户端与所述目标数据源之间的网络不连通,输出第一提示信息,所述第一提示信息用于提示用户所述客户端与所述目标数据源之间的网络不连通。
可选地,在所述根据所述连接地址信息进行telnet验证之前,所述方法还包括:对所述连接地址信息进行解析,得到地址标识信息,所述地址标识信息包括所述目标数据源对应的第一标识信息和/或第二标识信息,所述第一标识信息包括ip地址信息和端口信息,所述第二标识信息包括域名信息;所述根据所述连接地址信息进行telnet验证包括:根据所述地址标识信息进行所述telnet验证。
可选地,所述根据所述地址标识信息进行所述telnet验证包括:若所述地址标识信息为多个,依次遍历每个所述地址标识信息,并根据当前遍历的地址标识信息进行telnet验证,得到当前遍历的地址标识信息对应的telnet校验结果,直至确定当前遍历的地址标识信息对应的telnet校验结果表示所述客户端与当前遍历的地址标识信息对应的目标数据源之间的网络连通;并在确定当前遍历的地址标识信息对应的telnet校验结果表示所述客户端与当前遍历的地址标识信息对应的目标数据源之间的网络连通时,确定所述客户端与所述目标数据源之间的网络连通。
可选地,若确定每个所述地址标识信息对应的telnet校验结果,均表示所述客户端与该地址标识信息对应的目标数据源之间的网络不连通,确定所述客户端与所述目标数据源之间的网络不连通。
可选地,所述方法还包括:若所述网络服务连通结果表示所述客户端与所述目标数据源之间的网络连通,根据所述连接地址信息连接所述目标数据源,并得到连接检测结果。
可选地,所述连接检测结果包括连接成功或者连接失败,所述方法还包括:若所述连接检测结果为连接失败,获取当前的故障识别码,不同的故障识别码表示不同的连接失败原因;根据所述故障识别码进行连接故障提示。
可选地,在所述根据所述地址标识信息进行所述telnet验证之前,所述方法还包括:验证所述地址标识信息的格式是否正确;所述根据所述地址标识信息进行所述telnet验证包括:若所述地址标识信息的格式正确,根据所述地址标识信息进行所述telnet验证。
第二方面,提供一种检测数据源连接的装置,应用于客户端,所述装置包括:第一获取模块,用于获取待检测的目标数据源的连接地址信息;telnet验证模块,用于根据所述连接地址信息进行telnet验证,得到所述客户端与所述目标数据源的网络服务连通结果,所述网络服务连通结果用于表示所述客户端与所述目标数据源之间的网络是否连通;第一提示模块,用于若所述网络服务连通结果表示所述客户端与所述目标数据源之间的网络不连通,输出第一提示信息,所述第一提示信息用于提示用户所述客户端与所述目标数据源之间的网络不连通。
可选地,所述装置还包括:地址解析模块,用于对所述连接地址信息进行解析,得到地址标识信息,所述地址标识信息包括所述目标数据源对应的第一标识信息和/或第二标识信息,所述第一标识信息包括ip地址信息和端口信息,所述第二标识信息包括域名信息;所述telnet验证模块,用于根据所述地址标识信息进行所述telnet验证。
可选地,所述telnet验证模块,用于若所述地址标识信息为多个,依次遍历每个所述地址标识信息,并根据当前遍历的地址标识信息进行telnet验证,得到当前遍历的地址标识信息对应的telnet校验结果,直至确定当前遍历的地址标识信息对应的telnet校验结果表示所述客户端与当前遍历的地址标识信息对应的目标数据源之间的网络连通;并在确定当前遍历的地址标识信息对应的telnet校验结果表示所述客户端与当前遍历的地址标识信息对应的目标数据源之间的网络连通时,确定所述客户端与所述目标数据源之间的网络连通。
可选地,所述telnet验证模块,用于若确定每个所述地址标识信息对应的telnet校验结果,均表示所述客户端与该地址标识信息对应的目标数据源之间的网络不连通,确定所述客户端与所述目标数据源之间的网络不连通。
可选地,所述装置还包括:数据源连接模块,用于若所述网络服务连通结果表示所述客户端与所述目标数据源之间的网络连通,根据所述连接地址信息连接所述目标数据源,并得到连接检测结果。
可选地,所述连接检测结果包括连接成功或者连接失败,所述装置还包括:第二获取模块,用于若所述连接检测结果为连接失败,获取当前的故障识别码,不同的故障识别码表示不同的连接失败原因;第二提示模块,根据所述故障识别码进行连接故障提示。
可选地,所述装置还包括:格式验证模块,用于验证所述地址标识信息的格式是否正确;所述telnet验证模块,用于若所述地址标识信息的格式正确,根据所述地址标识信息进行所述telnet验证。
第三方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本公开第一方面所述方法的步骤。
第四方面,提供一种电子设备,包括:存储器,其上存储有计算机程序;处理器,用于执行所述存储器中的所述计算机程序,以实现本公开第一方面所述方法的步骤。
通过上述技术方案,获取待检测的目标数据源的连接地址信息,根据所述连接地址信息进行telnet验证,得到所述客户端与所述目标数据源的网络服务连通结果,所述网络服务连通结果用于表示所述客户端与所述目标数据源之间的网络是否连通,若所述网络服务连通结果表示所述客户端与所述目标数据源之间的网络不连通,输出第一提示信息,所述第一提示信息用于提示用户所述客户端与所述目标数据源之间的网络不连通,也就是说,本公开可以在对数据源进行连接检测的过程中,通过该telnet验证的方式及时获知客户端与目标数据源之间的网络是否连通,并在确定客户端与目标数据源之间的网络不连通的情况下,及时向用户反馈网络不连通的提示消息,从而可以避免在网络不连通时的服务卡死或者无限死循环重试的情况出现,这样在提高对数据源连接的检测效率的同时,也能节省系统资源。
本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
图1是根据一示例性实施例示出的第一种检测数据源连接的方法的流程图;
图2是根据一示例性实施例示出的第二种检测数据源连接的方法的流程图;
图3是根据一示例性实施例示出的第一种检测数据源连接的装置的框图;
图4是根据一示例性实施例示出的第二种检测数据源连接的装置的框图;
图5是根据一示例性实施例示出的第三种检测数据源连接的装置的框图;
图6是根据一示例性实施例示出的第四种检测数据源连接的装置的框图;
图7是根据一示例性实施例示出的第五种检测数据源连接的装置的框图;
图8是根据一示例性实施例示出的一种电子设备的结构框图。
具体实施方式
以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。
首先,对本公开的应用场景进行介绍,本公开主要应用于对数据源进行连接测试的场景中,数据源通常是指待连接的数据库的路径信息,大数据时代,要根据不同的场景或者需求选择适合自己的数据源(包括关系型或者非关系型),因此,在开发共享交换平台的过程中,需要维护很多个数据源,并且数据源在配置完成后,需要对每个数据源进行连接测试。
相关技术中,通常是对每个数据源各自单独进行连接测试,每添加一种数据源,就要重新进行开发测试,开发量极大,每种数据源配置完成后的连接检测效果都不一致;或者是用统一的连接池去链接不同的数据源,但若获取到的数据源地址信息(如ip地址、端口号或者域名等信息)出现错误的情况下会出现较长时间的延迟,在超时时间设置不合理时还会导致数据源的连接测试服务卡死,并且对于一些非关系型数据库的集群模式下的数据源连接检测,会出现无限死循环重试的状况,这不仅会降低数据源连接测试的效率,也会占用较多的系统资源。
为解决上述存在的问题,本公开提供一种检测数据源连接的方法、装置、存储介质和电子设备,可以在对数据源进行连接检测的过程中,根据获取到的待检测的目标数据源的连接地址信息进行telnet验证,以便通过该telnet验证的方式及时获知客户端与目标数据源之间的网络是否连通,并在确定客户端与目标数据源之间的网络不连通的情况下,及时向用户反馈网络不连通的提示消息,从而可以避免在网络不连通时的服务卡死或者无限死循环重试的情况出现,这样在提高对数据源连接的检测效率的同时,也能节省系统资源。
另外,本公开提供的该检测数据源连接的方法,可以支持多种数据源的连接测试,即针对关系型或者非关系型数据库,或者针对单机或者集群模式下的数据源连接测试,都可以统一进行检测验证,使得数据源连接测试更便捷,也降低了开发测试的成本,并且该检测数据源连接的方法的实现不依赖于特殊的测试环境或者工具,因此也降低了耦合性。
下面结合附图对本公开的具体实施方式进行说明。
图1是根据一示例性实施例示出的一种检测数据源连接的方法的流程图,应用于客户端,如图1所示,该方法包括以下步骤:
在步骤101中,获取待检测的目标数据源的连接地址信息。
其中,数据源通常是指待连接的数据库(例如mysql、oracle、sqlserver、hive、phoenix、hbase、postgresql、mogodb、ftp等多种数据库中的一个或者多个)的路径信息,在共享交换平台的开发测试过程中,需要配置各种数据源,并且需要对配置完成的数据源进行连接测试,该目标数据源可以包括单机模式或者集群模式下待连接的数据库的路径信息,该连接地址信息可以包括待检测目标数据源的dburl地址信息。
在步骤102中,根据该连接地址信息进行telnet验证,得到该客户端与该目标数据源的网络服务连通结果。
其中,该网络服务连通结果用于表示该客户端与该目标数据源之间的网络是否连通。
在执行本步骤之前,可以先对该连接地址信息进行解析,得到地址标识信息,然后根据该地址标识信息进行telnet验证,其中,该地址标识信息可以包括该目标数据源对应的第一标识信息和/或第二标识信息,并且该第一标识信息包括ip地址信息和端口信息,该第二标识信息包括域名信息。
在步骤103中,若该网络服务连通结果表示该客户端与该目标数据源之间的网络不连通,输出第一提示信息,该第一提示信息用于提示用户该客户端与该目标数据源之间的网络不连通。
采用上述方法,可以在对数据源进行连接检测的过程中,通过该telnet验证的方式及时获知客户端与目标数据源之间的网络是否连通,并在确定客户端与目标数据源之间的网络不连通的情况下,及时向用户反馈网络不连通的提示消息,从而可以避免在网络不连通时的服务卡死或者无限死循环重试的情况出现,这样在提高对数据源连接的检测效率的同时,也能节省系统资源。
图2是根据图1所示实施例示出的又一种检测数据源连接的方法的流程图,应用于客户端,如图2所示,该方法包括以下步骤:
在步骤201中,获取待检测的目标数据源的连接地址信息。
其中,数据源通常是指待连接的数据库(例如mysql、oracle、sqlserver、hive、phoenix、hbase、postgresql、mogodb、ftp等多种数据库中的一个或者多个)的路径信息,在共享交换平台的开发测试过程中,需要配置各种数据源,并且需要对配置完成的数据源进行连接测试,该目标数据源可以包括单机模式或者集群模式下待连接的数据库的路径信息,该连接地址信息可以包括待检测目标数据源的dburl地址信息。
在一种可能的实现方式中,可以基于数据源测试平台检测客户端与数据源的连通性,此时,用户可以在该数据源测试平台的界面上输入待检测的该目标数据源的ip地址、端口号(不同的端口号对应不同的数据库),或者输入该目标数据源的域名信息,若该目标数据源对应集群模式,用户可以输入待检测的目标数据源对应的集群服务器的网址信息,这样,安装该数据源测试平台的客户端可以基于用户输入的地址信息自动生成该dburl地址信息。
在步骤202中,对该连接地址信息进行解析,得到地址标识信息。
其中,该地址标识信息可以包括该目标数据源对应的第一标识信息和/或第二标识信息,并且该第一标识信息包括ip地址信息和端口信息,该第二标识信息包括域名信息。
本步骤对于该连接地址信息进行解析的具体实现过程可以参考相关文献中提供的现有解析方式,需要说明的是,对于服务器模式下数据源的检测验证,可以直接解析出该目标数据源的ip地址以及端口号,和/或域名,对于集群模式下数据源的检测验证,可以根据用户输入的集群服务器的网址信息(例如jdbc:phoenix:aaa.aaa.aaa.aaa,bbb.bbb.bbb.bb:2181:/xxxxx、jdbc:hive2://xxx.xxx.xxx.xxx:10000/xxx等)同时解析出该目标数据源的对应的集群模式下各个节点的数据库服务器的ip地址以及端口号,和/或域名信息。
另外,本公开在进行地址解析过程中,可以优先从获取到的dburl地址信息中解析ip地址和端口号,之后将dburl地址信息中除ip地址和端口号之外的信息重新整理继续进行二次解析,以解析出目标数据源的域名信息,这样可以避免出现解析混乱的问题,并且可以将解析出的内容以数组的形式传递给telnet流程,以便根据该地址标识信息进行telnet验证,还需说明的是,针对单机模式下的数据源连接测试场景,通常仅解析出一个该地址标识信息,针对集群模式下的数据源的连接测试场景,一般可以解析出多个该地址标识信息,每个该地址标识信息与该集群模式下的每个节点一一对应。
在步骤203中,验证该地址标识信息的格式是否正确。
考虑到若该地址标识信息的格式出现错误,也会导致客户端与目标数据源的连接失败,因此,为提高数据源连接检测的效率,同时提高用户的交互体验,可以在解析出该地址标识信息后,首先检测该地址标识信息的格式是否正确,并在确定该地址标识信息的格式出现错误时,及时输出提示信息,以提示用户输入的目标数据源的连接地址信息格式错误,并结束本次检测任务,用户可以根据该提示信息重新输入正确的该连接地址信息,并重新进行检测;在确定该地址标识信息的格式正确的前提下,再进行进一步的检测验证,这样,可以在根据该地址标识信息进行进一步的连接检测之前,首先验证是否因地址标识信息的格式错误而导致连接失败,从而提高数据源连接的检测效率,因此,若确定该地址标识信息的格式正确,执行步骤204,否则,执行步骤209。
在本步骤一种可能的实现方式中,可以将解析出的该地址标识信息的格式与预先设置的标准格式进行匹配,若该地址标识信息的格式与预先设置的标准格式一致,可以确定该地址标识信息的格式正确,反之,则不正确。
另外,考虑到相关技术在进行数据源连接检测的过程中,多通过建立连接池直接链接数据源进行测试,但若提供的数据库服务器的ip地址或者端口号出现错误,或者数据库服务器当前不能正常工作(如宕机或者未启动),客户端与待检测的数据源之间会处于网络不连通的状态,此种情况下通常会有大于30秒的延迟,若超时时间设置不合理还会导致服务卡死,并且对于一些非关系型数据库(如hive、phoenix、hbase等数据库)的集群模式的检测验证会无限次的进行重试,这无疑会占用较多的系统资源,并且数据源检测的效率也会很低,为避免出现服务卡死或者无限重连的情况出现,本公开可以通过执行步骤204,通过进行telnet验证及时获知客户端与目标数据源之间的网络连通结果,并且telnet验证在测试性能上远高于连接数据源测试,并且不存在流释放导致的服务内存溢出问题。
在步骤204中,根据该地址标识信息进行telnet验证,得到该客户端与该目标数据源的网络服务连通结果。
其中,该网络服务连通结果用于表示该客户端与该目标数据源之间的网络是否连通,在一种可能的实现方式中,可以通过执行telnet命令根据该地址标识信息进行telnet验证,并根据返回的命令执行结果(即下述提到的telnet校验结果)确定该网络服务是否连通,例如,可以根据返回的telnet校验结果中携带的预设标识确定网络服务是否连通,若该预设标识为1表示网络连通,若该预设标识为0表示网络不连通,此处仅是举例说明,本公开对此不作限定。
还需说明的是,上述已经提及,针对集群模式下的数据源的连接检测场景,一般可以解析出多个该地址标识信息,每个该地址标识信息与该集群模式下的每个节点一一对应,考虑到实际检测场景中,若确定集群模式下的任一节点对应的目标数据源与该客户端之间的网络连通,即可确定该客户端与该目标数据源之间的网络连通,因此,在本步骤中,若该地址标识信息为多个,可以依次遍历每个该地址标识信息,并根据当前遍历的地址标识信息进行telnet验证,得到当前遍历的地址标识信息对应的telnet校验结果,直至确定当前遍历的地址标识信息对应的telnet校验结果表示该客户端与当前遍历的地址标识信息对应的目标数据源之间的网络连通;并在确定当前遍历的地址标识信息对应的telnet校验结果表示该客户端与当前遍历的地址标识信息对应的目标数据源之间的网络连通时,确定该客户端与该目标数据源之间的网络连通。
若确定每个该地址标识信息对应的telnet校验结果,均表示该客户端与该地址标识信息对应的目标数据源之间的网络不连通,确定该客户端与该目标数据源之间的网络不连通。
示例地,若当前待检测的目标数据源对应的集群节点一共有3个,在执行步骤202后即解析出三个该地址标识信息,此时在根据该地址标识信息进行telnet验证的过程中,可以先遍历第一个该集群节点对应的该地址标识信息,并根据第一个该集群节点对应的该地址标识信息结合telnet命令进行telnet验证,若返回的该telnet校验结果表示客户端与该第一个集群节点对应的目标数据源之间的网络连通,可以结束遍历,并确定客户端与该目标数据源之间的网络连通;若返回的该telnet校验结果表示客户端与该第一个集群节点对应的目标数据源之间的网络不连通,可以继续遍历第二个集群节点对应的该地址标识信息,并按照同样的telnet验证方式根据第二个集群节点对应的该地址标识信息进行telnet验证,类似地,若返回的该telnet校验结果表示客户端与该第二个集群节点对应的目标数据源之间的网络连通,可以结束遍历,并确定客户端与该目标数据源之间的网络连通;若返回的该telnet校验结果表示客户端与该第二个集群节点对应的目标数据源之间的网络不连通,可以继续遍历第三个集群节点对应的该地址标识信息,若全部遍历完该3个集群节点对应的该地址标识信息后,得到的该telnet校验结果均表示该客户端与该地址标识信息对应的目标数据源之间的网络不连通,可以确定该客户端与该目标数据源之间的网络不连通,上述示例仅是举例说明,本公开对此不作限定。
若该网络服务连通结果表示该客户端与该目标数据源之间的网络不连通,可以通过执行步骤205,使得用户及时获知网络不连通的检测结果,同时可以结束本次网络连通性的检测任务,避免在网络不连通时重复连接测试造成的服务卡死及资源浪费问题,并且也能提高数据源连接检测的效率,若该网络服务连通结果表示该客户端与该目标数据源之间的网络连通,可以执行步骤206,从而可以在ip或者域名都连接成功的情况下,进一步检测用户的登录认证信息或者反馈数据源服务当前的状态。
在步骤205中,输出第一提示信息,该第一提示信息用于提示用户该客户端与该目标数据源之间的网络不连通。
需要说明的是,实际的网络连通性检测场景中,导致客户端与数据源之间的网络不连通的原因通常有两种,一是ip地址、端口号或者域名出现错误,另一个就是数据源对应的数据库服务器当前处于未工作状态(即宕机或者未启动),在本公开中,可以针对多种原因导致的网络不连通统一进行用户提示。
在步骤206中,根据该连接地址信息连接该目标数据源,并得到连接检测结果。
其中,该连接检测结果包括连接成功或者连接失败。
在本步骤一种可能的实现方式中,可以识别该连接地址信息,得到该目标数据源下待连接的目标数据库的驱动类型(不同的数据库对应的驱动类型也不相同),然后获取用户输入的该目标数据库的登录认证信息,该登录认证信息包括用户名和密码等认证信息,这样可以使用该目标数据源对应的连接池(如hikaricp、druid、tomcat-jdbc、dbcp以及c3p0多种连接池中的任一种连接池,通常可以选择性能最优的hikaricp),通过该驱动类型以及该登录认证信息连接该目标数据源,在此过程中,若该登录认证信息认证通过,并且该目标数据源服务正常的情况下,可以成功连接到该目标数据源,若该登录认证信息未认证通过,或者该目标数据源服务出现异常,仍然无法连接到该目标数据源,因此,在执行本步骤后,得到的该连接检测结果包括连接成功或者连接失败。
还需说明的是,采用本公开提供的该数据源连接检测方法,针对phoenix这一类的数据库的数据源进行连接测试时,需要对phoenix数据库对应的数据源的连接池进行重新封装,即可以通过线程池控制连接的超时时间,以避免出现无限重试的情况。
若该连接检测结果为连接失败,执行步骤207至步骤208;若该接检测结果为连接成功,执行步骤210。
在步骤207中,若该连接检测结果为连接失败,获取当前的故障识别码,不同的故障识别码表示不同的连接失败原因。
为提高用户的交互体验,若该连接检测结果为连接失败,可以进一步对导致连接失败的原因进行分类,以便根据不同的故障原因进行相应的连接故障提示,因此,在本步骤中,可以获取当前的故障识别码,不同的故障识别码表示不同的连接失败原因,例如,若该故障识别码为xxx0,表示用户输入的用户名或者密码错误,若该故障识别码为xxx1,表示数据源服务出现异常,此处仅是举例说明,本公开对此不作限定。
在步骤208中,根据该故障识别码进行连接故障提示。
示例地,若该故障识别码为xxx0,可以输出用以提示用户输入的用户名或者密码错误的提示信息,若该故障识别码为xxx1,可以输出用以提示用户数据源服务出现异常的提示信息,此处仅是举例说明,本公开对此不作限定,这样,用户可以根据不同的提示信息及时采取相应的措施,提高检测效率。
在步骤209中,输出第二提示信息,该第二提示信息用于提示用户输入的该连接地址信息格式错误。
在步骤210中,输出第三提示信息,该第三提示信息用于提示客户端与该目标数据源连接成功。
采用上述方法,可以在对数据源进行连接检测的过程中,根据获取到的待检测的目标数据源的连接地址信息进行telnet验证,以便通过该telnet验证的方式及时获知客户端与目标数据源之间的网络是否连通,并在确定客户端与目标数据源之间的网络不连通的情况下,及时向用户反馈网络不连通的提示消息,从而可以避免在网络不连通时的服务卡死或者无限死循环重试的情况出现,这样,在提高对数据源连接的检测效率的同时,也能节省系统资源;另外,本公开还可以在确定客户端与目标数据源之间的网络连通的情况下,进一步检测数据库的登录认证信息是否正确,并进行不同的连接故障提示,并且本公开提供的该检测数据源连接的方法,可以支持多种数据源的连接测试,即针对关系型或者非关系型数据库,或者针对单机或者集群模式下的数据源连接测试,都可以统一进行检测验证,使得数据源连接测试更便捷,也降低了开发测试的成本,并且该检测数据源连接的方法的实现不依赖于特殊的测试环境或者工具,因此也降低了耦合性。
图3是根据一示例性实施例示出的一种检测数据源连接的装置的框图,应用于客户端,如图3所示,该装置包括:
第一获取模块301,用于获取待检测的目标数据源的连接地址信息;
telnet验证模块302,用于根据该连接地址信息进行telnet验证,得到该客户端与该目标数据源的网络服务连通结果,该网络服务连通结果用于表示该客户端与该目标数据源之间的网络是否连通;
第一提示模块303,用于若该网络服务连通结果表示该客户端与该目标数据源之间的网络不连通,输出第一提示信息,该第一提示信息用于提示用户该客户端与该目标数据源之间的网络不连通。
可选地,图4是根据图3所示实施例示出的一种检测数据源连接的装置的框图,如图4所示,该装置还包括:
地址解析模块304,用于对该连接地址信息进行解析,得到地址标识信息,该地址标识信息包括该目标数据源对应的第一标识信息和/或第二标识信息,该第一标识信息包括ip地址信息和端口信息,该第二标识信息包括域名信息;
该telnet验证模块302,用于根据该地址标识信息进行该telnet验证。
可选地,该telnet验证模块302,用于若该地址标识信息为多个,依次遍历每个该地址标识信息,并根据当前遍历的地址标识信息进行telnet验证,得到当前遍历的地址标识信息对应的telnet校验结果,直至确定当前遍历的地址标识信息对应的telnet校验结果表示该客户端与当前遍历的地址标识信息对应的目标数据源之间的网络连通;并在确定当前遍历的地址标识信息对应的telnet校验结果表示该客户端与当前遍历的地址标识信息对应的目标数据源之间的网络连通时,确定该客户端与该目标数据源之间的网络连通。
可选地,该telnet验证模块302,用于若确定每个该地址标识信息对应的telnet校验结果,均表示该客户端与该地址标识信息对应的目标数据源之间的网络不连通,确定该客户端与该目标数据源之间的网络不连通。
可选地,图5是根据图4所示实施例示出的一种检测数据源连接的装置的框图,如图5所示,该装置还包括:
数据源连接模块305,用于若该网络服务连通结果表示该客户端与该目标数据源之间的网络连通,根据该连接地址信息连接该目标数据源,并得到连接检测结果。
可选地,图6是根据图5所示实施例示出的一种检测数据源连接的装置的框图,该连接检测结果包括连接成功或者连接失败,如图6所示,该装置还包括:
第二获取模块306,用于若该连接检测结果为连接失败,获取当前的故障识别码,不同的故障识别码表示不同的连接失败原因;
第二提示模块307,根据该故障识别码进行连接故障提示。
可选地,图7是根据图4至图6该实施例中的任一实施例示出的一种检测数据源连接的装置的框图,如图7所示,该装置还包括:
格式验证模块308,用于验证该地址标识信息的格式是否正确;
该telnet验证模块302,用于若该地址标识信息的格式正确,根据该地址标识信息进行该telnet验证。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
采用上述装置,可以在对数据源进行连接检测的过程中,通过该telnet验证的方式及时获知客户端与目标数据源之间的网络是否连通,并在确定客户端与目标数据源之间的网络不连通的情况下,及时向用户反馈网络不连通的提示消息,从而可以避免在网络不连通时的服务卡死或者无限死循环重试的情况出现,这样在提高对数据源连接的检测效率的同时,也能节省系统资源。
图8是根据一示例性实施例示出的一种电子设备800的框图。如图8所示,该电子设备800可以包括:处理器801,存储器802。该电子设备800还可以包括多媒体组件803,输入/输出(i/o)接口804,以及通信组件805中的一者或多者。
其中,处理器801用于控制该电子设备800的整体操作,以完成上述的检测数据源连接的方法中的全部或部分步骤。存储器802用于存储各种类型的数据以支持在该电子设备800的操作,这些数据例如可以包括用于在该电子设备800上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该存储器802可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(staticrandomaccessmemory,简称sram),电可擦除可编程只读存储器(electricallyerasableprogrammableread-onlymemory,简称eeprom),可擦除可编程只读存储器(erasableprogrammableread-onlymemory,简称eprom),可编程只读存储器(programmableread-onlymemory,简称prom),只读存储器(read-onlymemory,简称rom),磁存储器,快闪存储器,磁盘或光盘。多媒体组件803可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器802或通过通信组件805发送。音频组件还包括至少一个扬声器,用于输出音频信号。i/o接口804为处理器801和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件805用于该电子设备800与其他设备之间进行有线或无线通信。无线通信,例如wi-fi,蓝牙,近场通信(nearfieldcommunication,简称nfc),2g、3g、4g、nb-iot、emtc、或其他5g等等,或它们中的一种或几种的组合,在此不做限定。因此相应的该通信组件805可以包括:wi-fi模块,蓝牙模块,nfc模块等等。
在一示例性实施例中,电子设备800可以被一个或多个应用专用集成电路(applicationspecificintegratedcircuit,简称asic)、数字信号处理器(digitalsignalprocessor,简称dsp)、数字信号处理设备(digitalsignalprocessingdevice,简称dspd)、可编程逻辑器件(programmablelogicdevice,简称pld)、现场可编程门阵列(fieldprogrammablegatearray,简称fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的检测数据源连接的方法。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的检测数据源连接的方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器802,上述程序指令可由电子设备800的处理器801执行以完成上述的检测数据源连接的方法。
在另一示例性实施例中,还提供一种计算机程序产品,该计算机程序产品包含能够由可编程的装置执行的计算机程序,该计算机程序具有当由该可编程的装置执行时用于执行上述的检测数据源连接的方法的代码部分。
以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。
此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。
技术特征:
1.一种检测数据源连接的方法,其特征在于,应用于客户端,所述方法包括:
获取待检测的目标数据源的连接地址信息;
根据所述连接地址信息进行telnet验证,得到所述客户端与所述目标数据源之间的网络服务连通结果,所述网络服务连通结果用于表示所述客户端与所述目标数据源之间的网络是否连通;
若所述网络服务连通结果表示所述客户端与所述目标数据源之间的网络不连通,输出第一提示信息,所述第一提示信息用于提示用户所述客户端与所述目标数据源之间的网络不连通。
2.根据权利要求1所述的方法,其特征在于,在所述根据所述连接地址信息进行telnet验证之前,所述方法还包括:
对所述连接地址信息进行解析,得到地址标识信息,所述地址标识信息包括所述目标数据源对应的第一标识信息和/或第二标识信息,所述第一标识信息包括ip地址信息和端口信息,所述第二标识信息包括域名信息;
所述根据所述连接地址信息进行telnet验证包括:
根据所述地址标识信息进行所述telnet验证。
3.根据权利要求2所述的方法,其特征在于,所述根据所述地址标识信息进行所述telnet验证包括:
若所述地址标识信息为多个,依次遍历每个所述地址标识信息,并根据当前遍历的地址标识信息进行telnet验证,得到当前遍历的地址标识信息对应的telnet校验结果,直至确定当前遍历的地址标识信息对应的telnet校验结果表示所述客户端与当前遍历的地址标识信息对应的目标数据源之间的网络连通;并在确定当前遍历的地址标识信息对应的telnet校验结果表示所述客户端与当前遍历的地址标识信息对应的目标数据源之间的网络连通时,确定所述客户端与所述目标数据源之间的网络连通。
4.根据权利要求3所述的方法,其特征在于,若确定每个所述地址标识信息对应的telnet校验结果,均表示所述客户端与该地址标识信息对应的目标数据源之间的网络不连通,确定所述客户端与所述目标数据源之间的网络不连通。
5.根据权利要求3所述的方法,其特征在于,所述方法还包括:
若所述网络服务连通结果表示所述客户端与所述目标数据源之间的网络连通,根据所述连接地址信息连接所述目标数据源,并得到连接检测结果。
6.根据权利要求5所述的方法,其特征在于,所述连接检测结果包括连接成功或者连接失败,所述方法还包括:
若所述连接检测结果为连接失败,获取当前的故障识别码,不同的故障识别码表示不同的连接失败原因;
根据所述故障识别码进行连接故障提示。
7.根据权利要求2至6任一项所述的方法,其特征在于,在所述根据所述地址标识信息进行所述telnet验证之前,所述方法还包括:
验证所述地址标识信息的格式是否正确;
所述根据所述地址标识信息进行所述telnet验证包括:
若所述地址标识信息的格式正确,根据所述地址标识信息进行所述telnet验证。
8.一种检测数据源连接的装置,其特征在于,应用于客户端,所述装置包括:
第一获取模块,用于获取待检测的目标数据源的连接地址信息;
telnet验证模块,用于根据所述连接地址信息进行telnet验证,得到所述客户端与所述目标数据源的网络服务连通结果,所述网络服务连通结果用于表示所述客户端与所述目标数据源之间的网络是否连通;
第一提示模块,用于若所述网络服务连通结果表示所述客户端与所述目标数据源之间的网络不连通,输出第一提示信息,所述第一提示信息用于提示用户所述客户端与所述目标数据源之间的网络不连通。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-7中任一项所述方法的步骤。
10.一种电子设备,其特征在于,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现权利要求1-7中任一项所述方法的步骤。
技术总结
本公开涉及一种检测数据源连接的方法、装置、存储介质及电子设备,首先获取待检测的目标数据源的连接地址信息,然后根据所述连接地址信息进行telnet验证,得到所述客户端与所述目标数据源的网络服务连通结果,所述网络服务连通结果用于表示所述客户端与所述目标数据源之间的网络是否连通,若所述网络服务连通结果表示所述客户端与所述目标数据源之间的网络不连通,输出第一提示信息,所述第一提示信息用于提示用户所述客户端与所述目标数据源之间的网络不连通。
技术研发人员:刘译璟;于帮付;赵丹;张叶青;李鹏;杨威;苏萌;左云鹏
受保护的技术使用者:北京百分点信息科技有限公司
技术研发日:.11.20
技术公布日:.02.28