一种终端设备海图数据与服务器同步的方法、装置及介质
技术领域
本发明涉及航海数据同步
技术领域
,特别涉及一种终端设备海图数据与服务器同步的方法、装置及介质。背景技术
Android是一种基于Linux的自由及开放源代码的操作系统,主要是用于移动设备,如智能手机和平板电脑等,由Google公司和开放手机联盟领导及开发。该平台由操作系统、中间件、用户界面和应用软件组成。由于其源码开放且硬件丰富易于开发,被广泛用于嵌入式产品中。
随着科技的发展,越来越多的Android终端设备运用于航海。但是目前运用于航海的终端设备,其航海相关数据都保存在终端设备上。需要查看数据时,都要从终端设备上用U盘或其他移动盘设备进行拷贝;海图需要更新时,也是利用U盘等设备将图源拷贝到终端设备中。这样的方式相当的繁琐,效率也比较低下。
发明内容
本发明要解决的技术问题,在于提供一种终端设备海图数据与服务器同步的方法、装置及介质,实现终端海图数据与后台服务器进行同步交互。
第一方面,本发明提供了一种终端设备海图数据与服务器同步的方法,包括:
步骤10、在终端设备搭建一客户端服务器并指定一第一数据库,在船载设备搭建一后台服务器并指定一第二数据库;
步骤20、所述客户端服务器与所述后台服务器建立连接;
步骤30、当所述第一数据库的数据发生变化时,获取差分数据,加密后传输至后台服务器,后台服务器将加密后的差分数据进行解密,然后保存至第二数据库;
当所述第二数据库的数据发生变化时,获取差分数据,加密后传输至客户端服务器,终端设备将加密后的差分数据进行解密,然后保存至第一数据库。
进一步地,所述步骤10中,所述客户端服务器运用ServerSocket搭建。
进一步地,所述步骤20中具体为:
开启终端设备的客户端服务器,客户端服务器开启完成后,通过TCP连接向后台服务器发起请求,连接成功后向后台服务器发送客户端服务启动完成通知,并将连接所需要的IP地址和端口发送给后台服务器,后台服务器通过IP和端口连接终端设备,从而实现建立连接。
进一步地,所述加密操作和解密操作均通过加密库进行。
进一步地,所述第一数据库为data_syn,所述第二数据库为s_data_syn。
第二方面,本发明提供了一种终端设备海图数据与服务器同步的装置,包括:构建模块、连接模块及同步模块;
所述构建模块,用于在终端设备搭建一客户端服务器并指定一第一数据库,在船载设备搭建一后台服务器并指定一第二数据库;
所述连接模块,用于所述客户端服务器与所述后台服务器建立连接;
所述同步模块,用于当所述第一数据库的数据发生变化时,获取差分数据,加密后传输至后台服务器,后台服务器将加密后的差分数据进行解密,然后保存至第二数据库;
当所述第二数据库的数据发生变化时,获取差分数据,加密后传输至客户端服务器,终端设备将加密后的差分数据进行解密,然后保存至第一数据库。
进一步地,所述构建模块中,所述客户端服务器运用ServerSocket搭建。
进一步地,所述连接模块具体用于:
开启终端设备的客户端服务器,客户端服务器开启完成后,通过TCP连接向后台服务器发起请求,连接成功后向后台服务器发送客户端服务启动完成通知,并将连接所需要的IP地址和端口发送给后台服务器,后台服务器通过IP和端口连接终端设备,从而实现建立连接。
进一步地,所述加密操作和解密操作均通过加密库进行。
进一步地,所述第一数据库为data_syn,所述第二数据库为s_data_syn。
第三方面,本发明提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面所述的方法。
本发明具有如下优点:
通过本发明方法,可以做到终端设备和后台服务器进行特定数据间的同步处理,终端数据发生变化,后台能够及时获取信息,后台需要给终端数据,能够及时方便给与;并且运用了差分化数据更新,避免了相同数据的再次传输,大大提高了同步效率,给网络减轻了负担;
可以对同步的信息加以利用,在后台系统中实时对船舶航行状态进行监控,结合多方资源,及时对航海信息进行更新、应对,这样航行更加安全有保障,更新海图信息也特别方便;如遇事故等需要及时救援的,也能更快、更精准的掌握信息,及时展开救援行动,给航海带来安心与省心;
随着科技的发展,人们的网络安全意识也越来越高,有了加密库的支持,只要传输简单的加密文,通过加密库进行解密后,就能获取到完整的数据,这样即使发送内容被人窃取,对方也无法知道里面的真实内容,网络安全性得到了很好的保障,实现了绝对安全的目的,防止商业机密泄露。
附图说明
下面参照附图结合实施例对本发明作进一步的说明。
图1为本发明实施例一方法执行流程图;
图2为本发明实施例一系统框架图;
图3为本发明实施例二装置结构示意图;
图4为本发明实施例三中介质的结构示意图。
具体实施方式
实施例一
本实施例中提供了一种终端设备海图数据与服务器同步的方法,如图1所示,包括:
步骤10、在终端设备搭建一客户端服务器并指定一第一数据库,在船载设备搭建一后台服务器并指定一第二数据库;
步骤20、所述客户端服务器与所述后台服务器建立连接;
步骤30、当所述第一数据库的数据发生变化时,获取差分数据,加密后传输至后台服务器,后台服务器将加密后的差分数据进行解密,然后保存至第二数据库;
当所述第二数据库的数据发生变化时,获取差分数据,加密后传输至客户端服务器,终端设备将加密后的差分数据进行解密,然后保存至第一数据库。
通过本方法,可以做到终端设备和后台服务器进行特定数据间的同步处理,终端数据发生变化,后台能够及时获取信息,后台需要给终端数据,能够及时方便给与;并且运用了差分化数据更新,避免了相同数据的再次传输,大大提高了同步效率,给网络减轻了负担;可以对同步的信息加以利用,在后台系统中实时对船舶航行状态进行监控,结合多方资源,及时对航海信息进行更新、应对,这样航行更加安全有保障,更新海图信息也特别方便;如遇事故等需要及时救援的,也能更快、更精准的掌握信息,及时展开救援行动,给航海带来安心与省心。
在一种可能的实现方式中,所述步骤10中,所述客户端服务器运用ServerSocket搭建。
所述步骤20中具体为:
开启终端设备的客户端服务器,客户端服务器开启完成后,通过TCP连接向后台服务器发起请求,连接成功后向后台服务器发送客户端服务启动完成通知,并将连接所需要的IP地址和端口发送给后台服务器,后台服务器通过IP和端口连接终端设备,从而实现建立连接。
所述加密操作和解密操作均通过加密库进行。
随着科技的发展,人们的网络安全意识也越来越高,有了加密库的支持,只要传输简单的加密文,通过加密库进行解密后,就能获取到完整的数据,这样即使发送内容被人窃取,对方也无法知道里面的真实内容,网络安全性得到了很好的保障,实现了绝对安全的目的,防止商业机密泄露。
所述第一数据库为data_syn,所述第二数据库为s_data_syn。
在一具体的实施方式中,本发明实施例主要是在Android系统上开发一个关于海图的应用,海图上的相关资料都能与后台服务器进行同步交互,这样可以在后台实时监控船舶安全驾驶,服务器也可直接向终端传输相关资料。
该同步功能的实现主要包括以下两个部分:
1、搭建后台服务器,供终端设备传输数据;
2、终端设备上建立一个客户端服务器,供后台服务器传输数据。
实现过程如下:
1)终端设备开启应用后,在应用中开启一个服务端,来供后台服务连接,从而发送数据;
2)终端设备开启服务端后,开始连接后台服务端,从而实现传送数据的目的;连接成功后向台服务端发送通知,通知后台可以开始连接终端发送数据。
在如图2所示的一船载设备与终端设备组成的系统中,基础搭建如下:
1、终端设备指定一个特定的数据库data_syn(即第一数据库);
2、在终端设备的APP中运用ServerSocket搭建一个客户端服务器(CS);
3、在船载设备搭建后台服务器(SS);
4、后台服务器(SS)指定一个特定的数据库s_data_syn(即第二数据库);
启动APP就马上开启CS,CS开启完成后,运用TCP连接向SS发起请求,连接成功后向SS发送CS启动完成通知,并将连接所需要的IP地址和端口发送给SS,SS通过IP和端口连接终端,从而实现了连接互通。通过特有的加密库来对数据的变化进行差分处理,从而通过处理后的差分数据进行同步处理;当data_syn中内容发生变化,终端向SS发送差分数据;同理,当s_data_syn发生变化后,SS向终端发送差分数据。这样就实现了终端与服务器资料同步。
基于同一发明构思,本申请还提供了与实施例一中的方法对应的装置,详见实施例二。
实施例二
在本实施例中提供了一种终端设备海图数据与服务器同步的装置,如图3所示,包括:构建模块、连接模块及同步模块;
所述构建模块,用于在终端设备搭建一客户端服务器并指定一第一数据库,在船载设备搭建一后台服务器并指定一第二数据库;
所述连接模块,用于所述客户端服务器与所述后台服务器建立连接;
所述同步模块,用于当所述第一数据库的数据发生变化时,获取差分数据,加密后传输至后台服务器,后台服务器将加密后的差分数据进行解密,然后保存至第二数据库;
当所述第二数据库的数据发生变化时,获取差分数据,加密后传输至客户端服务器,终端设备将加密后的差分数据进行解密,然后保存至第一数据库。
在一种可能的实现方式中,所述构建模块中,所述客户端服务器运用ServerSocket搭建。
所述连接模块具体用于:
开启终端设备的客户端服务器,客户端服务器开启完成后,通过TCP连接向后台服务器发起请求,连接成功后向后台服务器发送客户端服务启动完成通知,并将连接所需要的IP地址和端口发送给后台服务器,后台服务器通过IP和端口连接终端设备,从而实现建立连接。
所述加密操作和解密操作均通过加密库进行。
由于本发明实施例二所介绍的装置,为实施本发明实施例一的方法所采用的装置,故而基于本发明实施例一所介绍的方法,本领域所属人员能够了解该装置的具体结构及变形,故而在此不再赘述。凡是本发明实施例一的方法所采用的装置都属于本发明所欲保护的范围。
基于同一发明构思,本申请提供了实施例一对应的存储介质,详见实施例三。
实施例三
本实施例提供一种计算机可读存储介质,如图4所示,其上存储有计算机程序,该计算机程序被处理器执行时,可以实现实施例一中任一实施方式。
由于本实施例所介绍的计算机可读存储介质为实施本申请实施例一中方法所采用的计算机可读存储介质,故而基于本申请实施例一中所介绍的方法,本领域所属技术人员能够了解本实施例的计算机可读存储介质的具体实施方式以及其各种变化形式,所以在此对于该计算机可读存储介质如何实现本申请实施例中的方法不再详细介绍。只要本领域所属技术人员实施本申请实施例中的方法所采用的计算机可读存储介质,都属于本申请所欲保护的范围。
虽然以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。