一种基于TCP的物联网客户端的跨平台协同工作方法转让专利

申请号 : CN202011603270.3

文献号 : CN112615938B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 梁效宁聂学良杨博

申请人 : 四川巧夺天工信息安全智能设备有限公司

摘要 :

本发明公开了一种基于TCP的物联网客户端的跨平台协同工作方法,其特征在于包括以下步骤:S100:构建初始数据及运行环境,包括以下步骤:S101:构建协同工作系统表:在数据库中创建协同工作系统表,其字段包括系统唯一标志、系统内容;S102:构建客户端表:在数据库中创建客户端表,其字段包括客户端MAC地址、客户端类型、客户端注册时间;S103:客户端绑定表:在数据库中创建客户端绑定表,其字段包括客户端状态、客户端MAC地址,所述客户端绑定表用以表示客户端在协同工作系统中的绑定关系;S104:预置协同工作系统;S200:注册客户端;S300:构建协同工作系统。

权利要求 :

1.一种基于TCP的物联网客户端的跨平台协同工作方法,其特征在于包括以下步骤:S100:构建初始数据及运行环境,包括以下步骤:S101:构建协同工作系统表:在数据库中创建协同工作系统表,其字段包括系统唯一标志、系统内容;

S102:构建客户端表:在数据库中创建客户端表,其字段包括客户端MAC地址、客户端类型、客户端注册时间;

S103:客户端绑定表:在数据库中创建客户端绑定表,其字段包括客户端状态、客户端MAC地址,所述客户端绑定表用以表示客户端在协同工作系统中的绑定关系;

S104:预置协同工作系统,包括以下步骤:

S1041:定义协同工作系统,记为预置协同工作系统,所述预置协同工作系统包括协同工作系统表及其数据;

S1042:设置所述预置协同工作系统的系统唯一标志及系统内容;

S1043:将预置协同工作系统插入到数据库;

S200:注册客户端;

S300:构建协同工作系统。

2.根据权利要求1所述的一种基于TCP的物联网客户端的跨平台协同工作方法,其特征在于,所述步骤S200包括以下步骤:S201:客户端与服务端经过N次握手建立TCP通道并构建客户端与服务端的关联字典,其中,N为不小于3的自然数;

S202:客户端向服务端上报注册信息,注册信息包括客户端MAC地址、客户端类型;

S203:服务端解密注册信息,获取客户端的注册信息,包括客户端MAC地址、客户端类型;

S204:服务端以客户端MAC地址为键、以TCP通道为值,在关联字典中建立服务端与客户端的关联;

S205:根据客户端MAC地址进行注册;

S206:服务端与客户端定时交互数据并建立心跳。

3.根据权利要求2所述的一种基于TCP的物联网客户端的跨平台协同工作方法,其特征在于,所述步骤205包括以下步骤:S2051:判断客户端是否注册,如果是,执行步骤S2052,否则,执行步骤S300;

S2052:根据客户端的MAC地址和客户端的类型,获取当前时间,在客户端表中插入当前客户端的数据。

4.根据权利要求2所述的一种基于TCP的物联网客户端的跨平台协同工作方法,其特征在于,所述步骤S206包括以下步骤:客户端和服务端定时交互数据,当M次交互数据不成功,表示客户端掉线,服务器关闭当前客户端的TCP通道,并从通道关联字典移除当前通道,修改客户端表的当前客户端状态为离线;当成功交互数据时,修改客户端表中当前客户端状态为在线,其中,M为不小于3的自然数。

5.根据权利要求1所述的一种基于TCP的物联网客户端的跨平台协同工作方法,其特征在于,所述步骤S300包括以下步骤:S301:绑定客户端,包括以下步骤:

S3011:从数据库中查询协同工作系统表,将所查询的协同工作系统计入协同工作系统集合;

S3012:遍历协同工作系统集合,当存在元素时,记为协同工作系统集合_当前系统,执行步骤S3013;当不存在元素时,表示遍历结束,执行步骤S302;

S3013:从客户端表和客户端绑定表中获取未绑定的客户端,记为第一注册客户端列表;

S3014:第一注册客户端列表中选择任一客户端,获取当前客户端MAC及协同工作系统集合_当前系统的系统唯一标志并插入到客户端绑定表;

S3015:协同工作系统集合_当前系统分配完成,执行步骤S3012;

S302:处理故障。

6.根据权利要求5所述的一种基于TCP的物联网客户端的跨平台协同工作方法,其特征在于,所述步骤S302包括以下步骤:S3021:获取故障客户端的客户端类型并记为故障客户端类型,获取故障客户端的MAC地址记为故障客户端MAC地址;

S3022:从客户端绑定表中获取故障客户端所在协同工作系统的系统唯一标志,记为故障系统唯一标志;

S3023:自动处理故障,包括以下步骤:

S30231:从客户端表和客户端绑定表中获取所有未绑定的客户端,根据故障客户端类型筛选出相同类型且未绑定的客户端,计入第二注册客户端列表;

S30232:当第二注册客户端列表不为空时,选择第二注册客户端列表中任一客户端,获取当前客户端的MAC地址并记为修复客户端MAC地址,执行步骤S30233;为空时,表示无法自动修复列表,执行步骤S3024进行人工处理;

S30233:根据修复客户端MAC地址、故障系统唯一标志,在客户端绑定表插入修复客户端的绑定数据;

S30234:在客户端绑定表中,删除当前故障客户端的绑定,执行步骤S3025;

S3024:人工处理故障,包括以下步骤:

S30241:人工上电一个与故障客户端类型相同类型的客户端;

S30242:从客户端表和客户端绑定表中获取所有未绑定的客户端,根据故障客户端类型筛选出相同类型且未绑定的客户端,计入第三注册客户端列表;

S30243:根据客户端注册时间,从第三注册客户端列表选择最近注册的客户端并绑定到故障客户端所在的协同工作系统中,当未查找到所上电的客户端时,表示所上电客户端异常;

S3025:确认故障处理结果。

说明书 :

一种基于TCP的物联网客户端的跨平台协同工作方法

技术领域

[0001] 本发明属于物联网技术应用领域,涉及一种基于TCP的物联网客户端的跨平台协同工作方法。

背景技术

[0002] 物联网将信息网络的连接及服务的对象从人扩展到物,从以人为连接及服务对象加以扩展,从而实现真正意义的万物互联。随着大时代的来临,通信数据安全必然是必须要解决的问题。物联网系统中,通常拥有多种不同类型的客户端,各类型的客户端拥有不同的功能及多种功能的协同,使得物联网系统更加的智能、丰富,更加适用于不同需求。而将不同的客户端组织起来,进行协同工作则是物联网系统的重要特性之一。跨平台客户端的相互协作、相互响应,从而构建出功能丰富、各具特色的物联网系统。
[0003] 但是,现有技术中的物联网方案通常具有以下问题:
[0004] 1、忽视加入协作系统客户端的安全性,使得任意客户端都可以连入系统,容易引起攻击。
[0005] 2、协作系统中各客户端关联过于紧密,任一客户端无法工作便引起整套系统瘫痪,难以修复。
[0006] 3、构建协作系统时忽视对连入客户端的核查,使得整套协作系统并不一定能够工作起来。

发明内容

[0007] 针对现有技术的不足,本发明提供了一种基于TCP的物联网客户端的跨平台协同工作方法,本方法包含服务端和客户端,两端通过TCP连接,服务端提供管理功能,包括管理所有注册的客户端、提供特殊服务功能。其中,客户端即为各类型的物联网设备。同时,连入服务端的物联网的客户端必须上报注册信息,上报的注册信息均通过加密保护。因此,本发明具有以下有益效果:
[0008] 1、验证客户端注册,提升了整套物联网系统的安全性。
[0009] 2、客户端上电便即时上报注册信息,实时核查了客户端是否正常工作。
[0010] 3、提供自动及人工的故障处理,能够快速且即时修复故障系统。
[0011] 4、客户端的动态绑定,使得整套物联网系统具有高度可扩展性。
[0012] 本发明申请包括以下步骤:
[0013] S100:构建初始数据及运行环境,包括以下步骤:
[0014] S101:构建协同工作系统表:在数据库中创建协同工作系统表,其字段包括系统唯一标志、系统内容;
[0015] S102:构建客户端表:在数据库中创建客户端表,其字段包括客户端MAC地址、客户端类型、客户端注册时间;
[0016] S103:客户端绑定表:在数据库中创建客户端绑定表,其字段包括客户端状态、客户端MAC地址,所述客户端绑定表用以表示客户端在协同工作系统中的绑定关系。
[0017] S104:预置协同工作系统,包括以下步骤:
[0018] S1041:定义协同工作系统,记为预置协同工作系统,所述预置协同工作系统包括协同工作系统表及其数据;
[0019] S1042:设置所述预置协同工作系统的系统唯一标志及系统内容;
[0020] S1043:将预置协同工作系统插入到数据库。
[0021] S200:注册客户端;
[0022] S300:构建协同工作系统。
[0023] 优选地,所述步骤S200包括以下步骤:
[0024] S201:客户端与服务端经过N次握手建立TCP通道并构建客户端与服务端的关联字典,其中,N为不小于3的自然数;
[0025] S202:客户端向服务端上报注册信息,注册信息包括客户端MAC地址、客户端类型;
[0026] S203:服务端解密注册信息,获取客户端的注册信息,包括客户端MAC地址、客户端类型;
[0027] S204:服务端以客户端MAC地址为键、以TCP通道为值,在关联字典中建立服务端与客户端的关联;
[0028] S205:根据客户端MAC地址进行注册。
[0029] S206:服务端与客户端定时交互数据并建立心跳。
[0030] 优选地,所述步骤205包括以下步骤:
[0031] S2051:判断客户端是否注册,如果是,执行步骤S2052,否则,执行步骤S300;
[0032] S2052:根据客户端的MAC地址和客户端的类型,获取当前时间,在客户端表中插入当前客户端的数据。
[0033] 优选地,所述步骤S206包括以下步骤:
[0034] 客户端和服务端定时交互数据,当M次交互数据不成功,表示客户端掉线,服务器关闭当前客户端的TCP通道,并从通道关联字典移除当前通道,修改客户端表的当前客户端状态为离线;当成功交互数据时,修改客户端表中当前客户端状态为在线,其中,M为不小于3的自然数。
[0035] 优选地,所述步骤S300包括以下步骤:
[0036] S301:绑定客户端,包括以下步骤:
[0037] S3011:从数据库中查询协同工作系统表,将所查询的协同工作系统计入协同工作系统集合;
[0038] S3012:遍历协同工作系统集合,当存在元素时,记为协同工作系统集合_当前系统,执行步骤S3013;当不存在元素时,表示遍历结束,执行步骤S302;
[0039] S3013:从客户端表和客户端绑定表中获取未绑定的客户端,记为第一注册客户端列表;
[0040] S3014:第一注册中选择任一客户端,获取当前客户端MAC及协同工作系统集合_当前系统的系统唯一标志并插入到客户端绑定表;
[0041] S3015:协同工作系统集合_当前系统分配完成,执行步骤S3012。
[0042] S302:处理故障。
[0043] 优选地,所述步骤S302包括以下步骤:
[0044] S3021:获取故障客户端的客户端类型并记为故障客户端类型,获取故障客户端的MAC地址记为故障客户端MAC地址;
[0045] S3022:从客户端绑定表中获取故障客户端所在协同工作系统的系统唯一标志,记为故障系统唯一标志;
[0046] S3023:自动处理故障,包括以下步骤:
[0047] S30231:从客户端表和客户端绑定表中获取所有未绑定的客户端,根据故障客户端类型筛选出相同类型且未绑定的客户端,计入第二注册客户端列表;
[0048] S30232:当第二注册客户端列表不为空时,选择第二注册客户端列表中任一客户端,获取当前客户端的MAC地址并记为修复客户端MAC地址,执行步骤S30233;为空时,表示无法自动修复列表,执行步骤S3024进行人工处理;
[0049] S30233:根据修复客户端MAC地址、故障系统唯一标志,在客户端绑定表插入客户端的绑定数据;
[0050] S30234:在客户端绑定表中,删除当前故障客户端的绑定,执行步骤S3025;
[0051] S3024:人工处理故障,包括以下步骤:
[0052] S30241:人工上电一个与故障客户端类型相同类型的客户端;
[0053] S30242:从客户端表和客户端绑定表中获取所有未绑定的客户端,根据故障客户端类型筛选出相同类型且未绑定的客户端,计入第三注册客户端列表;
[0054] S30243:根据客户端注册时间,从第三注册客户端列表选择最近注册的客户端并绑定到故障客户端所在的协同工作系统中,当未查找到所上电的客户端时,表示所上电客户端异常;
[0055] S3025:确认故障处理结果。
[0056] 本发明的有益效果是:解决了现有技术中尚无一种基于TCP的物联网客户端的跨平台协同工作方法的技术问题。

附图说明

[0057] 图1为本发明所提供的方法的总流程图。

具体实施方式

[0058] 图1示出了本发明所提供的方法的总流程图。如图1所示,本发明提供的方法包括以下步骤:
[0059] S100:构建初始数据及运行环境,包括以下步骤:
[0060] S101:构建协同工作系统表:在数据库中创建协同工作系统表,其字段包括系统唯一标志、系统内容;
[0061] S102:构建客户端表:在数据库中创建客户端表,其字段包括客户端MAC地址、客户端类型、客户端注册时间;
[0062] S103:客户端绑定表:在数据库中创建客户端绑定表,其字段包括客户端状态、客户端MAC地址,客户端绑定表用以表示客户端在协同工作系统中的绑定关系。
[0063] S104:预置协同工作系统,包括以下步骤:
[0064] S1041:定义协同工作系统,记为预置协同工作系统,预置协同工作系统包括协同工作系统表及其数据;
[0065] S1042:设置预置协同工作系统的系统唯一标志及系统内容;
[0066] S1043:将预置协同工作系统插入到数据库。
[0067] S200:注册客户端,步骤S200包括以下步骤:
[0068] S201:客户端与服务端经过3次握手建立TCP通道并构建客户端与服务端的关联字典;
[0069] S202:客户端向服务端上报注册信息,注册信息包括客户端MAC地址、客户端类型;
[0070] S203:服务端解密注册信息,获取客户端的注册信息,包括客户端MAC地址、客户端类型;
[0071] S204:服务端以客户端MAC地址为键、以TCP通道为值,在关联字典中建立服务端与客户端的关联;
[0072] S205:根据客户端MAC地址进行注册,步骤205包括以下步骤:
[0073] S2051:判断客户端是否注册,如果是,执行步骤S2052,否则,执行步骤S300;
[0074] S2052:根据客户端的MAC地址和客户端的类型,获取当前时间,在客户端表中插入当前客户端的数据。
[0075] S206:服务端与客户端定时交互数据并建立心跳,步骤S206包括以下步骤:
[0076] 客户端和服务端定时交互数据,当3次交互数据不成功,表示客户端掉线,服务器关闭当前客户端的TCP通道,并从通道关联字典移除当前通道,修改客户端表的当前客户端状态为离线;当成功交互数据时,修改客户端表中当前客户端状态为在线。
[0077] S300:构建协同工作系统,步骤S300包括以下步骤:
[0078] S301:绑定客户端,包括以下步骤:
[0079] S3011:从数据库中查询协同工作系统表,将所查询的协同工作系统计入协同工作系统集合;
[0080] S3012:遍历协同工作系统集合,当存在元素时,记为协同工作系统集合_当前系统,执行步骤S3013;当不存在元素时,表示遍历结束,执行步骤S302;
[0081] S3013:从客户端表和客户端绑定表中获取未绑定的客户端,记为第一注册客户端列表;
[0082] S3014:第一注册中选择任一客户端,获取当前客户端MAC及协同工作系统集合_当前系统的系统唯一标志并插入到客户端绑定表;
[0083] S3015:协同工作系统集合_当前系统分配完成,执行步骤S3012。
[0084] S302:处理故障,步骤S302包括以下步骤:
[0085] S3021:获取故障客户端的客户端类型并记为故障客户端类型,获取故障客户端的MAC地址记为故障客户端MAC地址;
[0086] S3022:从客户端绑定表中获取故障客户端所在协同工作系统的系统唯一标志,记为故障系统唯一标志;
[0087] S3023:自动处理故障,包括以下步骤:
[0088] S30231:从客户端表和客户端绑定表中获取所有未绑定的客户端,根据故障客户端类型筛选出相同类型且未绑定的客户端,计入第二注册客户端列表;
[0089] S30232:当第二注册客户端列表不为空时,选择第二注册客户端列表中任一客户端,获取当前客户端的MAC地址并记为修复客户端MAC地址,执行步骤S30233;为空时,表示无法自动修复列表,执行步骤S3024进行人工处理;
[0090] S30233:根据修复客户端MAC地址、故障系统唯一标志,在客户端绑定表插入客户端的绑定数据;
[0091] S30234:在客户端绑定表中,删除当前故障客户端的绑定,执行步骤S3025;
[0092] S3024:人工处理故障,包括以下步骤:
[0093] S30241:人工上电一个与故障客户端类型相同类型的客户端;
[0094] S30242:从客户端表和客户端绑定表中获取所有未绑定的客户端,根据故障客户端类型筛选出相同类型且未绑定的客户端,计入第三注册客户端列表;
[0095] S30243:根据客户端注册时间,从第三注册客户端列表选择最近注册的客户端并绑定到故障客户端所在的协同工作系统中,当未查找到所上电的客户端时,表示所上电客户端异常;
[0096] S3025:确认故障处理结果。
[0097] 通过本发明提供的方法,解决了现有技术中尚无一种基于TCP的物联网客户端的跨平台协同工作方法的技术问题。
[0098] 应当理解的是,本发明不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。