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

一种面向嵌入式智能终端的数据同步方法与流程

2022-09-03 16:23:34 来源:中国专利 TAG:


1.本发明属于嵌入式系统及物联网通信领域,涉及一种面向嵌入式智能终端的数据同步方法。


背景技术:

2.在pc、嵌入式设备与物联网网关形成的异构网络环境中,各个智能终端通过高速互联网或物联通信方式进行连接。特别是在嵌入式设备构成的分布式网络中,各个智能终端独立运行,并依赖网络进行相互的通信。在这样的环境下,为每个智能终端进行数据分发和数据同步,使得各智能终端能够高效协同,就成为了网络设计和框架搭建时的难题。在现有网络环境下,终端网络的传输上限限于网络带宽和局域网交换机交换能力,始终存在上限,这就使得由中心服务器将所有资源(数据文件)向各个智能终端下发时所需传输的数据量级大大增加,一方面极为消耗带宽,另一方面顺序同步的效率极低,这使得基于分布式智能终端的数据分析和数据应用效率大大降低。现有技术的典型问题在于:
3.1、数据顺序同步方式在面对大量智能终端时无法提升传输效率和分布效率,时间复杂度极高,为o(n)。
4.2、传统方式无法充分利用网络,数据同步时中心服务的网络始终满负荷传输,同时只有个别智能终端参与了传输,其余网络均处于空闲状态。


技术实现要素:

5.针对现有技术的技术问题,本发明提供了一种面向嵌入式智能终端的数据同步方法,包括以下步骤:
6.s100:构建智能终端的数据同步索引,步骤s100包括以下步骤:
7.s101:设置数据结构,用以存储所需同步的资源的描述信息,所述资源为数据文件,所述描述信息包含文件路径、文件描述符/文件编号、文件大小、文件哈希信息、文件版本;
8.s102:设置数据同步索引:以文件描述符为键、以描述信息为值,构建哈希表,用以建立数据同步索引;
9.s103:标识并序列化数据同步索引版本:设置所构建的数据同步索引的版本号,用以序列化;
10.每次更新数据同步索引,同时更新数据同步索引的版本号,用以更新设计改动而导致的版本信息变更;
11.s200:划分智能终端的网络区块并构建统一的设备描述信息,设备描述信息用以描述智能终端,步骤s200包括以下步骤:
12.s201:根据智能终端的分布情况,划分智能终端的网络区块;
13.s202:在各个网络区块内设置一个网络区块中心服务网关,并设置各个网络区块内的智能终端数量不超过终端阈值;
14.s203:构建各个智能终端的设备描述信息:包括mac地址、所属网络区块、设备类型、操作系统、硬盘容量、网络接入类型、资源存储目录;
15.s204:构建中心服务,包括在中心服务设置一个针对各个网络区块的资源索引信息,用以记录各个资源在各自网络区块内的同步情况;
16.s205:各个智能终端首次接入网络时,与网络区块中心服务网关和中心服务进行交互并上报各自的设备描述信息;
17.s206:网络区块中心服务网关及中心服务各自分别建立设备表,设备表包含设备描述信息,用以描述各个设备;
18.s300:同步初始化,包括以下步骤:
19.s301:中心服务向网络区块中心网关分发数据同步索引;
20.s302:选择用于预热同步数据的网络区块中心网关节点;
21.s303:预热待同步数据;
22.s400:启动分布式的、并行的全局同步,包括以下步骤:
23.s401:网络区块中心服务网关数据同步;
24.s402:全局节点同步。
25.优选地,采用哈希散列算法构建哈希表。
26.优选地,步骤s301包括以下步骤:
27.s3011:中心服务向网络区块中心网关分发数据同步索引;
28.s3012:各个网络区块接收数据同步索引,判断所接收数据同步索引的版本是否高于各个网络区块中心网关的数据同步索引,如果是,执行步骤s3013,否则,执行步骤s3014;
29.s3013:各个网络区块中心网关保存所接收数据同步索引,并向网络区块内各个智能终端下发所接收数据同步索引;
30.s3014:各个网络区块中心网关及各个智能终端接收数据同步索引,判断所接收数据同步索引的版本是否高于智能终端的数据同步索引,如果是,执行步骤s3015,否则,执行步骤s302;
31.s3015:智能终端保存所接收数据同步索引,对比在先的数据同步索引版本,并记录版本更新的条目,用以生成待同步目标列表。
32.优选地,步骤s302包括以下步骤:
33.s3021:获取所有网络区块中心网关的地址:网络区块中心网关通过中心服务获取所有网络区块中心网关的地址;
34.s3022:中心服务与个网络区块中心网关发起握手,记录时延并对时延进行由小到大的排序;
35.s3023:各网络区块中心网关之间分别各自发起握手,记录每次网络访问的时延并对时延进行由小到大的排序,表示当前网络区块到各个网络区块的访问效率;
36.s3024:对各个网络区块中心网关到包括中心服务及各个节点的时延进行加权平均,其中,网络区块中心网关到中心网关的时延权值设置为w1,本节点到目标节点的时延小于本节点到中心网关的时延,则设置权值为w2,否则,设置权值为w3,其中,w1、w2、w3均为正实数,其中,w1大于w2且小于w3;
37.s3025:各个网络区块中心网关将加权平均值发送至中心服务;
38.s3026:中心服务针对网络区块中心网关的时延的加权平均值按升序排列,选择前a%的网络区块中心网关用于数据预热节点,其中,a为大于10且小于90的正整数。
39.优选地,步骤s303包括以下步骤:
40.s3031:向网络区块网关下发数据同步指令;
41.s3032:网络区块网关接收同步指令后,根据所获取的数据同步索引,针对网关节点中数据同步索引版本低于当前数据同步索引的情况,向中心服务发送传输请求;
42.s3033:当网络区块网关同步全部完成后,预热待同步数据结束。
43.优选地,步骤s401包括以下步骤:
44.s4011:启动全局同步后,中心服务向各个网络区块中心服务网关发送同步指令;
45.s4012:各个网络区块中心服务网关接到同步指令后,各个网络区块中心服务网关与中心服务进行一次握手,用以交换网络区块中心服务网关与中心服务的数据存储信息及版本,并记录本次握手的时延;
46.s4013:按顺序从待同步目标列表中获取同步目标信息,并逐一向已同步过的网络区块中心网关/中心服务发送同步请求;
47.s4014:网络区块中心服务网关将选中的同步资源同步完成后,当前网络区块中心网关更新数据同步索引,并将更新后的数据同步索引发送中心服务,由中心服务暂存备查;
48.s4015:判断当前网络区块中心网关的数据同步是否完成b%,如果是,执行步骤s4016,否则,执行步骤s4013,其中,b为大于10且不小于100的正整数;
49.s4016:向当前网络区块的所有智能终端发送节点同步指令;
50.s4017:判断当前网络区块中心网关的数据同步是否完成,如果是,执行步骤s402,否则,执行步骤s4015。
51.优选地,步骤s402包括以下步骤:
52.s4021:各个节点接收所在网络区块的网络区块中心服务网关所发送的同步指令,根据待同步目标列表逐一向所在网络区块的中心服务网关发送同步请求;
53.s4022:判断当前网络区块中心服务网关是否同步过资源,如果是,执行步骤s4023,否则,执行步骤s4024;
54.s4023:当前网络区块中心服务网关同步资源,执行步骤s4025;
55.s4024:智能终端向中心服务发送请求,中心服务根据资源存储情况向智能终端分配可同步资源的网络区块中心服务网关地址,智能终端根据该地址请求其他网络区块中心服务网关进行数据同步,完成同步后更新智能终端的数据同步索引;
56.s4025:为提升同步效率,各个节点启动n个线程同时进行同步,n为大于1且小于m的自然数,其中,m为cpu数量与网络区块中心网关总数之间较小值;n最优的取值随节点数和网络情况具体定义,cpu数量为cpu核心数-1,对于超线程cpu,则cpu数量为cpu核心数*2-1,这里将n的上限定义为网络区块中心网关总数的30%;
57.s4026:判断当前节点是否存在与当前网络区块中心服务网关同步的线程,如果是,执行步骤s4024,否则,执行步骤s4027;
58.s4027:采用新的同步线程向当前网络区块中心服务网关发送资源同步请求;
59.s4028:完成各个节点的同步,结束流程。
60.本发明具有以下有益效果:
61.1、充分利用各终端网络,利用分布式特性提高网络利用率;
62.2、根据数据访问热力情况进行终端内容同步的优先级,提升整体网络传输效率。
63.3、利用分布式网络的特点,对数据分发过程进行加速,提高整个分布式网络的数据同步和分发效率。
附图说明
64.图1为本发明所提供的方法的总流程图。
具体实施方式
65.图1示出了本发明所提供的方法的总流程图。如图1所示,本发明的方法包括以下步骤:
66.s100:构建智能终端的数据同步索引,步骤s100包括以下步骤:
67.s101:设置数据结构,用以存储所需同步的资源的描述信息,所述资源为数据文件,所述描述信息包含文件路径、文件描述符/文件编号、文件大小、文件哈希信息、文件版本;
68.s102:设置数据同步索引:以文件描述符为键,以描述信息为值,采用哈希散列算法构建哈希表,用以建立数据同步索引;
69.s103:标识并序列化数据同步索引版本:设置所构建的数据同步索引的版本号,用以序列化;
70.每次更新数据同步索引,同时更新数据同步索引的版本号,用以更新设计改动而导致的版本信息变更;
71.s200:划分智能终端的网络区块并构建统一的设备描述信息,设备描述信息用以描述智能终端。设备统一描述信息主要用于唯一性标识设备,确保各节点能够相互识别和交互。步骤s200包括以下步骤:
72.s201:根据智能终端的分布情况,划分智能终端的网络区块;
73.s202:在各个网络区块内设置一个网络区块中心服务网关,并设置各个网络区块内的智能终端数量不超过终端阈值;
74.网络区块的终端量根据预定义的阈值确定。本实施例中,以64个智能终端为一个网络区块,实际场景中根据平均数据同步量和网络区块网络内带宽综合判断。
75.s203:构建各个智能终端的设备描述信息:包括mac地址、所属网络区块、设备类型、操作系统、硬盘容量、网络接入类型、资源存储目录;
76.s204:构建中心服务,包括在中心服务设置一个针对各个网络区块的资源索引信息,用以记录各个资源在各自网络区块内的同步情况;
77.s205:各个智能终端首次接入网络时,与网络区块中心服务网关和中心服务进行交互并上报各自的设备描述信息;
78.s206:网络区块中心服务网关及中心服务各自分别建立设备表,设备表包含设备描述信息,用以描述各个设备;
79.本实施例中,利用数据库建立设备表,也可用其他任意一种便于查询的信息存储方式来建立设备表。
80.s300:同步初始化,包括以下步骤:
81.s301:中心服务向网络区块中心网关分发数据同步索引,包括以下步骤:
82.s3011:中心服务向网络区块中心网关分发数据同步索引;
83.s3012:各个网络区块接收数据同步索引,判断所接收数据同步索引的版本是否高于各个网络区块中心网关的数据同步索引,如果是,执行步骤s3013,否则,执行步骤s3014;
84.s3013:各个网络区块中心网关保存所接收数据同步索引,并向网络区块内各个智能终端下发所接收数据同步索引;
85.s3014:各个网络区块中心网关及各个智能终端接收数据同步索引,判断所接收数据同步索引的版本是否高于智能终端的数据同步索引,如果是,执行步骤s3015,否则,执行步骤s302;
86.s3015:智能终端保存所接收数据同步索引,对比在先的数据同步索引版本,并记录版本更新的条目,用以生成待同步目标列表;
87.s302:选择用于预热同步数据的网络区块中心网关节点,包括以下步骤:
88.s3021:获取所有网络区块中心网关的地址:网络区块中心网关通过中心服务获取所有网络区块中心网关的地址;
89.s3022:中心服务与个网络区块中心网关发起握手,记录时延并对时延进行由小到大的排序;
90.s3023:各网络区块中心网关之间分别各自发起握手,记录每次网络访问的时延并对时延进行由小到大的排序,表示当前网络区块到各个网络区块的访问效率;
91.s3024:对各个网络区块中心网关到包括中心服务及各个节点的时延进行加权平均,其中,网络区块中心网关到中心网关的时延权值设置为w1,本节点到目标节点的时延小于本节点到中心网关的时延,则设置权值为w2,否则,设置权值为w3,其中,w1、w2、w3均为正实数,其中,w1大于w2且小于w3;
92.本实施例中,网络区块中心网关到中心网关的时延权值设置为1。本节点到目标节点的时延小于本节点到中心网关的时延,该情况下,设置权值为0.5;否则,设置权值为1.5。
93.s3025:各个网络区块中心网关将加权平均值发送至中心服务;
94.s3026:中心服务针对网络区块中心网关的时延的加权平均值按升序排列,选择前a%的网络区块中心网关用于数据预热节点,其中,a为大于10且小于90的正整数;本实施例中,选择20%作为最优选值。
95.s303:预热待同步数据。即,完成同步数据预热目标后,由中心服务向下发出预热数据,包括以下步骤:
96.s3031:向网络区块网关下发数据同步指令;
97.s3032:网络区块网关接收同步指令后,根据所获取的数据同步索引,针对网关节点中数据同步索引版本低于当前数据同步索引的情况,向中心服务发送传输请求;
98.s3033:当网络区块网关同步全部完成后,预热待同步数据结束;
99.s400:启动分布式的、并行的全局同步。当完成同步预热后,可以启动全局同步并通过如下步骤提升同步效率,步骤s400包括以下步骤:
100.s401:网络区块中心服务网关数据同步,包括以下步骤:
101.s4011:启动全局同步后,中心服务向各个网络区块中心服务网关发送同步指令;
102.s4012:各个网络区块中心服务网关接到同步指令后,各个网络区块中心服务网关与中心服务进行一次握手,用以交换网络区块中心服务网关与中心服务的数据存储信息及版本,并记录本次握手的时延;
103.s4013:按顺序从待同步目标列表中获取同步目标信息,并逐一向已同步过的网络区块中心网关/中心服务发送同步请求;
104.s4014:网络区块中心服务网关将选中的同步资源同步完成后,当前网络区块中心网关更新数据同步索引,并将更新后的数据同步索引发送中心服务,由中心服务暂存备查;
105.s4015:判断当前网络区块中心网关的数据同步是否完成b%,如果是,执行步骤s4016,否则,执行步骤s4013,其中,b为大于10且不小于100的正整数;
106.s4016:向当前网络区块的所有智能终端发送节点同步指令;
107.s4017:判断当前网络区块中心网关的数据同步是否完成,如果是,执行步骤s402,否则,执行步骤s4015;
108.s402:全局节点同步,包括以下步骤:
109.s4021:各个节点接收所在网络区块的网络区块中心服务网关所发送的同步指令,根据待同步目标列表逐一向所在网络区块的中心服务网关发送同步请求;
110.s4022:判断当前网络区块中心服务网关是否同步过资源,如果是,执行步骤s4023,否则,执行步骤s4024;
111.s4023:当前网络区块中心服务网关同步资源,执行步骤s4025;
112.s4024:智能终端向中心服务发送请求,中心服务根据资源存储情况向智能终端分配可同步资源的网络区块中心服务网关地址,智能终端根据该地址请求其他网络区块中心服务网关进行数据同步,完成同步后更新智能终端的数据同步索引;
113.s4025:为提升同步效率,各个节点启动n个线程同时进行同步,n为大于1且小于m的自然数,其中,m为cpu数量与网络区块中心网关总数之间较小值;n最优的取值随节点数和网络情况具体定义,cpu数量为cpu核心数-1,对于超线程cpu,则cpu数量为cpu核心数*2-1,这里将n的上限定义为网络区块中心网关总数的30%;
114.s4026:判断当前节点是否存在与当前网络区块中心服务网关同步的线程,如果是,执行步骤s4024,否则,执行步骤s4027;
115.s4027:采用新的同步线程向当前网络区块中心服务网关发送资源同步请求;
116.s4028:完成各个节点的同步,结束流程。
117.通过本发明所提供的上述方法,解决了现有技术中尚无一种面向嵌入式智能终端的数据同步方法的技术问题。
118.应当理解的是,本发明不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。
再多了解一些

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

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

相关文献