服务器开发整合

恶心的代码整合,做完了少活10年


首先看一下正式服务器的mongo库进入步骤:

  移除点击此处添加图片说明文字

​cd /opt/mongo/db/bin

./mongo --port 27010 new_market_report

ok,进入主库。

开发了n天了,结果发现svn和生产的代码完全不一样,简直日了狗了。这两天啥也别闹了,代码整合吧,恶心的一笔。

首先我们以生产环境的正服代码为主:

  移除点击此处添加图片说明文字

欧了,正服代码为准,但是本机搭建出了问题,我现在理解是,我引用的是测试库,数据库采用的mongoDB,所以,当下是想办法,找到导入数据的办法,只能命令行解决了。因为是北京集群的对外服务,now,需要申请堡垒机账号。​

  移除点击此处添加图片说明文字

​ 搞吧。首先用堡垒机登录远程生产库。

我们ssh登录,即可。

  移除点击此处添加图片说明文字

​对外ip是211.151.183.151,对内网ip为192.168.40.151,那么,接下来,我们找到mongo去找到主库,,做download,之前,需要做:

./mongo --port 27010 new_market_report

  移除点击此处添加图片说明文字

​然后我们

show dbs;

use new_report_market;

show tables;

db.role_menu.find();

  移除点击此处添加图片说明文字

​就是这张表,我们需要带走的这张。然后,我们:

/opt/mongo/db/bin/mongodump  --host 127.0.0.1 --port 27010 --db new_market_report --collection   role_menu  --out ./tmp/20170822/

执行导出命令但是遇到报错:

  移除点击此处添加图片说明文字

​因为我细心的发现:

  移除点击此处添加图片说明文字

​都是mongo组的mongo用户,所以,要            su   mongo     

  移除点击此处添加图片说明文字

​然后

/opt/mongo/db/bin/mongodump  --host 127.0.0.1 --port 27010 --db new_market_report --collection   role_menu  --out ./tmp/20170822/

  移除点击此处添加图片说明文字

​成功了。接着我们要用ftp了,在堡垒机上面,

  移除点击此处添加图片说明文字

​然后注意这个,超时时间默认是20秒,所以这里我们要设置成0。

  移除点击此处添加图片说明文字

​因为北京集群是比较远的,所以这里我们设置的0,让他连得久一点儿。

  移除点击此处添加图片说明文字

用ftp工具传输文件,然后

/home/mongo/bin/mongorestore  --port 27019 -d new_market_report -c role_menu /home/mongo/bin/tmp/20170822/new_market_report/role_menu.bson

我们看页面

  移除点击此处添加图片说明文字

​然后找个原因吧,仔细看一下,是因为menu_0_9卡住了,没有style的这个属性,所以,我们在这里要做一些改动,把这个东西删了,先删除了再说。

删除了之后,就出现了:

  移除点击此处添加图片说明文字

​删除之后成功了。所以,我们记录一下,一会儿上线的第一步就是,要加菜单,配权限了。

  移除点击此处添加图片说明文字

​好了,到此,我们就把我们的代码整合吧,这次整合是svn和服务器总体代码整合,我们要准备迎接成功了。

首先再次说明,配置菜单在:menu_template

  移除点击此处添加图片说明文字

​然后在页面上面:



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
首先,需要了解Ntrip协议的基本概念和原理。Ntrip是一种用于实时差分GPS数据传输的协议,通过网络将基站的差分数据传输到无线电接收机上,以提高GPS的定位精度。在Ntrip协议中,NtripClient是GPS接收机,NtripServer是GPS基站。 接下来,我们可以按照以下步骤来开发一个基于Spring Boot的NtripServer demo: 1. 首先,需要导入Spring Boot的依赖。可以在pom.xml文件中添加以下依赖: ``` <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> ``` 其中,spring-boot-starter-web用于启动一个Web应用程序,spring-boot-starter-data-redis用于操作Redis数据。 2. 创建一个NtripServer类,用于启动Ntrip服务器。可以使用Spring Boot的注解来定义一个RestController,同时使用@PostConstruct注解来启动Ntrip服务器: ``` @RestController public class NtripServer { private ServerSocket serverSocket; private RedisTemplate<String, Object> redisTemplate; @Autowired public NtripServer(RedisTemplate<String, Object> redisTemplate) { this.redisTemplate = redisTemplate; } @PostConstruct public void startServer() { try { serverSocket = new ServerSocket(2101); while (true) { Socket socket = serverSocket.accept(); new NtripClientHandler(socket, redisTemplate).start(); } } catch (IOException e) { e.printStackTrace(); } } } ``` 在NtripServer类中,定义了一个ServerSocket对象,并在startServer()方法中启动了Ntrip服务器。同时,也定义了一个RedisTemplate对象,用于操作Redis数据。 3. 创建一个NtripClientHandler类,用于处理Ntrip客户端的请求。在NtripClientHandler类中,可以使用Java的Socket和InputStream/OutputStream来处理Ntrip客户端的连接和请求,并将差分数据存储到Redis数据中: ``` public class NtripClientHandler extends Thread { private Socket socket; private RedisTemplate<String, Object> redisTemplate; public NtripClientHandler(Socket socket, RedisTemplate<String, Object> redisTemplate) { this.socket = socket; this.redisTemplate = redisTemplate; } @Override public void run() { try (InputStream inputStream = socket.getInputStream(); OutputStream outputStream = socket.getOutputStream()) { byte[] buffer = new byte[4096]; int bytesRead; StringBuilder request = new StringBuilder(); while ((bytesRead = inputStream.read(buffer)) != -1) { request.append(new String(buffer, 0, bytesRead)); if (request.toString().contains("\r\n\r\n")) { break; } } String response = "ICY 200 OK\r\n\r\n"; outputStream.write(response.getBytes()); outputStream.flush(); while ((bytesRead = inputStream.read(buffer)) != -1) { redisTemplate.opsForList().leftPush("gps_data", buffer); } } catch (IOException e) { e.printStackTrace(); } } } ``` 在NtripClientHandler类中,首先读取Ntrip客户端的请求,并返回一个ICY 200 OK的响应。然后,使用RedisTemplate的leftPush()方法将差分数据存储到Redis数据中。 4. 在application.properties文件中,可以配置Redis数据的连接信息: ``` spring.redis.host=localhost spring.redis.port=6379 spring.redis.password= ``` 5. 启动Spring Boot应用程序,即可启动Ntrip服务器。 以上就是一个简单的Spring Boot整合Ntrip开发NtripServer demo的步骤。需要注意的是,本文只是提供了一个简单的示例,实际使用中还需要根据具体需求进行修改和优化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值