基于字典表的边缘云文件同步方法

2017-12-18 08:26林慕云吴国驭
关键词:异地时延边缘

林慕云,吴国驭,李 强

(1.杭州电子科技大学智能与软件研究所,浙江 杭州 310018; 2.杭州义益钛迪信息技术有限公司,浙江 杭州 310018)

基于字典表的边缘云文件同步方法

林慕云1,吴国驭2,李 强1

(1.杭州电子科技大学智能与软件研究所,浙江 杭州 310018; 2.杭州义益钛迪信息技术有限公司,浙江 杭州 310018)

针对边缘云架构因用户频繁异地登录带来的文件同步压力问题,提出了采用在核心云和边缘云各增加一张字典表记录文件变更记录,并以此表为依据定位目标文件的同步方法,较好地解决了分布式存储中查找目标文件效率的问题;再将传输时延碎片化,使用最早时限优先EDF策略进行调度,降低时延,使之拥有更好的用户体验.给出了该同步方法的具体算法和基于EDF的调度流程.模拟实验结果表明:在保证用户文件一致性和较低数据冗余率前提下,与基于网络延迟的文件传输方法比较,提出的新方法大幅降低了网络传输量和传输时延.

云计算;边缘云架构;分布式存储;文件同步

0 引 言

传统云计算采用的“集中云架构”存在网络负载高度集中、鲁棒性差等缺点.在此背景下出现的“分布式云架构”则存在着系统复杂度高、资源管理困难等缺点.针对两者存在的问题,提出了“边缘云架构”[1].该架构在“分布式云架构”的基础上增加了“核心云”服务器,对“分布式云架构”内的资源进行管理监控,弥补了高复杂度的缺点.目前,“边缘云架构”在移动终端云服务等领域[2]有着越来越多的应用.在“边缘云架构”上大多沿用“分布式云架构”的存储技术,如Hadoop,MapReduce[3]等,没有利用“边缘云架构”中的“核心云”为分布式存储提供索引,导致在存储技术上同样面临着“分布式云架构”的高复杂度、高开销、处理能力受限[4]等缺点.文件同步作为分布式存储技术中的一部分,而目前“边缘云架构”上的文件同步研究甚少.文献[5]提出的基于网络延迟的文件同步方法与“分布式云架构”同步技术相同,未利用“核心云”协助同步,仅根据网络延迟判断是否进行文件预存储操作,以降低在延迟较高时的服务响应时延,提升网络服务质量(Quality of Service,QoS),且该方法在降低时延方面的优化有限.目前,在降低时延方面,可采用队列管理的消息传递调度方法[6],队列内的消息由其优先级决定调度顺序,并根据运行状态动态调整优先级.本文提出了一种基于字典表的边缘云文件同步方法,利用字典表管理待同步文件索引,并使用基于最早时限优先(Early Deadline First,EDF)优先级[7]的消息调度方法,将时延碎片化,优先响应用户操作进行调度,以达到降低时延的目标.

1 系统架构与设计

1.1 边缘云架构

“边缘云架构”由“核心云”、“边缘云”和“用户终端”组成[8],其架构如图1所示.“核心云”负责管理监测各“边缘云”中的资源和服务;“边缘云”由分布在不同网络和地区的服务器节点组成,处理本地区用户的服务请求,向用户提供云服务.用户仅属于一台“边缘云”并使用该“边缘云”的计算服务和存储空间.无需不同“边缘云”之间调度资源相互协作,资源集中在一台服务器上,管理简单,复杂度低,分散式提供服务,网络负担小,对网络依赖性低,可扩展性高.

图1 边缘云架构

用户在使用“边缘云架构”过程中,存在在不同的地理位置进行登录的情况.此类情况下,“边缘云架构”需要保证用户能登录最近的“边缘云”获取服务,该情况称为“异地登录”.用户一直使用的“边缘云”称为“家乡云”,其余“边缘云”称为“异地云”[5].

用户执行“异地登录”时,由于使用的“异地云”没有该用户的信息和数据,需要到“家乡云”上进行登录身份验证,并在验证通过后,从“家乡云”传输必要数据到“异地云”.如果频繁异地登录,将产生大量数据传输,给系统运行特别是网络带宽带来极大的压力.如果将传输后的资源保存在当前“异地云”,则会占用大量的存储资源,并存在数据不一致的风险.

1.2 系统设计

“边缘云架构”下,用户数据以“家乡云”内数据为主,因此将文件同步至“家乡云”以确保主文件来源实时性.使用过的文件,保留在当前“异地云”,便于重复使用,直至用户在其余“边缘云”登录时,同步回到“家乡云”,避免重复获取文件.

同时,为了进一步降低异地登录带来的网络压力问题,“边缘云架构”可利用“核心云”为查找目标文件所在“边缘云”提供索引,避免寻找文件时的盲目性.同时,利用“核心云”管理并提供异地登录记录,便于执行文件同步时快速定位通信目标“边缘云”,记录该信息的表命名为FileTransferRecord.由于并非所有文件都会因为用户操作发生改变,在“异地云”对文件变更信息进行记录,可有效减少重复的同步操作或文件一致性校验带来的流量消耗,记录该信息的表命名为FileModifyRecord.利用上述两张表形成索引,以达到在少量搜索代价下,获取必要同步文件列表.

基于上述思想,本文系统内消息传递如图2所示,基本流程如下:

图2 各组成间消息传递

1)当用户终端根据所处地理位置选择连接的“异地云”/“家乡云”发送请求并接收响应;

2)当“家乡云”在同步操作时,从“核心云”获取FileTransferRecord内的记录,再从目标“异地云”获取FileModifyRecord内的记录,根据记录从“异地云”获取文件数据完成同步;

3)当“异地云”在用户请求登录时,从本地获取用户信息失败后,从“核心云”获取用户“家乡云”信息,根据该信息从“家乡云”获取用户信息进行登录验证;

4)当“异地云”在进行文件操作时,从“家乡云”获取本地未获取的文件,并在文件发生修改时,向“核心云”发送文件变更记录.

由于执行同步操作集中在用户登录后、执行操作前,当待传输文件总量较大时,产生较长的等待时间,对用户体验带来负面影响.可以以文件为单位,将时延碎片化,组成传输队列,以EDF策略进行调度,优先传输用户使用文件,以减少等待时间,提升用户体验.

2 同步算法设计

2.1 字典表结构

FileTransferRecord采用Key-Value结构,具体如下:

Dictionary〈HomeServer, Dictionary〈User, List〈OtherServer〉〉〉

其中,HomeServer为“边缘云”的识别码,标识用户“家乡云”,User为“用户”的特征值,List〈OtherServer〉为对应的“异地云”信息集合.

FileModifyRecord采用Key-Value结构,具体如下:

Dictionary〈HomeServer, Dictionary〈User, Dictionary〈FileName, FileModifyInfo〉〉〉

其中,HomeServer为“边缘云”的识别码,标识用户“家乡云”,User为“用户”的特征值,Dictionary〈FileName, FileModifyInfo〉为文件变更记录集合,FileName为文件名和路径,FileModifyInfo为文件变更信息记录.

通过该结构索引表,系统可快速定位其所需信息,避免查找时的盲目性.

2.2 基于字典表的用户登录同步算法

当用户执行登录操作时,用户所在“家乡云”接收到用户验证请求,此时“家乡云”文件同步算法如下:

算法:“家乡云”文件同步算法输入:用户信息类UserInfo,用户所在“家乡云”的特征值HomeServer,用户当前登录的“边缘云”的特征值LoginServer输出:无1)用户所属文件执行上锁操作;2)根据HomeServer和UserInfo中的User从“核心云”获取FileTransferRecord中的List,并删除“核心云”上该记录;3)List内是否存在记录,若是,则读取第一条记录,存储到OtherServerInfo;4)OtherServerInfo与LoginServer的特征值是否相同,若是,则跳转步骤7,否,则继续执行;5)从OtherServerInfo获取目标服务器OServer地址.根据HomeServer和UserInfo中的User从OS-erver获取FileModifyRecord中的Dictionary,并删除OServer上该记录;6)遍历Dictionary,根据文件名和路径查找文件,对比时间戳.本地时间戳较新,解锁该文件.本地时间戳较旧,从OServer获取需要更新的文件,获取文件成功后解锁该文件;7)List内是否存在下一条记录,若存在,则读取下一条记录,存储到OtherServerInfo,跳转步骤4,不存在,则继续执行;8)同步完成,结束.

2.3 基于字典表的文件变更算法

文件变更后添加字典表记录算法流程如下:

算法:字典表记录添加算法输入:发生变更的文件名称及路径FileName,发生变更的文件信息记录FileModifyInfo,用户“家乡云”的特征值HomeServer,用户特征值User输出:无1)向本地FileModifyRecord内对应HomeServer中对应User的Dictionary内写入记录;2)Dictionary内记录数量是否大于1,若是,则跳转步骤4,否,则继续执行;3)向“核心云”发送HomeServer、User、FileName、FileModifyInfo,写入“核心云”内的对应节点;4)添加完成,结束.

3 时延优化

3.1 基于EDF的消息调度流程

当“家乡云”文件同步过程中,用户对待同步文件进行操作,其调度流程图3所示.基本步骤如下:

图3 基于EDF的消息调度流程

1)判断同步文件是否上锁,若是,则继续执行,否则,跳转至步骤5;

2)判断该文件是否正在获取,若是,则跳转至步骤4,否则,继续执行;

3)将目标文件移入待获取队列队首;

4)等待文件获取完毕;

5)执行文件操作,结束.

基于此流程,多线程传输条件下,用户操作文件所等待的时延最大值为当前传输文件中所需时延的最小值与目标文件获取所需时延之和,等待时延有限,且无须中断以文件为单元的传输操作,避免单一文件传输中断带来的报文误判.

3.2 时延分析对比

设待同步文件集合为F={F1,F2,F3,…,Fn},单个文件同步时延为{σ1,σ2,σ3,…,σn},文献[1]中的基于延迟的文件同步方法在单线程下同步时延σtwait为:

(1)

本文方法用户等待时延区间σrwait为:

σrwait=[0,σj+σk]

(2)

其中σj,σk分别为当前传输文件所需时延与目标文件获取所需时延.

假设所有文件获取时延为σaver,其被选中概率均为1/n,用户平均等待时延σawait为:

(3)

综上可得,用户等待时延区间与用户平均等待时延值均仅由单一文件传输时延决定,不受整体文件数量影响.

4 实验分析

在实验室现有条件环境下,以一台电脑作为“核心云”,一台电脑通过不同端口同时运行多个“边缘云”,一台电脑作为客户端进行模拟实验.

通过生成随机数决定操作,以20%的概率执行异地登录且所有的“异地云”的登录概率相等.文件大小在10 kB到10 MB不等,从常用操作文档内抽取,总文件量为96 MB.每次异地登录获取的文件随机选取50%执行修改操作.共设置10台“边缘云”.实验对比本文的基于字典表的文件同步方法和文献[5]中的基于网络延迟的文件传输方法中的高网络延迟和低网络延迟两种情景下的执行逻辑的服务响应延迟,结果如表1所示.

表1 3种方法的仿真实验结果

从表1可以看出,3种方法下,均能100%确保数据一致性.在文件冗余率方面,本文方法介于文献[5]的2种延迟情景之间,略高于低延迟情景,大幅低于高延迟情景.在单次传输时间和流量方面,本文方法都大幅低于文献[5]的传输方法.在保证数据一致性和较低冗余率的前提下下,本文方法在传输效率上有着明显的优势.

5 结束语

“核心云”是“边缘云架构”思想的关键,可用于降低资源调度的消耗.本文对“边缘云架构”进行了初步探索,针对用户的“异地登录”行为,提出了基于字典表的边缘云同步方法,利用“核心云”提供索引,在确保数据一致性的前提下,有效降低了数据传输代价和数据冗余率;同时利用基于EDF的调度流程,降低了用户等待时延,提升了用户体验,对“边缘云架构”存储技术的改进提供了一定的参考.

[1] Shi W, Cao J, Zhang Q, et al. Edge computing: Vision and challenges[J]. IEEE Internet of Things Journal,2016,3(5):637-646.

[2] Ahmed A, Ahmed E. A survey on mobile edge computing[C]//Intelligent Systems and Control (ISCO), 2016 10th International Conference on. IEEE,2016:1-8.

[3] Moon S, Lee J G, Kang M. Scalable community detection from networks by computing edge betweenness on mapreduce[C]//Big Data and Smart Computing (BIGCOMP), 2014 International Conference on. IEEE,2014:145-148.

[4] 李东辉,沈丽菁,方方,等.分布式云存储高可用框架研究[J].计算机与数字工程,2014,42(1):76-80.

[5] 曹小坤.边缘云计算体系结构及数据迁移方法研究[D].西安:西安电子科技大学,2013.

[6] 张登银,许扬扬,蒋娟.基于时延的动态优先级调度算法[J].计算机技术与发展,2011,21(2):162-165.

[7] Ferrari D, Verma D C. A scheme for real-time channel establishment in wide-area networks[J]. IEEE journal on Selected Areas in communications,1990,8(3):368-379.

[8] Skala K, Davidovic D, Afgan E, et al. Scalable distributed computing hierarchy: Cloud, fog and dew computing[J]. Open Journal of Cloud Computing,2015,2(1):16-24.

EdgeComputingFileSynchronizationMethodBasedonDictionary

LIN Muyun1, WU Guoyu2, LI Qiang1

(1.InstituteofSoftwareandIntelligentTechnology,HangzhouDianziUniversity,HangzhouZhejiang310018,China; 2.HangzhouYiyitaidiInformationTechnologyCo.,Ltd,HangzhouZhejiang310018,China)

Aimed at the file synchronization pressure problem in edge computing caused by frequent remote login, presents a new file synchronization method to record changes in the log and locate the target file by add each dictionary in the core server and the edge server. This method can solve the efficiency problem of finding the file in distributed storage, and fragmentates the file transfer delay by using EDF scheduling strategy to reduce the delay and get the better user experience. It gives the algorithm of the synchronization method and the scheduling process based on EDF in this paper. The experimental results show that under the premise of ensuring the data consistency and low data redundancy, the proposed method reduces network data traffic and data redundancy greatly compared with the file transfer method based on network delay.

cloud computing; edge computing; distributed storage; file synchronization

10.13954/j.cnki.hdu.2017.06.007

2016-12-27

风力发电系统国家重点实验室资助项目(2013002)

林慕云(1991-),男,浙江湖州人,硕士研究生,软件工程.通信作者:李强副教授,E-mail:hzLee@hdu.edu.cn.

TP393

A

1001-9146(2017)06-0030-06

猜你喜欢
异地时延边缘
5G承载网部署满足uRLLC业务时延要求的研究
图解跨省异地就医
基于GCC-nearest时延估计的室内声源定位
VoLTE呼叫端到端接通时延分布分析
一张图看懂边缘计算
推进医保异地结算 稳字当先
简化的基于时延线性拟合的宽带测向算法
破除异地结算的地方抵制
在边缘寻找自我
走在边缘