一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

数据接入方法及网关与流程

2022-04-30 15:39:13 来源:中国专利 TAG:


1.本技术涉及数据传输技术领域,具体涉及一种数据接入方法及网关。


背景技术:

2.随着物联网和移动互联网的快速发展,车联网、公共安防、智能家居等各类信息采集的智能终端的电子化程序也越来越高。而不同的终端业务,其终端业务数据类别以及标准规范不尽相同,因此相关技术中,在将多类别标准规范甚至跨行业属性的数据传输到云端时,需要根据针对不同终端的通信协议进行横向拓展,以实现云端的多种类、多协议的数据采集。
3.然而,由于随着物联网和移动互联网的快速发展,终端业务数据类别、标准规范都呈现爆发式的增长,因此在处理多类别标准规范甚至跨行业属性终端的场景时,大量不同的数据协议的接入会使得云端进行叠罗汉式的无序横向扩展,进而导致系统复用率降低、复杂度增加,影响数据的传输效率。同时,通常每次进行数据传输时都会对每条数据进行协议解析,以确保数据传输的有效性。然而,随着终端的电子化程序越来越高,因此需要采集的数据量越来越大,导致对数据进行协议解析的压力较大,影响了数据传输的效率。


技术实现要素:

4.本技术实施例提供一种数据接入方法及网关,提高多协议的数据传输效率。
5.第一方面,本技术实施例提供一数据接入方法,包括:
6.在接收到终端发送的当前链路数据时,根据所述当前链路数据的数据格式,从各协议插件中匹配与所述当前链路数据对应的目标协议插件;
7.根据所述目标协议插件对所述当前链路数据进行协议解析,接入所述当前链路数据,并将所述目标协议插件与所述终端的通信链路进行绑定,以根据所述目标协议插件对所述终端的通信链路发送的链路数据进行协议解析。
8.在一个实施例中,根据所述当前链路数据的数据格式,从各协议插件中匹配与所述当前链路数据对应的目标协议插件,包括:
9.检测所述终端的通信链路与各所述协议插件;
10.当检测到各所述协议插件中未存在与所述终端的通信链路绑定的所述目标协议插件时,根据所述当前链路数据的数据格式,从各协议插件中匹配与所述当前链路数据对应的所述目标协议插件。
11.在一个实施例中,所述根据所述当前链路数据的数据格式,从各协议插件中匹配与所述当前链路数据对应的所述目标协议插件,包括:
12.根据所述当前链路数据的报文头,对所述当前链路数据进行解析裁决,确定所述当前链路数据的目标协议;
13.根据所述目标协议,从各协议插件中匹配与所述当前链路数据对应的所述目标协议插件。
14.在一实施例中,还包括:
15.当检测到各所述协议插件中存在与所述终端的通信链路绑定的所述目标协议插件时,根据所述目标协议插件对所述终端的通信链路发送的链路数据进行协议解析。
16.在一实施例中,还包括:
17.采集所述当前链路数据的接入过程中产生的运行数据,并将所述运行数据同步至监控终端。
18.在一实施例中,在根据所述当前链路数据的数据格式,从各协议插件中匹配与所述当前链路数据对应的目标协议插件之前,还包括:
19.将所述当前链路数据缓存至各存储区域中的目标存储区域;
20.所述目标存储区域根据各存储区域的数据存储量、所述当前链路数据的数据量、所述当前链路数据的数据格式中的至少一种确定。
21.在一实施例中,各所述协议插件相互独立。
22.第二方面,本技术实施例提供一种数据接入网关,包括:
23.链路数据管理模块,用于在接收到终端发送的当前链路数据时,根据所述当前链路数据的数据格式,从各协议插件中匹配与所述当前链路数据对应的目标协议插件;
24.协议插件管理模块,用于根据所述目标协议插件对所述当前链路数据进行协议解析,接入所述当前链路数据,并将所述目标协议插件与所述终端的通信链路进行绑定,以根据所述目标协议插件对所述终端的通信链路发送的链路数据进行协议解析。
25.第三方面,本技术实施例提供一种电子设备,包括处理器和存储有计算机程序的存储器,所述处理器执行所述程序时实现第一方面所述的数据接入方法的步骤。
26.第四方面,本技术实施例提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现第一方面所述的数据接入方法的步骤。
27.本技术实施例提供的数据接入方法及网关,通过预先构建多个协议插件,在接收到终端发送的当前链路数据时,根据当前链路数据的数据格式,从各协议插件中匹配与当前链路数据对应的目标协议插件,以通过目标协议插件对当前链路数据进行协议解析后接入当前链路数据,从而可通过单一网关实现多协议的数据的接入,避免无序横向扩展,从而提高系统复用率,降低复杂度。同时将目标协议插件与终端的通信链路进行绑定,以使后续可根据目标协议插件对终端的通信链路发送的链路数据进行协议解析,避免每条数据都进行不必要的协议解析裁决,进而有效地提高数据传输的效率。
附图说明
28.为了更清楚地说明本技术或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
29.图1是本技术实施例提供的数据接入方法的流程示意图;
30.图2是本技术实施例提供的数据接入网关的结构示意图;
31.图3是本技术实施例提供的电子设备的结构示意图。
具体实施方式
32.为使本技术的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
33.下面结合附图对本技术实施例进行详细的阐述。
34.参见图1,是本发明实施例提供的数据接入方法的流程示意图之一,该方法应用于网关设备中,用于实现多协议的数据统一接入网关。如图1所示,本实施例提供的一种数据接入方法包括:
35.步骤101,在接收到终端发送的当前链路数据时,根据所述当前链路数据的数据格式,从各协议插件中匹配与所述当前链路数据对应的目标协议插件;
36.步骤102,根据所述目标协议插件对所述当前链路数据进行协议解析,接入所述当前链路数据,并将所述目标协议插件与所述终端的通信链路进行绑定,以根据所述目标协议插件对所述终端的通信链路发送的链路数据进行协议解析。
37.通过预先构建多个协议插件,在接收到终端发送的当前链路数据时,根据当前链路数据的数据格式,从各协议插件中匹配与当前链路数据对应的目标协议插件,以通过目标协议插件对当前链路数据进行协议解析后接入当前链路数据,从而可通过单一网关实现多协议的数据的接入,避免无序横向扩展,从而提高系统复用率,降低复杂度。同时将目标协议插件与终端的通信链路进行绑定,以使后续可根据目标协议插件对终端的通信链路发送的链路数据进行协议解析,避免每条数据都进行不必要的协议解析裁决,进而有效地提高数据传输的效率。
38.在步骤101中,在接收终端发送的当前链路数据之前,为确保能够有效地进行数据传输,可预先对网关的各项参数进行配置。包括网关接入地址、服务运行基本配置(线程数、内存等)、数据出口、公共资源初始化参数、各类协议插件等参数的配置。其中,配置类别可分为通用基础参数以及协议插件独立参数,配置的方式可多样,支持静态、动态配置;静态配置支持一次性文件加载、动态配置采用消息队列以及对外提供动态参数配置接口。
39.在完成参数配置后,通过链路数据管理模块接收各终端的通信链路,并释放各终端的通信链路后,当通过任一终端的通信链路接收到的当前链路数据时,由于链路数据通常携带有与其通信协议对应的数据格式信息,因此可从当前链路数据中,获取当前链路数据的数据格式信息,从而确定当前链路数据的数据格式,如string数据格式。
40.在获取到当前链路数据的数据格式后,根据预先设定的数据格式与通信协议的预设匹配规则,确定与该数据格式相匹配的通信协议,从而根据与该数据格式相匹配的通信协议,从各协议插件中确定对应的目标协议插件。
41.其中,目标协议插件可绑定符合该协议的所有终端的通信链路。
42.在一实施例中,通信协议包括如《jt/t 808-2019道路运输车辆卫星定位系统终端通讯协议及数据格式》、《gb/t 32960.3-2016电动汽车远程服务与管理系统技术规范第3部分:通信协议及数据格式》等行业自定义标准协议,同时也可以是mqtt、http等行业通用通信协议。
43.各协议插件可以是《jt/t 808-2019道路运输车辆卫星定位系统终端通讯协议及
数据格式》(即808协议)、《gb/t 32960.3-2016电动汽车远程服务与管理系统技术规范第3部分:通信协议及数据格式》(即32960协议)或行业通用通信协议的协议插件。
44.为提高数据传输效率,在一实施例中,根据所述当前链路数据的数据格式,从各协议插件中匹配与所述当前链路数据对应的目标协议插件,包括:
45.检测所述终端的通信链路与各所述协议插件;
46.当检测到各所述协议插件中未存在与所述终端的通信链路绑定的所述目标协议插件时,根据所述当前链路数据的数据格式,从各协议插件中匹配与所述当前链路数据对应的所述目标协议插件。
47.当检测到各所述协议插件中存在与所述终端的通信链路绑定的所述目标协议插件时,根据所述目标协议插件对所述终端的通信链路发送的链路数据进行协议解析。
48.在一实施例中,在接收到当前链路数据时,预先获取传输当前链路数据的通信链路,并检测该通信链路与各协议插件的绑定关系;当检测到各协议插件中不存在与该通信链路绑定的目标协议插件时,再将当前链路数据的数据格式通过数据解析裁决接口gejudgerequest进行协议裁决,从各协议插件中匹配与当前链路数据对应的所述目标协议插件。
49.若检测到各协议插件中存在与该通信链路绑定的目标协议插件,则可直接通过该目标协议插件对当前链路数据进行协议解析,无需再对当前链路数据进行协议解析裁决。
50.在一实施例中,当前链路数据的数据格式可根据当前链路数据的报文头来确定。若检测到各协议插件中不存在与该通信链路绑定的目标协议插件,此时可根据所述当前链路数据的报文头,对所述当前链路数据进行解析裁决,确定所述当前链路数据的目标协议;根据所述目标协议,从各协议插件中匹配与所述当前链路数据对应的所述目标协议插件。
51.示例性的,假设网关中的插件管理模块预先通过插件装载接口geinitialize创建有808协议插件以及32960协议插件,且存在有上报数据之前均通过移动互联网建立好tcp数据链路的两个终端。此时若接收到两个终端的当前链路数据,如接收到终端a的当前链路数据为:7e020040260100000002008061065000f1a50000000000000003020aecf3067cf5e7016f011000592111291725570302011030011f31010ba77e;接收到终端b的当前链路数据为:232302fe4c5a47434c323434384c5831373232393301024a150c02142e0901010301029600037273178e25685f011e13ad0e00020101013f57784e444b174a272b03000000000000000000000100000100000102040200000000050006c023ad0202d1190601740dfa01390cbd01023c012438070000000000000000020000008000000001080101178e256801680001c80cdb0cdf0cde0cdd0cdd0cdf0cdf0cdf0cdd0cdd0ce20cde0cdd0ce00cf30cf30cf30cf20cf30cf20cf20cf40cf10cf20cf20cf00cf00cf20cfe0cfd0cfc0cfb0cfb0cfd0cff0cfb0cfd0cfe0d000d000cfe0cff0d000d010d000cff0d030cff0d020d010d020d040d040d040d020d040cbd0cc20cbe0cbf0cf00cf00cf10cfb0cfb0cf50cfd0d010cfb0cf90cfa0cfb0cf90cf90cf40cfd0cf50cf90cf50cf70cf90cfa0cf80cfa0cfc0cf80cf40cfe0cfc0cf70d010cfa0cfc0cfb0cfb0cfa0cfa0cf90cf90cf90cfa0cf60cfa0cf70cfb0cfa0cf90cf90cfa0cf90cfc0cf70cf90cf70cf90dfa0cfe0d000d000d050d010d020d090d000d020d050d050d030d060cfb0cfe0d040cfb0d010d000d040d010d050d000d040cff0d020d000d010cfc0d090cff0d000d020d060d040cfd0d040d040cfe0cfc0d000d000cfc0d0a0d020d050cfc0d060d040d070cfd0d020cfb0d020d020d270cfe0d010d
010cfe0d030d060d000cfc0d070cff0d040cfc0cfc0cfd0d060cfd0d070d0c0d070d820cfc0d040d060d0a0cfc0d010cfa0d0c090101003c3b3c3c3b3b3c3b3b3c3b3c3c3b3b3b3a3b3a3a3a3b3a3b3b3b3b3b3a3b3939393a393a383a3a3b3a3b3b3a3a3b3a3a3a3a3a3a3a3a3a393a3a393a3a20;则根据终端a的链路数据的报文头7e,以及终端b的链路数据的报文头2323,可确定终端a的链路数据采用的是808协议,符合808协议插件;终端b的链路数据采用的是32960协议,符合32960协议插件。此时,通过808协议插件对终端a的链路数据进行数据解析及相关业务处理,通过32960协议插件对终端b的链路数据进行数据解析及相关业务处理,以使终端a和终端b的链路数据接入网关,从而通过网关发送至目的地址。
52.在一实施例中,除通过报文头进行链路数据的数据格式的裁决外,还可通过报文校验码来进行链路数据的数据格式裁决。
53.在一实施例中,在确定对当前链路数据进行解析的目标协议插件后,由于当前链路数据所采用的通信协议是由发送该当前链路数据的通信链路决定的,因此可将该被匹配到的目标协议插件,与发送该当前链路数据的终端的通信链路进行绑定,在后续接收到该通信链路发送的链路数据时,可直接调用对应的协议插件,避免每条数据都进行不必要的协议解析裁决。其中,每个终端的数据链路只绑定一个协议插件。
54.示例性的,将通信协议为808协议的终端a的通信链路,与808协议插件进行绑定,从而当接收到终端a的通信链路发送的链路数据时,直接调用808协议插件对其进行解析。
55.在一实施例中,各所述协议插件相互独立,使各协议插件中任一协议插件进行动态插拔时不会影响其余的协议插件。且各协议插件按照统一的api结构编写。
56.在一实施例中,在当前链路数据的接入过程中,还包括:
57.采集所述当前链路数据的接入过程中产生的运行数据,并将所述运行数据同步至监控终端。
58.在一实施例中,网关设置有调度中心模块,通过调度中心模块来采集当前链路数据的接入过程中产生的运行数据,即采集链路数据管理模块和协议插件管理模块的运行状态,然后将这些信息同步到监控终端。
59.其中,监控终端可集成有grafana、prometheus、zabbix等第三方平台监控系统,可为用户动态地展示如终端接入量、动态轨迹跟踪、数据流向、异常报警以及网关运行详情等定制化数据。
60.通过在数据接入时,对接入数据的过程进行监控,从而能够及时有效地发现数据接入过程中地问题,提高数据接入的效率。
61.其中,监控终端只与调度中心模块进行交互,不与其他模块例如链路数据管理模块等进行交互,降低了网关的耦合度。
62.在一实施例中,在根据所述当前链路数据的数据格式,从各协议插件中匹配与所述当前链路数据对应的目标协议插件之前,还包括:
63.将所述当前链路数据缓存至各存储区域中的目标存储区域;
64.所述目标存储区域根据各存储区域的数据存储量、所述当前链路数据的数据量、所述当前链路数据的数据格式中的至少一种确定。
65.在一实施例中,网关还预设有公共第三方资源存储区域的接口,如数据库(oracle、mysql、postgresql以及nosql等)接口、缓存接口(ehcache、memcache、redis等)、
消息队列接口(mq、kafka等)等。
66.在接收到终端发送的当前链路数据时,预先将当前链路数据存储到各存储区域中的目标存储区域中,如kafka消息队列或redis缓存等。再从目标存储区域中提取当前链路数据进行处理,从而在减少数据接入过程中的处理压力的同时,使当前链路数据可被复用,提高了资源的复用性。
67.在一实施例中,当前链路数据对应的目标存储区域可根据当前链路数据的数据格式预先设定。如当前链路数据的数据格式对应的协议为808协议,则当前链路数据的目标存储区域为redis缓存;或者,可根据各存储区域的数据存储量确定,如选定各存储区域中数据存储量最少的存储区域作为目标存储区域;或者,还可以预先设定数据量区间与存储区域的对应关系,然后根据当前链路数据的数据量所属的数据量区间,从各存储区域中确定其所属的数据量区间对应的目标存储区域。
68.下面对本技术实施例提供的数据接入网关进行描述,下文描述的数据接入网关与上文描述的数据接入方法可相互对应参照。
69.在一实施例中,如图2所示,提供了一种数据接入网关,包括:
70.链路数据管理模块210,用于在接收到终端发送的当前链路数据时,根据所述当前链路数据的数据格式,从各协议插件中匹配与所述当前链路数据对应的目标协议插件;
71.协议插件管理模块220,用于根据所述目标协议插件对所述当前链路数据进行协议解析,接入所述当前链路数据,并将所述目标协议插件与所述终端的通信链路进行绑定,以根据所述目标协议插件对所述终端的通信链路发送的链路数据进行协议解析。
72.在一实施例中,链路数据管理模块210,具体用于:
73.检测所述终端的通信链路与各所述协议插件;
74.当检测到各所述协议插件中未存在与所述终端的通信链路绑定的所述目标协议插件时,根据所述当前链路数据的数据格式,从各协议插件中匹配与所述当前链路数据对应的所述目标协议插件。
75.在一实施例中,链路数据管理模块210,具体用于:
76.根据所述当前链路数据的报文头,对所述当前链路数据进行解析裁决,确定所述当前链路数据的目标协议;
77.根据所述目标协议,从各协议插件中匹配与所述当前链路数据对应的所述目标协议插件。
78.在一实施例中,链路数据管理模块210,还用于:
79.当检测到各所述协议插件中存在与所述终端的通信链路绑定的所述目标协议插件时,根据所述目标协议插件对所述终端的通信链路发送的链路数据进行协议解析。
80.在一实施例中,还包括调度中心模块,用于:
81.采集所述当前链路数据的接入过程中产生的运行数据,并将所述运行数据同步至监控终端。
82.在一实施例中,链路数据管理模块210还用于:
83.将所述当前链路数据缓存至各存储区域中的目标存储区域;
84.所述目标存储区域根据各存储区域的数据存储量、所述当前链路数据的数据量、所述当前链路数据的数据格式中的至少一种确定。
85.在一实施例中,各所述协议插件相互独立。
86.通过预先构建多个协议插件,在接收到终端发送的当前链路数据时,根据当前链路数据的数据格式,从各协议插件中匹配与当前链路数据对应的目标协议插件,以通过目标协议插件对当前链路数据进行协议解析后接入当前链路数据,从而可通过单一网关实现多协议的数据的接入,避免无序横向扩展,从而提高系统复用率,降低复杂度。同时将目标协议插件与终端的通信链路进行绑定,以使后续可根据目标协议插件对终端的通信链路发送的链路数据进行协议解析,避免每条数据都进行不必要的协议解析裁决,进而有效地提高数据传输的效率。
87.图3示例了一种电子设备的实体结构示意图,如图3所示,该电子设备可以包括:处理器(processor)810、通信接口(communication interface)820、存储器(memory)830和通信总线840,其中,处理器810,通信接口820,存储器830通过通信总线840完成相互间的通信。处理器810可以调用存储器830中的计算机程序,以执行数据接入方法的步骤,例如包括:
88.在接收到终端发送的当前链路数据时,根据所述当前链路数据的数据格式,从各协议插件中匹配与所述当前链路数据对应的目标协议插件;
89.根据所述目标协议插件对所述当前链路数据进行协议解析,接入所述当前链路数据,并将所述目标协议插件与所述终端的通信链路进行绑定,以根据所述目标协议插件对所述终端的通信链路发送的链路数据进行协议解析。
90.此外,上述的存储器830中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
91.另一方面,本技术实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各实施例所提供的数据接入方法的步骤,例如包括:
92.在接收到终端发送的当前链路数据时,根据所述当前链路数据的数据格式,从各协议插件中匹配与所述当前链路数据对应的目标协议插件;
93.根据所述目标协议插件对所述当前链路数据进行协议解析,接入所述当前链路数据,并将所述目标协议插件与所述终端的通信链路进行绑定,以根据所述目标协议插件对所述终端的通信链路发送的链路数据进行协议解析。
94.另一方面,本技术实施例还提供一种处理器可读存储介质,所述处理器可读存储介质存储有计算机程序,所述计算机程序用于使处理器执行上述各实施例提供的方法的步骤,例如包括:
95.在接收到终端发送的当前链路数据时,根据所述当前链路数据的数据格式,从各协议插件中匹配与所述当前链路数据对应的目标协议插件;
96.根据所述目标协议插件对所述当前链路数据进行协议解析,接入所述当前链路数据,并将所述目标协议插件与所述终端的通信链路进行绑定,以根据所述目标协议插件对所述终端的通信链路发送的链路数据进行协议解析。
97.所述处理器可读存储介质可以是处理器能够存取的任何可用介质或数据存储设备,包括但不限于磁性存储器(例如软盘、硬盘、磁带、磁光盘(mo)等)、光学存储器(例如cd、dvd、bd、hvd等)、以及半导体存储器(例如rom、eprom、eeprom、非易失性存储器(nand flash)、固态硬盘(ssd))等。
98.以上所描述的网关实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
99.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
100.最后应说明的是:以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献