基于DataX的数据离线同步工具设计与实现文献综述

 2022-10-22 17:19:35

文献综述(或调研报告)

在目前的Web应用开发中,大量地使用了MVC的框架结构。Model-View-Controller的架构可以很好地分离出Web应用使用过程中各场景下用户与数据的不同需求,通过模块化的形式,将各项服务有效独立,较好地解耦了系统中的各个功能部分,有利于系统的维护和扩展。目前在Java开发系统中,Struct、Spring MVC的使用量较多。这两种框架经过长时间的发展,已具备了十分完备的功能和服务,能够适应大部分类型、规模的Web应用系统,而对于部分具有特殊要求的系统,也可以通过整合两种框架以达到实现的目的[1]。然而这两个框架并非全无缺点,在开发者使用其进行开发的过程中,由于该框架的全面性和丰富性,导致各开发者对其的理解程度不尽相同,此外又因各人员的开发习惯的不同,导致这一类系统中存在大量的代码“污点”和“缺陷”设计,这些都将在不同程度上影响系统的整体性能和稳定性[2]。正如前述,在功能服务完善的过程中,不可避免地会不断增大两者的体积,于是对于部分中小型系统将过于繁重,为应对这一情况,部分研究人员也在不断研究轻量级的MVC框架,以达到恰如其分的期望[3]

此外,MVC架构的系统中,一种常见的系统分层结构是:控制层——作为用户界面与系统处理的中间层,即View与Service的中介;服务层——处理实际的业务逻辑,向上为控制层提供服务,向下调用持久层的服务,亦即Model的产生层;持久层——与底层数据库直接进行交互的层级,向上提供封装服务。控制层较为简单,服务层由于涉及业务逻辑处理,根据业务类型和需求的不同,所涉及到的技术和框架多种多样,而持久层由于是与数据库进行交互的组件,当数据源确定时,其组成一般也会较为固定和统一。在现行的流行持久层框架中,IBatis与Hibernate应算是两个经典、功能完备的框架。但是这两种框架都属于重量级的框架,应用到一般的中小型应用系统中,难免会有一些笨重之感。所以,目前对于一般的中小微型的Web应用,一般会选择一个较为轻量级的框架——MyBatis作为持久层的框架。MyBatis是IBatis的一个简化版,其相对于前述两种框架,在同样具有完善功能的同时,在一定程度上简化了框架本身,使得其更加适合于中小型系统的设计。在各项相关的系统研究中,研究结果也表示出MVC MyBatis具有不错的系统效率[4]

相对于Web应用系统层面的开发框架的较为统一,底层数据的存储系统则显得繁杂多样。不同的存储系统通常具有不同的数据结构和存储方式。而随着业务的扩展或变更,常见的一种需求是需要异构数据系统之间进行数据的交换和同步。为保证数据的一致性和完整性不被破坏,同时为提高数据同步的效率,各种数据同步系统不断出现,数据同步理论被不断提出。如对于使用SQL的系统[5],有研究提出一种同步工具原型,其可将不同SQL进行翻译转化,从而实现数据交换的功能[6];另有一种较为流行的观点是使用一个中间件的形式[7],将异构数据系统的数据进行同步、交换,在此过程中,会使用一种通用格式来暂存数据[8],之后转换为目标系统所需格式。在上述的几种方案中,都提供了一些可用的方式,但是或多或少地具有一定的缺陷,较为突出的即是通用性和效率问题,或由于系统原型设计的目标导致通用性欠佳,或由于需要经过一个中间过程,导致效率受到制约[9]。这些问题也是数据同步概念中较为重要的概念,即通用性和高效率。目前,相关的研究仍在不断进行。

另外,在数据同步系统中,为改善用户的使用体验,一般会提供一个人机交互界面,而Web应用系统即是一个良好的选择。同样,目前也已有一些研究验证了该项功能的可用性和实用性[10]

参考文献:

[1]刘星沙,罗昔军. 基于MVC模式的Struts和Spring整合框架的研究与应用[J]. 湘潭大学自然科学学报, 2007, 29(1):92-95. DOI:10.3969/j.issn.1000-5900.2007.01.020.

[2]M.Aniche, G. Bavota, C. Treude, A. V. Deursen and M. A. Gerosa, 'A Validated Set of Smells in Model-View-Controller Architectures,' 2016 IEEE International Conference on Software Maintenance and Evolution (ICSME), Raleigh, NC, 2016, pp. 233-243. DOI: 10.1109/ICSME.2016.12

[3]A.Singh, P. Chawla, K. Singh and A. Kumar Singh, 'Formulating an MVC Framework for Web Development in JAVA,' 2018 2nd International Conference on Trends in Electronics and Informatics (ICOEI), Tirunelveli, 2018, pp. 926-929. DOI: 10.1109/ICOEI.2018.8553746

[4]刘军,戴金山. 基于Spring MVC与iBATIS的轻量级Web应用研究[J]. 计算机应用, 2006, 26(4):840-843.

剩余内容已隐藏,您需要先支付 10元 才能查看该篇文章全部内容!立即支付

课题毕业论文、开题报告、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。