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

多层级网络单向数据通信方法、装置、电子设备及介质与流程

2023-04-26 09:19:40 来源:中国专利 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.确定单元,用于根据当前得到的检索结果确定是否存储所述待注册数据。
30.在一种可能的实现方式中,所述多层级网络中每一个节点的本地数据源和级联的第三方数据源均设置有优先级;
31.所述确定单元,具体用于根据当前得到的检索结果中最高优先级对应的检索结果,确定是否存储所述待注册数据。
32.第三方面,本发明实施例还提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时,实现本说明书任一实施例所述的方法。
33.第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行本说明书任一实施例所述的方法。
34.本发明实施例提供了一种多层级网络单向数据通信方法、装置、电子设备及介质,通过为多层级网络中的至少一个节点级联第三方数据源,使得级联有第三方数据源的节点在进行待注册数据的数据检索时,能够依据第三方数据源进行数据检索,拓宽了数据检索的数据源,使得节点无需必须等待上层节点返回的上层检索结果,也可以基于第三方数据源的检索结果确定是否存储待注册数据。可见,本方案允许节点级联第三方数据源,不仅可以快速准确的得到检索结果,还可以降低上层节点的压力。
附图说明
35.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
36.图1是本发明一实施例提供的一种多层级网络单向数据通信方法流程图;
37.图2是本发明一实施例提供的一种多层级网络系统架构图;
38.图3是本发明一实施例提供的一种电子设备的硬件架构图;
39.图4是本发明一实施例提供的一种多层级网络单向数据通信装置结构图。
具体实施方式
40.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
41.请参考图1,本发明实施例提供了一种多层级网络单向数据通信方法,应用于所述多层级网络中的每一个节点,所述多层级网络中至少存在一个节点级联有第三方数据源;该方法包括:
42.步骤100,获取下层节点上报的或当前节点采集的待注册数据;
43.步骤102,若当前节点存在本地数据源,则根据所述待注册数据在该本地数据源进行数据检索,得到本地数据检索结果;若当前节点级联有第三方数据源,则根据所述待注册数据在与所述当前节点级联的第三方数据源进行数据检索,得到第三方数据检索结果;若所述当前节点存在上层节点,则将所述待注册数据上报至所述当前节点的上层节点,并获取该上层节点发布的上层检索结果;
44.步骤104,根据当前得到的检索结果确定是否存储所述待注册数据。
45.本发明实施例中,通过为多层级网络中的至少一个节点级联第三方数据源,使得级联有第三方数据源的节点在进行待注册数据的数据检索时,能够依据第三方数据源进行数据检索,拓宽了数据检索的数据源,使得节点无需必须等待上层节点返回的上层检索结果,也可以基于第三方数据源的检索结果确定是否存储待注册数据。可见,本方案允许节点级联第三方数据源,不仅可以快速准确的得到检索结果,还可以降低上层节点的压力。
46.下面描述图1所示的各个步骤的执行方式。
47.用户通过web页面进行数据采集,当采集到待注册数据时,需要将待注册数据进行
上报,因此,针对多层级网络中的每一个当前节点,该待注册数据可能是自身采集的,也可能是下层节点上报的。
48.当前节点获取到待注册数据之后,需要对该待注册数据进行校验。具体地,校验方式可以包括如下三种中的任意一种或多种:
49.第一种,当前节点存在本地数据源,则优先使用本地数据源对待注册数据进行数据检索,得到本地数据检索结果;
50.第二种,当前节点级联有第三方数据源,则根据待注册数据在与当前节点级联的第三方数据源进行数据检索,得到第三方数据检索结果;
51.第三种,当前节点存在上层节点,则将待注册数据上报至当前节点的上层节点,并获取上层节点发布的上层检索结果。
52.本发明实施例中,为了加快数据检索速度,数据源可以分为mysql数据库存储和clickhouse数据库存储,同时可以将检索关键hash值存储如es数据库和redis缓存数据库中。
53.在步骤104中,是否存储待注册数据,需要根据当前得到的检索结果来确定。本发明实施例中,当前得到的检索结果存在如下几种情况:;
54.情况一、只得到一个检索结果,则直接根据该检索结果确定是否存储该待注册数据;比如检索结果为该待注册数据是正常的,则可以直接对该待注册数据进行存储,若检索结果为该待注册数据是异常的,则放弃对该待注册数据的存储。
55.情况二、得到两个以上检索结果,则需要根据检索结果的优先级来确定是否存储待注册数据。
56.在情况二中,为了避免多个数据源的检索结果不同的情况,本发明实施例中,该多层级网络中每一个节点的本地数据源和级联的第三方数据源均设置有优先级;基于得到的两个以上的检索结果,根据最高优先级对应的检索结果确定是否存储该待注册数据。
57.举例来说,请参考图2,为一种示例的多层级网络系统架构图。假设b1c2级联有第三方数据源且存在本地数据源,为了降低该b1c2节点的压力,本地未设置本地数据源,该b1c2节点还接收有上层节点a1b1发布的由顶层节点a1检索得到的上层检索结果,根据优先级设置,假设第三方数据源的优先级高于顶层节点a1所对应数据源的优先级,则b1c2节点选择第三方数据检索结果确定是否存储该待注册数据。
58.本发明实施例中,可以通过第三方数据源的优先级设置为较大值,比如为1,对上层节点的数据源优先级设置为较小值,比如为0.1,如此来实现优先使用级联的第三方数据源进行数据检索,以减少上层节点的压力。
59.在本发明一个实施例中,为了提高数据检索速度,当当前得到的检索结果中包括第三方数据检索结果时,当前节点可以确定将所述待注册数据上报至所述当前节点的上层节点之后的预设时长内,是否获取到该上层节点发布的上层检索结果,若否,则根据所述第三方数据检索结果,确定是否存储所述待注册数据。
60.由于当前节点与上层节点的通信是由当前节点将待注册数据放置上层节点的kafka队列中,由上层节点从kafka队列中拉取数据,因此会存在数据通信的延时,另外,若当前节点在多层级网络中所处的层级较低,其上层节点的层级数量较多,那么上层检索结果的发布延时会更长,基于此,可以通知设置预设时长,比如为10s,若将待注册数据上报值
当前节点的上层节点之后10s内未获取到上层节点发布的上层检索结果,则可以直接根据第三方数据检索结果来确定是否存储该待注册数据,以保证数据的快速处理。
61.在本发明一个实施例中,为了避免多层级网络中出现环形通路,导致数据循环上报,比如,假设图2中a1b1节点与c2d1节点相连,则为了避免a1b1节点将c2d1节点上报给b1c2节点,再由b1c2节点上报给a1b1节点的数据,重复上报给c2d1节点,所述待注册数据中携带有采集节点的节点特征码。由于每个节点中存储有其所有下层节点的节点特征码,因此,当接收到待注册数据时,可以基于其携带的节点特征码确定是否进行上报。比如,a1b1节点基于待注册数据携带的c2d1节点的节点特征码,可以确定无需将该待注册数据上报给c2d1节点,由此避免环路的产生。
62.进一步地,多层级网络中的数据通信除上述注册数据以外,还存在告警信息的发布。本发明一个实施例中,当获取到告警信息时,确定所述告警信息的来源;根据所述告警信息的来源,确定是否对所述告警信息进行下发;
63.其中,该来源可以包括:注册数据触发的注册告警、当前节点自身告警、当前节点从下层节点拉取到的上报告警以及当前节点从上层节点接收到的下发告警中的任意一种。
64.不同来源的告警信息决定了当前节点是否需要将告警信息进行下发,以及如何进行下发。下面对上述每一种来源的告警信息分别进行说明。
65.第一种来源:所述告警信息的来源为注册数据触发的注册告警,则生成所述告警信息的信息特征码和注册特征码,并将该信息特征码和该注册特征码携带在所述告警信息中进行下发;
66.其中,该注册特征码用于表征该告警信息是由于注册数据触发的注册告警,以此告知其他节点该告警信息的性质;该信息特征码用于使得其他节点基于该信息特征码确定是否下发过该告警信息,由此避免告警信息的重复下发。
67.第二种来源:确定所述告警信息的来源为当前节点自身告警,则生成所述告警信息的信息特征码,并将该信息特征码携带在所述告警信息中进行下发;
68.该信息特征码的作用同样是用于使得其他节点基于该信息特征码确定是否下发过该告警信息,由此避免告警信息的重复下发。
69.第三种来源:确定所述告警信息的来源为当前节点从下层节点拉取到的上报告警,则将所述告警信息进行下发;
70.第四种来源:确定所述告警信息的来源为当前节点从上层节点接收到的下发告警,则根据所述告警信息携带的特征码确定是否已经下发过,若是,则不进行下发,若否,则将所述告警信息进行下发。
71.可见,不同来源的告警信息需要进行不同方式的处理,由此来约定是否将告警信息进行下发。
72.无论上述哪一种来源,在将告警信息进行下发之后,可以将告警信息放入下发数据消息队列对应的topic中,由此实现告警信息的下发。
73.本发明实施例中,通过为多层级网络中的至少一个节点级联第三方数据源,使得级联有第三方数据源的节点在进行待注册数据的数据检索时,能够依据第三方数据源进行数据检索,拓宽了数据检索的数据源,使得节点无需必须等待上层节点返回的上层检索结果,也可以基于第三方数据源的检索结果确定是否存储待注册数据。可见,本方案允许节点
级联第三方数据源,不仅可以快速准确的得到检索结果,还可以降低上层节点的压力。
74.如图3、图4所示,本发明实施例提供了一种多层级网络单向数据通信装置。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。从硬件层面而言,如图3所示,为本发明实施例提供的一种多层级网络单向数据通信装置所在电子设备的一种硬件架构图,除了图3所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的电子设备通常还可以包括其他硬件,如负责处理报文的转发芯片等等。以软件实现为例,如图4所示,作为一个逻辑意义上的装置,是通过其所在电子设备的cpu将非易失性存储器中对应的计算机程序读取到内存中运行形成的。本实施例提供的一种多层级网络单向数据通信装置,应用于所述多层级网络中的每一个节点,所述多层级网络中至少存在一个节点级联有第三方数据源;包括:
75.获取单元401,用于获取下层节点上报的或当前节点采集的待注册数据;
76.数据检索单元402,用于若当前节点存在本地数据源,则根据所述待注册数据在该本地数据源进行数据检索,得到本地数据检索结果;若当前节点级联有第三方数据源,则根据所述待注册数据在与所述当前节点级联的第三方数据源进行数据检索,得到第三方数据检索结果;若所述当前节点存在上层节点,则将所述待注册数据上报至所述当前节点的上层节点,并获取该上层节点发布的上层检索结果;
77.确定单元403,用于根据当前得到的检索结果确定是否存储所述待注册数据。
78.在本发明一个实施例中,所述多层级网络中每一个节点的本地数据源和级联的第三方数据源均设置有优先级;
79.所述确定单元403,具体用于根据当前得到的检索结果中最高优先级对应的检索结果,确定是否存储所述待注册数据。
80.在本发明一个实施例中,当前得到的检索结果包括所述第三方数据检索结果;
81.所述确定单元403,具体用于确定将所述待注册数据上报至所述当前节点的上层节点之后的预设时长内,是否获取到该上层节点发布的上层检索结果,若否,则根据所述第三方数据检索结果,确定是否存储所述待注册数据。
82.在本发明一个实施例中,所述待注册数据中携带有采集节点的节点特征码。
83.在本发明一个实施例中,该确定单元还用于当获取到告警信息时,确定所述告警信息的来源;根据所述告警信息的来源,确定是否对所述告警信息进行下发;
84.所述来源包括:注册数据触发的注册告警、当前节点自身告警、当前节点从下层节点拉取到的上报告警和当前节点从上层节点接收到的下发告警中的任意一种。
85.在本发明一个实施例中,所述确定单元在根据所述告警信息的来源,确定是否对所述告警信息进行下发时,具体包括:
86.若所述告警信息的来源为注册数据触发的注册告警,则生成所述告警信息的信息特征码和注册特征码,并将该信息特征码和该注册特征码携带在所述告警信息中进行下发;
87.若确定所述告警信息的来源为当前节点自身告警,则生成所述告警信息的信息特征码,并将该信息特征码携带在所述告警信息中进行下发;
88.若确定所述告警信息的来源为当前节点从下层节点拉取到的上报告警,则将所述告警信息进行下发;
89.若确定所述告警信息的来源为当前节点从上层节点接收到的下发告警,则根据所述告警信息携带的特征码确定是否已经下发过,若是,则不进行下发,若否,则将所述告警信息进行下发。
90.可以理解的是,本发明实施例示意的结构并不构成对一种多层级网络单向数据通信装置的具体限定。在本发明的另一些实施例中,一种多层级网络单向数据通信装置可以包括比图示更多或者更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件、软件或者软件和硬件的组合来实现。
91.上述装置内的各模块之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
92.本发明实施例还提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时,实现本发明任一实施例中的一种多层级网络单向数据通信方法。
93.本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序在被处理器执行时,使所述处理器执行本发明任一实施例中的一种多层级网络单向数据通信方法。
94.具体地,可以提供配有存储介质的系统或者装置,在该存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机(或cpu或mpu)读出并执行存储在存储介质中的程序代码。
95.在这种情况下,从存储介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此程序代码和存储程序代码的存储介质构成了本发明的一部分。
96.用于提供程序代码的存储介质实施例包括软盘、硬盘、磁光盘、光盘(如cd-rom、cd-r、cd-rw、dvd-rom、dvd-ram、dvd-rw、dvd rw)、磁带、非易失性存储卡和rom。可选择地,可以由通信网络从服务器计算机上下载程序代码。
97.此外,应该清楚的是,不仅可以通过执行计算机所读出的程序代码,而且可以通过基于程序代码的指令使计算机上操作的操作系统等来完成部分或者全部的实际操作,从而实现上述实施例中任意一项实施例的功能。
98.此外,可以理解的是,将由存储介质读出的程序代码写到插入计算机内的扩展板中所设置的存储器中或者写到与计算机相连接的扩展模块中设置的存储器中,随后基于程序代码的指令使安装在扩展板或者扩展模块上的cpu等来执行部分和全部实际操作,从而实现上述实施例中任一实施例的功能。
99.需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
…”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
100.本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序
在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质中。
101.最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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