一种免安装客户端的连接TDengine的方法和系统与流程

文档序号:30829397发布日期:2022-07-22 20:23阅读:462来源:国知局
一种免安装客户端的连接TDengine的方法和系统与流程
一种免安装客户端的连接tdengine的方法和系统
技术领域
1.本发明涉及数据处理技术领域,尤其涉及一种免安装客户端的连接tdengine的方法和系统。


背景技术:

2.tdengine是涛思数据专为物联网、车联网、工业互联网、it运维等设计和优化的大数据平台。除核心的快10倍以上的时序数据库功能外,还提供缓存、数据订阅、流式计算等功能,最大程度减少研发和运维的复杂度,且核心代码,包括集群功能全部开源。spark是一个用于大规模数据处理的统一分析引擎,spark使用最先进的dag调度程序、查询优化器和物理执行引擎,实现了批处理和流数据的高性能处理。在实际生产中,利用spark来进行多数据源的olap是一种很流行的方式。spark能够支持读写tdengine数据库,将很大程度的便利企业的数据处理。tdengine支持使用jdbc进行连接,spark也支持jdbc类型的数据源,但是在spark分布式读写tdengine的实践中,我们发现未安装tdengine客户端的机器在连接tdengine时会发生异常,原因是连接过程中程序会去系统路径下加载libtaos.so文件,即libtaos.so是tdengine进行jdbc连接的重要依赖,libtaos.so是tdengine客户端在安装过程中自动安装到服务器系统路径的,为了使集群各个节点都能成功连接到tdengine,需要在集群的每个节点上都安装tdengine客户端。利用原生方法,需要逐一在节点安装客户端,在现实生产环境中,这一操作增加了用户的使用难度,这是因为,普通用户无权在集群的服务器节点上安装客户端,而且集群的服务器节点众多,普通用户也无法知道每台服务器节点的信息,在每一台服务器节点上安装客户端过于繁琐,如果tdengine升级,客户端还需要全部重新安装升级。


技术实现要素:

3.基于上述问题,本发明提供一种免安装客户端的连接tdengine的方法和系统,旨在解决现有技术中在集群每台服务器节点上安装tdengine客户端增加用户使用难度等技术问题。
4.一种免安装客户端的连接tdengine的方法,包括如下步骤:
5.步骤a1,获取集群中为待执行任务分配的服务器节点,其中所述集群由一组相互独立的、通过网络互联的服务器节点构成;
6.步骤a2,将预先存储在集群的预设存储路径中的一libtaos.so文件分别发送到为待执行任务分配的服务器节点上;
7.步骤a3,基于libtaos.so文件,更改服务器节点的环境变量,实现在服务器节点上的tdengine客户端的配置;
8.步骤a4,根据配置建立服务器节点与tdengine服务端的连接,以执行待执行任务。
9.进一步的,在步骤a2中,将当前发送的libtaos.so文件覆盖服务器节点已经存在的libtaos.so文件。
10.进一步的,在步骤a2中,通过如下步骤预先将libtaos.so文件存储在集群的预设存储路径:
11.步骤b1,在测试机或者虚拟机中安装与tdengine服务端对应版本的tdengine客户端,于安装过程中生成libtaos.so文件;
12.步骤b2,复制libtaos.so文件;
13.步骤b3,将复制的libtaos.so文件发送到集群的预设存储路径中。
14.进一步的,在步骤b1中,对tdengine客户端进行升级后,形成升级后的libtaos.so文件;
15.在步骤b2中,复制升级后形成的libtaos.so文件;
16.在步骤b3中,将升级后形成的libtaos.so文件发送到集群的预设存储路径中,并覆盖集群的预设存储路径中已经存在的libtaos.so文件。
17.进一步的,在步骤a3中,通过java反射机制更改服务器节点的环境变量。
18.进一步的,在步骤a2中,通过spark引擎将libtaos.so文件发送到为待执行任务分配的服务器节点上。
19.一种免安装客户端的连接tdengine的系统,应用前述的一种免安装客户端的连接tdengine的系统,包括:
20.节点获取模块,用于获取集群中为待执行任务分配的服务器节点;
21.文件分发模块,连接节点获取模块,用于将预先存储在集群的预设存储路径中的一libtaos.so文件发送到为待执行任务分配的服务器节点中;
22.文件配置模块,连接文件分发模块,基于libtaos.so文件,更改服务器节点的环境变量,在服务器节点上的tdengine客户端的配置;
23.连接建立模块,连接文件配置模块,用于根据建立服务器节点与tdengine服务端的连接,以执行待执行任务。
24.进一步的,文件分发模块用于将当前发送的libtaos.so文件覆盖服务器节点已经存在的libtaos.so文件。
25.进一步的,还包括:
26.复制模块,用于复制在测试机或者虚拟机中安装与tdengine服务端对应版本的tdengine客户端时生成的libtaos.so文件;
27.文件发送模块,连接复制模块,用于将复制的libtaos.so文件发送到集群的预设存储路径中。
28.进一步的,文件配置模块,通过java反射机制更改服务器节点的环境变量。
29.本发明的有益技术效果在于,首先判断那些服务器节点用于执行待执行任务,将集群中的libtaos.so文件动态地分配到这些服务器节点中,更改环境变量,使得这些将要执行待执行任务的服务器节点实现tdengine客户端的配置,以与tdengine服务端建立连接,同时若存在libtaos.so文件更新时,无需重装每个服务器节点的客户端,免去每个服务器节点安装以及升级客户端的困难;只修改了集群节点的逻辑系统路径,并未修改实际的系统路径,避免了对系统路径的污染,便于无权在服务器节点安装客户端或者无法知道服务器节点信息的普通用户使用。
附图说明
30.图1为本发明一种免安装客户端的连接tdengine的方法的步骤流程图;
31.图2为本发明一种免安装客户端的连接tdengine的方法的文件存储在集群的步骤流程图;
32.图3为本发明一种免安装客户端的连接tdengine的方法的升级文件存储在集群的步骤流程图;
33.图4为本发明一种免安装客户端的连接tdengine的系统的模块示意图。
具体实施方式
34.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
35.需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
36.下面结合附图和具体实施例对本发明作进一步说明,但不作为本发明的限定。
37.参见图1,一种免安装客户端的连接tdengine的方法,包括如下步骤:
38.步骤a1,获取集群中为待执行任务分配的服务器节点,所述集群由一组相互独立的、通过网络互联的所述服务器节点构成;
39.步骤a2,将预先存储在集群的预设存储路径中的一libtaos.so文件分别发送到为待执行任务分配的服务器节点上;
40.步骤a3,基于libtaos.so文件,更改服务器节点的环境变量,实现在服务器节点上的tdengine客户端的配置;
41.步骤a4,根据配置建立服务器节点与tdengine服务端的连接,以执行待执行任务。
42.具体的,在集群中存在很多服务器节点,获取为将要被执行的待执行任务分配的服务器节点信息,将libtaos.so文件分配到这些服务器节点中,实现tdengine客户端在服务器节点的配置,服务器节点无需安装客户端便能与tdengine服务端建立连接,省去每个服务器节点安装和维护客户端的困难,便于无权在服务器节点安装客户端或者无法知道服务器节点信息的普通用户使用。
43.进一步的,在步骤a2中,将当前发送的libtaos.so文件覆盖服务器节点已经存在的libtaos.so文件。
44.如果一个服务器节点之前被使用过,其中已经存在libtaos.so文件,当该服务器节点再次被分配待执行任务时,当前发送过来的libtaos.so文件会覆盖掉原来已经存在的libtaos.so文件,通过这种覆盖方式有利于使用升级客户端后生成新版本的libtaos.so文件即使替换掉旧版本的libtaos.so文件,新版本的libtaos.so文件及时得到使用,旧版本的libtaos.so文件及时被淘汰。
45.参见图2,进一步的,在步骤a2中,通过如下步骤预先将libtaos.so文件存储在集群的预设存储路径:
46.步骤b1,在测试机或者虚拟机中安装与tdengine服务端对应版本的tdengine客户
端,于安装过程中生成libtaos.so文件;
47.步骤b2,复制libtaos.so文件;
48.步骤b3,将复制的libtaos.so文件发送到集群的预设存储路径中。
49.在测试机或者虚拟机中安装与tdengine服务端对应版本的tdengine客户端,安装机器的系统路径下会生成libtaos.so文件,拷贝出此文件备用;通过spark
‑‑
files方法将libtaos.so分配到集群指定的路径,即发送到集群的预设存储路径中,以便后续将libtaos.so文件发送到待执行任务的服务器节点上去。参见图3,进一步的,在步骤b1中,对tdengine客户端进行升级后,形成升级后的libtaos.so文件;
50.在步骤b2中,复制升级后形成的libtaos.so文件;
51.在步骤b3中,将升级后形成的libtaos.so文件发送到集群的预设存储路径中,并覆盖集群的预设存储路径中已经存在的libtaos.so文件。
52.通过spark
‑‑
files方法将libtaos.so分发到集群的预设存储路径。
53.进一步的,在步骤a3中,通过java反射机制更改服务器节点的环境变量。
54.通过反射机制更改服务器节点的环境变量,加载tdengine的jdbc driver,连接tdengine server。
55.进一步的,在步骤a2中,通过spark引擎将libtaos.so文件发送到为待执行任务分配的服务器节点上。
56.具体的,通过spark
‑‑
files方法将libtaos.so分发到为待执行任务分配的服务器节点上。
57.参见图4,本发明还提供一种免安装客户端的连接tdengine的系统,应用前述的一种免安装客户端的连接tdengine的系统,包括:
58.节点获取模块1,用于获取集群中为待执行任务分配的服务器节点;
59.文件分发模块2,连接节点获取模块1,用于将预先存储在集群的预设存储路径中的一libtaos.so文件发送到为待执行任务分配的服务器节点中;
60.文件配置模块3,连接文件分发模块2,基于libtaos.so文件,更改服务器节点的环境变量,在服务器节点上的tdengine客户端的配置;
61.连接建立模块4,连接文件配置模块3,用于根据建立服务器节点与tdengine服务端的连接,以执行待执行任务。
62.进一步的,文件分发模块2用于将当前发送的libtaos.so文件覆盖服务器节点已经存在的libtaos.so文件。
63.进一步的,还包括:
64.复制模块5,用于复制在测试机或者虚拟机中安装与tdengine服务端对应版本的tdengine客户端时生成的libtaos.so文件;
65.文件发送模块6,连接复制模块5,用于将复制的libtaos.so文件发送到集群的预设存储路径中。
66.进一步的,文件配置模块3,通过java反射机制更改服务器节点的环境变量。
67.以上仅为本发明较佳的实施例,并非因此限制本发明的实施方式及保护范围,对于本领域技术人员而言,应当能够意识到凡运用本发明说明书及图示内容所作出的等同替换和显而易见的变化所得到的方案,均应当包含在本发明的保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1