论文部分内容阅读
随着互联网的普及,涌现出了大量的互联网应用,例如社交网络,在线视频,图片分享,电子商务等等,Web2.0的时代也随着来临。这些应用普遍采用分布式的架构来存储用户产生的海量数据,如何有效地管理各个副本节点之间的数据,是一个持续的研究问题。针对海量数据环境下,不同的应用对于数据副本的一致性有所差异的特性,提出了动态一致性的副本管理策略,通过该策略可以更加灵活地和精确地描述不同的业务逻辑对于一致性的需求。在多个副本节点进行同步的过程中,总会存在副本节点之间的数据存在偏差的情况。对于不同的数据类型,提出用数据条目偏差,数值偏差以及新旧程度偏差这三个偏差类型中的其中一个来进行描述;与此同时,给这个数据偏差赋予一个用来刻画其对于偏差容忍度的数值。由这个二元组,来修饰不同的数据对于一致性的要求。再配合一致性控制层中的请求分发模块、任务处理模块以及任务调度模块的协同工作,实现对任务的动态一致性策略的控制。该策略的具体实现方式是请求分发模块对带有二元组修饰的请求任务进行分析后,将任务放置到与一致性要求相匹配的优先级任务队列中,然后由任务处理模块从队列中取出任务,并按照与其一致性要求相对应的方式来操作副本节点。其中设置任务调度模块的目的是避免较低优先级任务队列中的任务饿死。实验表明,当一致性偏差取值由系统随机赋值时,动态一致性策略可以对三种一致性偏差类型同时存在的情况进行处理,并根据偏差取值进行合理调度,确保每一个请求的一致性要求。进一步说明动态一致性策略在海量数据环境中的应用,可以解决不同的应用对于一致性要求不同的问题,同时,也能够满足同一个应用中不同的业务逻辑对于一致性的差异化需求,使得用户能够更加灵活和细致地控制副本的一致性。