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

无线通信方法、装置、系统、服务器以及介质与流程

2022-03-08 22:04:38 来源:中国专利 TAG:


1.本发明属于无线通信技术领域,尤其涉及一种无线通信方法、装置、系统、服务器以及介质。


背景技术:

2.随着通讯技术、信息技术的飞速发展,电力、工业等垂直行业对有线、无线配置的可靠性提出了更高要求,以电力系统为例,越来越多的封闭半封闭场景,如电力变电站、发电站对多冗余配置提出了行业固有要求。
3.现有电力行业通信模块的冗余配置基于有线传输,在保证数据一致性的同时提高数据传输的可靠性,主要采用有线通信网冗余配置架构来实现,但是这种有线通信网冗余配置由于线路较多,存在线路复杂,成本高的缺陷。


技术实现要素:

4.本发明实施例提供一种无线通信方法、装置、系统、服务器以及介质,能够解决通信网络线路复杂、成本高的问题。
5.第一方面,本发明实施例提供一种无线通信方法,应用于第一mec服务器,包括:
6.接收数据采集设备发送的数据操作请求;
7.在所述数据操作请求不是重复请求的情况下,控制各个第二mec服务器依据所述数据操作请求对主站系统执行具有一致性的数据操作。
8.第二方面,本发明实施例提供了一种无线通信方法,应用于第二mec服务器,所述方法包括:
9.接收数据采集设备发送的数据操作请求;
10.在接收到第一mec发送的执行请求的情况下,依据所述数据操作请求对主站系统执行数据操作;其中,所述执行请求用于控制所述第二mec服务器执行与其他第二mec服务器具有一致性的数据操作。
11.第三方面,本发明实施例提供了一种无线通信装置,应用于第一mec服务器,包括:
12.第一网络通信模块,用于接收数据采集设备发送的数据操作请求;
13.第一数据管理模块,用于在所述数据操作请求不是重复请求的情况下,控制各个第二mec服务器依据所述数据操作请求对主站系统执行具有一致性的数据操作。
14.第四方面,本发明实施例提供了一种无线通信装置,应用于第二mec服务器,包括:
15.第二网络通信模块,用于接收数据采集设备发送的数据操作请求;
16.第二数据管理模块,用于在接收到第一mec发送的执行请求的情况下,依据所述数据操作请求对主站系统执行数据操作;其中,所述执行请求用于控制所述第二mec服务器执行与其他第二mec服务器具有一致性的数据操作。
17.第五方面,本发明实施例提供了一种无线通信系统,包括:
18.安装有网卡的数据采集设备、主站系统以及分别连接所述数据采集设备和所述主
站系统的至少两路数据传输线路;
19.每路所述数据传输线路包括通信模块、基站以及mec服务器;
20.所述通信模块用于接收所述数据采集设备发送的数据操作请求,并通过所述基站发送至所述mec服务器;
21.所述mec服务器包括第一mec服务器以及第二mec服务器;
22.所述第一mec服务器用于实现如第一方面所述的无线通信方法;
23.所述第二mec服务器用于实现如第二方面所述的无线通信方法。
24.第六方面,本发明实施例提供了一种服务器,包括:处理器;
25.用于存储所述处理器可执行指令的存储器;
26.其中,所述处理器被配置为执行所述指令,以实现如第一方面或第二方面所述的无线通信方法。
27.第七方面,本发明实施例提供了一种可读存储介质,当所述存储介质中的指令由服务器的处理器执行时,使得服务器能够执行如第一方面或第二方面所述的无线通信方法。
28.本发明提供的实施例,依据mec服务器来数据传输过程中的一致性以及数据的非重复性。由于无线传输的结构不需要设置大量的实体线路,从而简化了整个通信网络的线路结构,并降低了实体线路所带来的成本。其中,判断数据操作请求是否为重复请求,能够避免数据重复处理导致的资源浪费,以及重复数据对后续其他处理过程中的数据准确性的影响。并且,通过保证数据传输过程的一致性,也能够避免多个mec服务器同时对相同数据进行处理时导致的数据冲突以及避免主站系统内数据的重复性。
附图说明
29.为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单的介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
30.图1是一种现有有线冗余组网架构的结构示意图;
31.图2是本发明一个实施例提供的一种无线通信系统的结构示意图;
32.图3是本发明一个实施例提供的一种无线通信系统的基本工作流程;
33.图4是本发明一个实施例提供的一种无线通信方法的过程示意图;
34.图5是本发明另一个实施例提供的一种无线通信方法的过程示意图;
35.图6是本发明又一个实施例提供的一种选举过程示意图;
36.图7是本发明一个实施例提供的一种无线通信装置的结构示意图;
37.图8是本发明另一个实施例提供的一种无线通信装置的结构示意图;
38.图9是本发明实施例提供的一种服务器的硬件结构示意图。
具体实施方式
39.下面将详细描述本发明的各个方面的特征和示例性实施例,为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及具体实施例,对本发明进行进一步详细描述。应理解,此处所描述的具体实施例仅被配置为解释本发明,并不被配置为限定本发
明。对于本领域技术人员来说,本发明可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本发明的示例来提供对本发明更好的理解。
40.需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
41.目前通常采用的通信组网架构为有线冗余组网架构,以变电站站内光缆的冗余配置为例进行说明,参见图1所示,图1示出了一种现有有线冗余组网架构的结构示意图。
42.一般b类及以上供电区域的35kv变电站及110/66kv及以上变电站光缆应具备至少2条线路路由。变电站具有至少两条不同线路光缆或同杆双回两条光缆。图1中的工作过程为:数据采集设备采集数据,通过光传输设备转化为光信号由光纤发送到双板卡上,经双路由再转化为电信号传输到电力系统的主站系统,并且,根据电网实际需求,可在电力系统主站系统前端配置前置器,并分别冗余配置前置功能模块和服务器功能模块,并在服务器功能模块内搭载重复删除算法。
43.但是,现有的有线通信网冗余配置存在的主要缺点包括:在工业组网上需要花费大量成本在光纤上并给出优质组网方案,线路复杂,受大型灾害影响大;在运维方面,园区需要检查有线通信链路的维护情况,故障发生时通常很难找到故障点。用户设置通信网络后,由于系统的需求,通常会添加新设备,使用有线传输可能需要重新布线。即由于实体线路较多,会导致布线、维护以及更新时的线路处理较为复杂,并且由于线路较多导致成本较高。
44.为了解决现有的技术问题,本发明实施例提供了一种无线通信系统。下面首先对本发明实施例所提供的无线通信系统进行介绍。图2示出了本发明一个实施例提供的一种无线通信系统的结构示意图。该系统包括:
45.安装有网卡的数据采集设备101、主站系统106以及分别连接数据采集设备101和主站系统106的至少两路数据传输线路;
46.每路数据传输线路包括通信模块102、基站103以及mec服务器104;
47.通信模块102用于接收数据采集设备101发送的数据操作请求,并发送至基站103;
48.基站103用于将数据操作请求转化为光信号并上传至mec服务器104;
49.mec服务器104包括第一mec服务器以及第二mec服务器;
50.第一mec服务器用于接收数据采集设备101发送的数据操作请求;在数据操作请求不是重复请求的情况下,依据数据操作请求对主站系统106执行与其他mec服务器104具有一致性的数据操作;此外mec服务器104还可以实现边缘侧功能。
51.第二mec服务器用于接收数据采集设备101发送的数据操作请求;在接收到第一mec发送的执行请求的情况下,依据所述数据操作请求对主站系统106执行数据操作;其中,所述执行请求用于控制所述第二mec服务器执行与其他第二mec服务器具有一致性的数据
操作。
52.即通信模块102的第一端与数据采集设备101连接,通信模块102的第二端与基站103的第一端连接,基站103的第二端与mec服务器104的第一端连接,mec服务器104的第二端连接主站系统106。由于mec服务器104可能会依据从数据采集设备101接收到的数据操作请求对主站系统106进行写入或读取等操作,因此,mec服务器104会将读取的数据返回至数据采集设备101,因此上述提到的第一端和第二端均可以作为输入端以及输出端。
53.其中,数据采集设备101为了能够与通信模块102进行无线通信,需要安装网卡。上述系统中可以包括n路数据传输线路,n为偶数,其中每两路数据传输线路作为一组冗余线路。并且,出于结合5g频谱优势的目的,上述系统中互为冗余的两路数据传输线路的频段分别为2.6ghz、4.9ghz。例如,左侧通信模块102为5gnrsub6ghz的n41频段(2.6ghz),右侧通信模块102为5gnrsub6ghz的n79频段(4.9ghz),通信模块102可以为cpe/模组。
54.本发明提供的实施例,采用通信模块102、基站103、mec服务器104构建至少两路无线通信线路,来实现通信的冗余设置,并依据mec服务器104来数据传输过程中的一致性以及数据的非重复性。由于无线传输的结构不需要设置大量的实体线路,从而简化了整个通信网络的线路结构,并降低了实体线路所带来的成本。其中,判断数据操作请求是否为重复请求,是为了避免数据重复处理导致的资源浪费,以及重复数据对后续其他处理过程中的数据准确性的影响。并且,通过保证数据传输过程的一致性,也能够避免多个mec服务器同时对相同数据进行处理时导致的数据冲突以及避免主站系统内数据的重复性。
55.其中,本实施例中,数据采集设备到mec服务器之间的线路采用无线通信线路,例如2.6g或4.9g的无线通信线路。mec服务器与主站系统之间的线路可以采用通信双绞线或光缆等有线通信线路。
56.可选的,上述mec服务器104具体可以包括以下功能:
57.实现服务器间的网络通信和心跳连接两个部分,其中网络通信主要采用远程过程调用协议(remote procedure call protocol,rpc)框架实现,协程应用开发框架(fibjs)中内置有rpc框架的功能,直接使用即可。
58.进行分布式集群内的第一mec服务器104的选举和各个mec服务器104的角色转换。具体选举过程参见后续方法实施例中的介绍,在此不再赘述。
59.保证mec服务器104之间的执行具有一致性的数据操作。具体数据管理过程参见后续方法实施例中的介绍,在此不再赘述。
60.此外,mec服务器104与主站系统106之间还可以设置有前置器105。
61.以下以电力系统为例,结合图3,图3示出了本发明一个实施例提供的一种无线通信系统的基本工作流程。
62.1.数据采集设备101(例如,可以为电力终端模块)将数据操作请求的数据包头的源ip加入tag,并将数据操作请求发送至通信模块102;
63.2.通信模块102将数据操作请求的数据包上传至基站103;
64.3.激活mec服务器104;
65.4.mec服务器104保存基站103实时发送的数据操作请求;并对数据操作请求的报文进行重复验证,对重复的报文进行丢弃,具体的重复删除算法可参考下文实施例;激活mec服务器104的数据存储功能;将非重复的数据操作请求保存;
66.5.mec服务器104实现边端网络功能;
67.6.mec服务器104按需求拷贝数据包并上传至前置器105;
68.7.前置器105将mec服务器104上传的数据包上传至主站系统106;至此,流程结束。
69.基于上述无线通信系统的架构,本发明实施例提供了一种无线通信方法,如图4所示,图4示出了本发明一个实施例提供的一种无线通信方法的过程示意图。该方法包括:
70.s201、第一mec服务器和第二mec服务器分别接收数据采集设备发送的数据操作请求;
71.其中,无线通信系统中的数据主要存放在mec服务器和主站系统中,由于采用多重冗余技术,系统中的数据需要同时存储在多台机器中,因此,保证各个mec服务器执行的数据操作的一致性是系统可靠运行的重要前提。
72.s202、第一mec服务器验证数据操作请求是否为重复请求;
73.s203、在数据操作请求不是重复请求的情况下,第一mec服务器发送执行请求至各个第二mec服务器;
74.s204、第二mec服务器依据数据操作请求对主站系统执行具有一致性的数据操作。
75.本发明提供的实施例,依据mec服务器来数据传输过程中的一致性以及数据的非重复性。由于无线传输的结构不需要设置大量的实体线路,从而简化了整个通信网络的线路结构,并降低了实体线路所带来的成本。其中,判断数据操作请求是否为重复请求,是为了避免数据重复处理导致的资源浪费,以及重复数据对后续其他处理过程中的数据准确性的影响。并且,通过保证数据传输过程的一致性,也能够避免多个mec服务器同时对相同数据进行处理时导致的数据冲突以及避免主站系统内数据的重复性。
76.在本发明的一些实施例中,上述s202可以包括:
77.第一mec服务器将数据操作请求携带的第一序列号与接收的上一个数据操作请求携带的第二序列号进行比较;
78.依据比较结果,确定数据操作请求是否有效;
79.在数据操作请求有效的情况下,验证数据操作请求不是重复请求;
80.在数据操作请求无效的情况下,验证数据操作请求是重复请求,并删除数据操作请求。
81.在数据操作请求不是重复请求的情况下,上述第一序列号和第二序列好之间应该满足规定的数学关系,例如第一序列号如果小于第二序列号,则显然表明该数据操作请求已经被执行过。因此,通过为每个数据操作请求分配一个序列号,能够表征当前所接收到的数据操作请求的次序,从而确定当前数据操作请求是否被执行过,进而确定该数据操作请求是否为重复请求,这种判断方式计算量小且准确性高。
82.在进一步的实施例中,上述依据比较结果,确定数据操作请求是否有效可以包括:
83.在第一序列号x=第二序列号y的情况下,确定数据操作请求无效,在无效的情况下可以丢弃x对应的数据操作请求。这种情况下表明当前的数据操作请求与上一次执行过的数据操作请求相同,因此不再需要执行当前的数据操作请求。
84.在x=y 1的情况下,确定当前数据包有效,继续处理。若数据操作请求并未被遗漏的情况下,x就是应该等于y 1。
85.在y 1<x≤y n 1的情况下,确定数据操作请求有效。通常来讲,x应该等于y 1,若
x大于y 1,则表明y 1对应的数据操作请求并未被执行,即判定y 1的数据丢失。
86.在x》y n的情况下,确定数据操作请求有效;由于x和y之间相差大于n,此种情况可能是网络发生长时间中断或发送设备重新启动。
87.在y-n≤x<y的情况下,确定数据操作请求无效;在无效的情况下可以丢弃x对应的数据操作请求,其中,n为数据操作请求的长度。由于当前的数据操作请求早于上一次执行过的数据操作请求且x和y之间相差小于n,因此,通常表明当前的数据请求已经被执行过,不再需要重复执行。
88.在x《y-n的情况下,确定数据操作请求有效;由于x和y之间相差大于n,此种情况可能是网络发生长时间中断或发送设备重新启动。
89.此外,在本发明中第一mec服务器与各个第二mec服务器构成了分布式系统,而分布式数据的一致性算法中较为成熟的paxos算法,paxos是一种基于消息传递的分布式一致性算法,侧重解决的是在一个可能发生异常的分布式系统中就某个值达成一致,保证不论发生何种异常,都不会破坏系统的一致性。
90.但是,在传统的paxos算法中,各个节点(即各个服务器)有三种角色,proposer、acceptor和learner,一个节点可以兼有多重角色。但是当节点数量较多,proposer角色和acceptor角色较多时,在每个提案的批准过程中,会出现过多的通信量,使得数据一致性代价过高,因此本发明实施例中对paxos算法进行了优化。
91.本发明实施例中的优化paxos算法,是根据paxos算法思想设计了如下三个角色:looking、follower和leader。下文中的节点指的是服务器,在本发明实施例中,节点具体指的是mec服务器。
92.looking角色:当一个新的节点加入后,新节点的角色默认为looking,looking会向所有的节点发送选举消息来确认leader。当发现leader宕机后,其他节点也会转变为looking并执行重新leader选举。
93.leader角色:选举完成后,被选举的节点会转变成leader。它负责处理客户端发送的所有请求并管理着follower节点,检测各个节点是否正常通信,并提供告警功能。
94.follower角色:当选举结束后,除了leader节点之外的其他节点会成为follower。follower角色用来批准leader的提案和执行leader的决议。
95.在本实施中,第一mec服务器即为leader角色,而在选举得到第一mec服务器后,分布式系统中的其他第二mec服务器即会成为follower角色,而在没有选举得到第一mec服务器的情况下,则全部mec服务器均为looking角色。
96.基于此,参见图5,图5示出了本发明另一个实施例提供的一种无线通信方法的过程示意图。在本发明的一些实施例中,上述s203可以包括:
97.s2031、在数据操作请求不是重复请求的情况下,第一mec服务器生成一个第一标识uuid,并令当前保存的编号m加1,得到第一编号m 1,并保存m 1;
98.其中,为了能够记录每一次的数据操作,并保证节点间的数据一致性,引入了编号m,接收一次数据操作请求则编号加1。故第一编号表征的是当前接收到的数据操作请求的序号,即第一编号表示数据操作请求的身份。
99.s2032、第一mec服务器向各个第二mec服务器发送询问请求,询问请求包括第一标识、第一编号以及第一mec服务器的第一权重标识;
100.这里的询问请求是想要确认第二mec服务器是否能够对编号为m 1的数据操作请求进行执行。第一权重标识sid1是用于表明第一mec服务器的身份。
101.第一标识uuid用于令第二mec服务器判断自身想要接收的数据操作请求与后续实际接收到的数据操作是否相同,在两者相同的情况下才进行执行,从而保证各个第二mec服务器执行的数据操作相同。即第一标识表示的是询问请求的身份。
102.s2033、第二mec服务器在第一编号m 1大于自身保存的最大编号n且第二mec服务器对应的第一mec服务器的权重标识为第一权重标识的情况下,记录第一标识,并返回接受响应accept至第一mec服务器;
103.第一编号大于第二mec服务器保存的最大编号,表明该第二mec服务器还没有执行过第一编号对应的数据操作请求,因此只有这种情况下才能够允许执行后续的数据操作,否则出于避免重复执行数据操作的目的,第二mec服务器不能够返回accept。
104.第一mec服务器作为分布式集群的主节点,用于接收数据操作请求,并选择是否下发至第二mec服务器,第二mec服务器作为子节点,用于具体执行实际的数据操作。确定第二mec服务器对应的第一mec服务器的权重标识是否为第一权重标识,目的是为了确认该第二mec服务器所对应的主节点是否为该第一mec服务器,只有是的情况下,第二mec服务器才能够执行该第一mec服务器接收到的数据操作请求。
105.此外,在不满足上述条件的情况下,第二mec服务器可以范围拒绝响应reject至第一mec服务器,也可以不返回任何响应,本实施例对此不做限定。
106.s2034、在第一mec服务器接收到的接受响应的数量满足预设数量条件的情况下,第一mec服务器发送执行请求至各个第二mec服务器,执行请求包括第一编号、第一标识以及数据操作请求对应的目标操作内容;
107.其中,这里的预设数量条件可以包括以下任意一种:接受响应的数量超过预设数量阈值,例如,预设数量阈值为第二mec服务器总数的一半;接受响应的数量大于拒绝响应的数量等。只要预设数量条件能够反映当前大部分第二mec服务器均返回了接受响应即可。如果发生了不满足预设数量条件的情况,例如收到的reject大于accept,则应该是发生了主街道更换,第一mec服务器应该检查与自己连接的第二mec服务器是否大于总数的一半,若是,则跳至s2031进行重试。
108.第一mec服务器通过执行请求告知第二mec服务器需要执行的具体内容,还可以将自身的操作写入日志并通过数据采集设备反馈给客户端。
109.s2035、第二mec服务器在执行请求内的第一标识自身保存的第一标识相同的情况下,执行目标操作内容,并将自身保存的最大编号更新为第一编号。
110.第二mec服务器内保存的第一标识为询问请求内携带的第一标识,若执行请求和询问请求内携带有相同的第一标识,才能够表明当前待执行的目标操作内容是正确的。
111.此外,第二mec服务器从执行请求内读取编号为n到m 1的目标操作内容,并将该读取动作写入日志,之后执行目标操作内容并将执行动作写入本地日志。
112.本实施例中,第一mec服务器作为leader在接收到数据操作请求后,会向各个第二mec服务器发送是否处理该数据操作请求的提案,即上述询问请求,第二mec服务器作为follower角色通过验证第一编号以及第一权重标识来确定是否批准该提案,后续第一mec服务器在多数第二mec服务器批准提案的情况下,下发具体的请求执行决议,即上述执行请
求,各个第二mec服务器则对上述执行请求内的目标操作内容进行执行。可见,本实施例不仅能够保证数据操作请求正确下发至第二mec服务器,并且能够保证在不进行重复操作的情况下,各个第二mec服务器执行一致性的数据操作。
113.在本发明的另一些实施例中,该方法还可以包括:
114.在数据操作请求为读请求的情况下,第一mec服务器读取主站系统内的目标数据,并将目标数据返回数据采集设备;
115.上述s2031可以包括:在数据操作请求为写请求的情况下,第一mec服务器生成一个第一标识,并令当前保存的编号加1,得到第一编号。
116.即第一mec服务器会首先判断数据操作请求的类别,如果是读请求则直接返回读取结果,如果是写请求,再执行上述s203的操作。由于读请求仅是对主站系统内的数据进行读取,即使读取不同的数据,也不会对主站系统内的数据造成其他影响,而写请求会对主站系统内的数据造成改变,因此需要保证主站系统内数据的准确性和一致性,因此在写请求的情况下,则需要控制各个mec服务器执行相同的动作。
117.此外,为了得到上述第一mec服务器,本发明实施例优化后的paxos算法还要执行leader选举操作,即在本发明的再一些实施例中,上述s201之前,还可以包括:第一mec服务器的选举过程,该选举过程可以包括:
118.每个mec服务器分别向系统中的其他mec服务器发送第一投票;
119.每个mec服务器接收其他mec服务器发送的第二投票后,发送第一返回值至第二投票对应的mec服务器;
120.每个mec服务器依据接收到的第二投票以及其他mec服务器发送的第二返回值,确定自身是否为第一mec服务器或第二mec服务器。
121.在本实施例中,通过每个mec服务器进行投票,来选举得到第一mec服务器,即在本发明改进后的一致性算法paxos算法中,第一mec服务器作为leader角色来管理其他作为follower角色的第二mec服务器,从而控制各个第二mec服务器能够执行一致性的数据操作,保证数据的同步性。
122.其中,上述mec服务器可以为未划分第一mec服务器和第二mec服务器时的mec服务器,或者mec服务器还可以包括第一mec服务器和第二mec服务器。
123.在一些具体实施例中,可选的,参见图6,图6示出了本发明又一个实施例提供的一种选举过程示意图。上述选举过程具体可以包括:
124.s301、处于第一角色的mec服务器分别向其他mec服务器发送第一投票,第一投票包括自身关联的投票集合中最大的权重标识sid,初次投票时的第一投票内包含的sid为自身的第一sid;
125.这里的第一角色指的是前述的looking角色。这里的sid为每个mec服务器唯一对应的权重值,sid通常为正整数,由于sid与mec服务器唯一对应,因此sid还可以用来标识各个mec服务器的身份。每个mec服务器关联有一个投票集合voteset,voteset内包括至少一个sid,每次投票均将voteset中的最大的sid作为投票进行发送。
126.s302、每个mec服务器接收其他mec服务器发送的第二投票后,依据第二投票内包含的第二sid更新自身保存的投票集合,并发送第一返回值至第二投票对应的mec服务器以及重新发送第一投票;第一返回值包括调整后的投票集合;
127.第二投票指的是其他mec服务器所发送的第一投票。looking节点在接收到第二投票时,会返回根据第二投票调整后的voteset。即每次接收到一个投票,mec服务器关联的voteset中,就会增加一个第二sid。
128.s303、每个mec服务器统计自身关联的投票集合中与第一sid相同的第二sid的数量,得到投票统计值;
129.由于sid能够表征mec服务器的身份,因此通过统计与第一sid相同的第二sid的数量,即能够得到其他mec服务器投给自己的投票数量。这里的投票统计值即为该mec服务器得到的投票数量。
130.s304、每个mec服务器判断投票统计值是否超过预设阈值或者是否接收到第二返回值;第二返回值为处于第二角色或第三角色的mec服务器接收到第二投票后的返回值,第二返回值包括当前第一mec服务器的权重标识;
131.即第二返回值中所包含的权重标识为当前第一mec服务器的权重标识。
132.s305、在mec服务器在满足第一条件的情况下,确定自身为所述第一mec服务器;其中,所述第一条件包括以下至少一项:接收到所述第二返回值且所述第二返回值中的权重标识与自身权重标识一致;所述投票统计值超过预设阈值。
133.looking节点在接收到的leader的sid是自己的情况下,即会转变自身角色为leader。
134.投票统计值超出预设阈值,表明选举该mec服务器作为leader的投票数量已经达到一定程度,因此,此时可以将该mec服务器选举为第一mec服务器。其中,这里的预设阈值可以为全部mec服务器的总数的一半,当然,也可以将预设阈值设置为其他数值,本发明对此不做限定。
135.本实施例通过令各个处于looking角色的mec服务器进行投票,统计各个mec服务器的投票情况,在接收到的投票统计值达到预设阈值的情况下,则表明该mec服务器得到了较多的投票,将其选举为第一mec服务器。或者,当mec服务器接收到的第二返回值中告知当前已经存在的第一mec服务器,则不再需要重复选举其他的第一mec服务器。这种方式能够较为准确公平的选举出leader,并且能够避免选举出多个第一mec服务器的情况。
136.在一些实施例中,在mec服务器在满足第一条件的情况下,确定自身为所述第一mec服务器之前,还可以包括:
137.与其他各个mec服务器建立心跳连接。
138.所述确定自身为所述第一mec服务器,可以包括:
139.在第一预设时长内与半数以上的mec服务器建立心跳连接的情况下,确定自身为所述第一mec服务器;
140.在所述第一预设时长内未与半数以上的mec服务器建立心跳连接的情况下,重新发送所述第一投票。
141.本实施例中,在该mec服务器能够作为第一mec服务器的情况下,本实施例进一步验证了该mec服务器与其他mec服务器之间的连接,若在第二预设时长内该mec服务器与半数以上的mec服务器建立心跳连接,此时该mec服务器才能够作为该分布式集群内的leader,否则,该mec服务器需要转变为looking开始新一轮选举。
142.在另一些实施例中,在所述投票统计值超过预设阈值的情况下,所述确定自身为
所述第一mec服务器,可以包括:
143.等待第三预设时长后,再次将投票统计值与所述预设阈值进行比较,在所述投票统计值超过所述预设阈值的情况下,确定自身为所述第一mec服务器。
144.本实施例,在投票统计值超过预设阈值的情况下,等待了第三预设时长后,再次进行了投票统计值与预设阈值的比对,这种二次比对的方式,能够减少偶然误差的存在,提高选举的准确性。
145.在另一些实施例中,s304之后还可以包括:
146.s306、在接收到第二返回值且第二返回值中的权重标识与该mec服务器权重标识不一致的情况下,将该mec服务器作为第二mec服务器;
147.looking节点在接收到的leader的sid不是自己的情况下,即自身不是leader节点的情况下,则looking节点会转变自己的角色为follower。
148.在另一些实施例中,s304之后还可以包括:
149.s307、在未接收到所述第二返回值且自身对应的所述投票统计值未超过所述预设阈值的情况下,重新发送所述第一投票。
150.此时表明投票尚未结束,无法判断第一mec服务器,因此,继续发生第一投票。
151.在一些实施例中,上述在接收到第二返回值且第二返回值中的权重标识与该mec服务器权重标识不一致的情况下,确定自身为所述第二mec服务器之前,还可以包括:
152.该mec服务器与第二返回值中的权重标识对应的目标mec服务器进行心跳连接。
153.上述确定自身为所述第二mec服务器可以包括:
154.在第二预设时长内接收到所述目标mec服务器的响应,则将该mec服务器作为所述第二mec服务器。
155.在超出第一预设时长后未接收到目标mec服务器的响应的情况下,则该mec服务器重新发送第一投票;
156.在本实施例中,在接收到第二返回值且第二返回值中的权重标识与该mec服务器权重标识不一致的情况下,表明该mec服务器不是第一mec服务器,故此时该mec服务器需要和第一mec服务器进行心跳连接,确认自身与当前的第一mec服务器之间是否处于连接状态,若连接失败,表明该第一mec服务器并不是自身的leader,因此该mec服务器需要转变为looking开始新一轮选举。
157.在本发明的其他一些实施例中,上述投票过程中,还可以加入clock参数,作为选举轮次编号,用来区分不同的选举轮次,clock初值为0,每进行一轮投票clock值加1。该实施例与图6中的步骤相似,上述选举过程可以具体包括:
158.a:发送投票:looking角色的mec服务器分别向集群内所有mec服务器发送第一投票,第一投票中包含投票集合中最大的第一sid和第一clock,初次发送时发送自己的sid。
159.b:接受投票:不同角色的mec服务器接收到其他mec服务器发送的第二投票后处理方式不同:
160.b.1:looking角色的mec服务器,会根据第二投票中clock的值进行处理。并会统计自身接收到的包含与自身第一sid相同的第二sid的第二投票的数量,作为投票统计值,判断投票统计值是否达到预设阈值,在投票统计值达到预设阈值的情况下,跳至d;在投票统计值未到达预设阈值的情况下,继续进行投票。
161.b.1.1:第二投票中的第二clock大于自己当前保存的第一clock,更新第一clock,清空自己的投票集合,将第二投票中的第二sid加入自己的投票集合,并返回更新后的voteset和第一clock,然后从a步骤开始继续投票。
162.b.1.2:第二clock小于自己当前保存的第一clock,则忽略该第二投票,并返回自己的voteset和第一clock。
163.b.1.3:第二clock等于自己当前保存的第一clock,若接收到的第二sid大于自己的第一sid,则将该第二sid加入自己的voteset,然后从a步骤开始继续投票,此时发送的第一投票中的sid为之前加入voteset的第二sid;若第二sid小于自己的第一sid,则返回voteset和第一clock。
164.b.2:follower角色或者leader角色的mec服务器:会直接返回当前leader的sid和自身clock,并判断第一clock是否比自己大,如果大就更新自身的clock。
165.c:接收返回值:looking角色的mec服务器会根据其他mec服务器发送的返回值内包含的clock值进行处理。
166.c.1:若返回值中的clock大于自己的clock,则更新自己的clock。若返回值中包含leader的sid,则跳至d;若包含voteset,则更新自身的voteset,并从a步骤开始继续投票。
167.c.2:在返回值中的clock和自己当前的clock相同的情况下,若返回值中包含leader的sid,则跳至d;若包含voteset,判断返回值中的voteset包含的sid是否大于自身sid,若大于,则更新自身voteset,并从a开始继续投票。
168.c.3:若返回值中的clock小于自己当前的clock的,则通常为网络故障,可直接忽略该返回值。
169.d:确定leader:looking会根据返回值中的leader的sid是否与自己的sid相同,以及自身接收到的投票统计值是否达到预设阈值来转变自己的角色。
170.若返回值中的leader的sid与自己的sid相同或者自身接收到的投票统计值达到预设阈值,则自身应该为leader,此时等待其他follower与自己进行心跳连接,当第二预设时长后没有与过半的follower连接,则将自身角色转变为looking开始新一轮选举。
171.若返回值中的leader的sid与自己的sid不同,则自身应该为follower,此时与leader进行心跳连接,当第三预设时长后未得到leader的响应,则放弃,并将自身角色转变为looking开始新一轮选举。
172.基于上述方法实施例,本发明实施例还提供了一种无线通信装置,应用于第一mec服务器,参见图7,图7是本发明一个实施例提供的一种无线通信装置的结构示意图,该装置包括:
173.第一网络通信模块401,用于接收数据采集设备发送的数据操作请求;
174.第一数据管理模块402,用于在数据操作请求不是重复请求的情况下,控制各个第二mec服务器依据数据操作请求对主站系统执行具有一致性的数据操作。
175.本发明提供的实施例,依据mec服务器来数据传输过程中的一致性以及数据的非重复性。由于无线传输的结构不需要设置大量的实体线路,从而简化了整个通信网络的线路结构,并降低了实体线路所带来的成本。其中,判断数据操作请求是否为重复请求,是为了避免数据重复处理导致的资源浪费,以及重复数据对后续其他处理过程中的数据准确性的影响。并且,通过保证数据传输过程的一致性,也能够避免多个mec服务器同时对相同数
据进行处理时导致的数据冲突以及避免主站系统内数据的重复性。
176.在本发明的一些实施例中,第一数据管理模块402可以包括:
177.标识生成单元,用于生成一个第一标识,并令当前保存的编号加1,得到第一编号;
178.询问请求单元,用于向各个第二mec服务器发送询问请求,询问请求包括第一标识、第一编号以及第一mec服务器的第一权重标识;以使第二mec服务器在第一编号大于自身保存的最大编号且第二mec服务器对应的第一mec服务器的权重标识为第一权重标识的情况下,记录第一标识,并返回接受响应至第一mec服务器;
179.执行请求单元,用于在第一mec服务器接收到的接受响应的数量满足预设数量条件的情况下,发送执行请求至各个第二mec服务器,执行请求包括第一编号、第一标识以及数据操作请求对应的目标操作内容;以使第二mec服务器在执行请求内的第一标识与第二mec服务器保存的第一标识相同的情况下,执行目标操作内容,并将自身保存的最大编号更新为第一编号。
180.本实施例不仅能够保证数据操作请求正确下发至第二mec服务器,并且能够保证在不进行重复操作的情况下,各个第二mec服务器执行一致性的数据操作。
181.在另一些实施例中,该装置还可以包括:
182.读取模块,用于在数据操作请求为读请求的情况下,读取主站系统内的目标数据,并将目标数据返回数据采集设备;
183.上述标识生成单元具体用于:
184.在数据操作请求为写请求的情况下,生成一个第一标识,并令当前保存的编号加1,得到第一编号。
185.由于读请求仅是对主站系统内的数据进行读取,即使读取不同的数据,也不会对主站系统内的数据造成其他影响,而写请求会对主站系统内的数据造成改变,因此需要保证主站系统内数据的准确性和一致性,因此在写请求的情况下,则需要控制各个mec服务器执行相同的动作。
186.在本发明的再一些实施例中,上述装置还可以包括:
187.第一投票模块,用于分别向系统中的其他mec服务器发送第一投票;
188.第一返回模块,用于接收其他mec服务器发送的第二投票后,发送第一返回值至第二投票对应的mec服务器;
189.第一身份确定模块,用于依据接收到的第二投票以及其他mec服务器发送的第二返回值,确定自身是否为第一mec服务器。
190.在本实施例中,通过每个mec服务器进行投票,来选举得到第一mec服务器,即在本发明改进后的一致性算法paxos算法中,第一mec服务器作为leader角色来管理其他作为follower角色的第二mec服务器,从而控制各个第二mec服务器能够执行一致性的数据操作,保证数据的同步性。
191.在一些具体实施例中,第一投票模块可以用于:
192.分别向其他mec服务器发送第一投票,第一投票包括自身关联的投票集合中最大的权重标识sid,初次投票时的第一投票内包含的sid为自身的第一sid;
193.第一返回模块可以用于:
194.接收其他mec服务器发送的第二投票后,依据第二投票内包含的第二sid更新自身
保存的投票集合,并发送第一返回值至第二投票对应的mec服务器以及重新发送第一投票;第一返回值包括调整后的投票集合;统计自身关联的投票集合中与第一sid相同的第二sid票的数量,得到投票统计值;
195.第一身份确定模块可以用于:
196.判断投票统计值是否超过预设阈值或者是否接收到第二返回值;第二返回值为处于第二角色或第三角色的mec服务器接收到第二投票后的返回值,第二返回值包括当前第一mec服务器的权重标识;在满足第一条件的情况下,确定自身为第一mec服务器;其中,第一条件包括以下至少一项:接收到第二返回值且第二返回值中的权重标识与自身权重标识一致;投票统计值超过预设阈值。
197.本实施例通过令各个处于looking角色的mec服务器进行投票,统计各个mec服务器的投票情况,在接收到的投票统计值达到预设阈值的情况下,则表明该mec服务器得到了较多的投票,将其选举为第一mec服务器。或者,当mec服务器接收到的第二返回值中告知当前已经存在的第一mec服务器,则不再需要重复选举其他的第一mec服务器。这种方式能够较为准确公平的选举出leader,并且能够避免选举出多个第一mec服务器的情况。
198.在另一些实施例中,第一投票模块还可以用于:
199.在未接收到第二返回值且自身对应的投票统计值未超过预设阈值的情况下,重新发送第一投票。
200.looking节点在接收到的leader的sid不是自己的情况下,即自身不是leader节点的情况下,则looking节点会转变自己的角色为follower。
201.在一些实施例中,第一身份确定模块还可以用于:
202.与其他各个mec服务器建立心跳连接;在第一预设时长内与半数以上的mec服务器建立心跳连接的情况下,确定自身为第一mec服务器。
203.第一投票模块还可以用于:在第一预设时长内未与半数以上的mec服务器建立心跳连接的情况下,重新发送第一投票。
204.本实施例中,在该mec服务器能够作为第一mec服务器的情况下,本实施例进一步验证了该mec服务器与其他mec服务器之间的连接,若在第二预设时长内该mec服务器与半数以上的mec服务器建立心跳连接,此时该mec服务器才能够作为该分布式集群内的leader,否则,该mec服务器需要转变为looking开始新一轮选举。
205.在另一些实施例中,第一身份确定模块可以用于:
206.等待第三预设时长后,再次将投票统计值与预设阈值进行比较,在投票统计值超过预设阈值的情况下,确定自身为第一mec服务器。
207.本实施例,在投票统计值超过预设阈值的情况下,等待了第三预设时长后,再次进行了投票统计值与预设阈值的比对,这种二次比对的方式,能够减少偶然误差的存在,提高选举的准确性。
208.在一些实施例中,上述装置还可以包括:
209.比较模块,用于将数据操作请求携带的第一序列号与接收的上一个数据操作请求携带的第二序列号进行比较;
210.确定模块,用于依据比较结果,确定数据操作请求是否有效;在数据操作请求有效的情况下,确定数据操作请求不是重复请求;在数据操作请求无效的情况下,确定数据操作
请求是重复请求,并删除数据操作请求。
211.在数据操作请求不是重复请求的情况下,上述第一序列号和第二序列好之间应该满足规定的数学关系,例如第一序列号如果小于第二序列号,则显然表明该数据操作请求已经被执行过。因此,通过为每个数据操作请求分配一个序列号,能够表征当前所接收到的数据操作请求的次序,从而确定当前数据操作请求是否被执行过,进而确定该数据操作请求是否为重复请求,这种判断方式计算量小且准确性高。
212.在另一些实施例中,确定模块可以用于:
213.在第一序列号x等于第二序列号y或者y-n≤x<y的情况下,确定数据操作请求无效;
214.在x=y 1、y 1<x≤y n 1、x》y n、x《y-n中任意一种情况下,确定数据操作请求有效;其中,n为数据操作请求的长度。
215.基于上述方法实施例,本发明实施例还提供了一种无线通信装置,应用于第二mec服务器,参见图8,图8是本发明另一个实施例提供的一种无线通信装置的结构示意图,该装置包括:
216.第二网络通信模块501,用于接收数据采集设备发送的数据操作请求;
217.第二数据管理模块502,用于在接收到第一mec发送的执行请求的情况下,依据数据操作请求对主站系统执行数据操作;其中,执行请求用于控制第二mec服务器执行与其他第二mec服务器具有一致性的数据操作。
218.本发明提供的实施例,依据mec服务器来数据传输过程中的一致性以及数据的非重复性。由于无线传输的结构不需要设置大量的实体线路,从而简化了整个通信网络的线路结构,并降低了实体线路所带来的成本。其中,判断数据操作请求是否为重复请求,是为了避免数据重复处理导致的资源浪费,以及重复数据对后续其他处理过程中的数据准确性的影响。并且,通过保证数据传输过程的一致性,也能够避免多个mec服务器同时对相同数据进行处理时导致的数据冲突以及避免主站系统内数据的重复性。
219.在本发明的一些实施例中,上述装置还可以包括:
220.询问接收模块,用于接收第一mec服务器发送的询问请求;其中,询问请求包括第一标识、第一编号以及第一mec服务器的第一权重标识,第一标识为第一mec服务器在数据操作请求不是重复请求的情况下生成的,第一编号为第一mec服务器将自身保存的编号加1后得到的编号;
221.标识记录模块,用于在第一编号大于自身保存的最大编号且自身对应的第一mec服务器的权重标识为第一权重标识的情况下,记录第一标识,并返回接受响应至第一mec服务器;
222.执行接收模块,用于接收第一mec在自身接收到的接受响应的数量满足预设数量条件的情况下发送的执行请求;执行请求包括第一编号、第一标识以及数据操作请求对应的目标操作内容;
223.第二数据管理模块502可以用于:
224.在执行请求内的第一标识与第二mec服务器保存的第一标识相同的情况下,执行目标操作内容,并将自身保存的最大编号更新为第一编号。
225.本实施例不仅能够保证数据操作请求正确下发至第二mec服务器,并且能够保证
在不进行重复操作的情况下,各个第二mec服务器执行一致性的数据操作。
226.在另一些实施例中,上述装置还可以包括:
227.第二投票模块,用于分别向系统中的其他mec服务器发送第一投票;
228.第二返回模块,用于接收其他mec服务器发送的第二投票后,发送第一返回值至第二投票对应的mec服务器;
229.第二身份确定模块,用于在接收到第二返回值且第二返回值中的权重标识与自身权重标识不一致的情况下,确定自身为第二mec服务器;其中,第二返回值为处于第二角色或第三角色的mec服务器接收到第二投票后的返回值,第二返回值包括当前第一mec服务器的权重标识。
230.在本实施例中,通过每个mec服务器进行投票,来选举得到第一mec服务器,即在本发明改进后的一致性算法paxos算法中,第一mec服务器作为leader角色来管理其他作为follower角色的第二mec服务器,从而控制各个第二mec服务器能够执行一致性的数据操作,保证数据的同步性。
231.在一些具体实施例中,第二身份确定模块还可以用于:
232.与第二返回值中的权重标识对应的目标mec服务器进行心跳连接;在第二预设时长内接收到目标mec服务器的响应的情况下,则将该mec服务器作为第二mec服务器。
233.第二投票模块还可以用于:在第二预设时长内未接收到目标mec服务器的响应的情况下,重新发送第一投票。
234.在本实施例中,在接收到第二返回值且第二返回值中的权重标识与该mec服务器权重标识不一致的情况下,表明该mec服务器不是第一mec服务器,故此时该mec服务器需要和第一mec服务器进行心跳连接,确认自身与当前的第一mec服务器之间是否处于连接状态,若连接失败,表明该第一mec服务器并不是自身的leader,因此该mec服务器需要转变为looking开始新一轮选举。
235.基于上述方法实施例,本发明实施例还提供了一种服务器的硬件结构的实施例。图8示出了本发明实施例提供的一种服务器的硬件结构示意图。
236.该服务器可以为上述第一mec服务器或第二mec服务器,或者还可以是并未进行身份划分时的mec服务器等。
237.该服务器可以包括:处理器601以及存储有计算机程序指令的存储器602。处理器601通过读取并执行存储器602中存储的计算机程序指令,以实现上述实施例中的任意一种无线通信方法。
238.具体地,上述处理器601可以包括中央处理器(cpu),或者特定集成电路(application specific integrated circuit,asic),或者可以被配置成实施本发明实施例的一个或多个集成电路。
239.存储器602可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器602可包括硬盘驱动器(hard disk drive,hdd)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(universal serial bus,usb)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器602可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器602可在综合网关容灾设备的内部或外部。在特定实施例中,存储器602是非易失性固态存储器。在特定实施例中,存储器602包括只读存储器(rom)。在合适的情况下,该rom可以是
掩模编程的rom、可编程rom(prom)、可擦除prom(eprom)、电可擦除prom(eeprom)、电可改写rom(earom)或闪存或者两个或更多个以上这些的组合。
240.在一个示例中,mec服务器还可包括通信接口603和总线610。其中,如图8所示,处理器601、存储器602、通信接口603通过总线610连接并完成相互间的通信。
241.通信接口603,主要用于实现本发明实施例中各模块、装置、单元和/或设备之间的通信。
242.总线610包括硬件、软件或两者,将在线数据流量计费设备的部件彼此耦接在一起。举例来说而非限制,总线可包括加速图形端口(agp)或其他图形总线、增强工业标准架构(eisa)总线、前端总线(fsb)、超传输(ht)互连、工业标准架构(isa)总线、无限带宽互连、低引脚数(lpc)总线、存储器总线、微信道架构(mca)总线、外围组件互连(pci)总线、pci-express(pci-x)总线、串行高级技术附件(sata)总线、视频电子标准协会局部(vlb)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线610可包括一个或多个总线。尽管本发明实施例描述和示出了特定的总线,但本发明考虑任何合适的总线或互连。
243.另外,结合上述实施例中的无线通信方法,本发明实施例可提供一种计算机存储介质来实现。该计算机存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种无线通信方法。
244.需要明确的是,本发明并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本发明的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本发明的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。
245.以上的结构框图中所示的功能块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(asic)、适当的固件、插件、功能卡等等。当以软件方式实现时,本发明的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、rom、闪存、可擦除rom(erom)、软盘、cd-rom、光盘、硬盘、光纤介质、射频(rf)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。
246.还需要说明的是,本发明中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本发明不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。
247.以上,仅为本发明的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。
再多了解一些

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

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

相关文献