基于Android 的艺术文化交流平台的设计与实现

2021-12-24 23:07王洋俊俞雪永
电脑知识与技术 2021年29期

王洋俊 俞雪永

摘要:该文分析了目前国内外艺术类App开发特点及总体情况,就目前艺术类App开发框架存在的问题,在关系型数据库的概念模型之上,以图数据库Neo4j为例,详细描述了艺术文化交流管理图数据库的基本概念、建模元素、组织方式以及该系统模型的增加、删除、修改、查询等功能。在运用图数据库建模技术构建的模型之上,研究如何采用Android原生开发来设计一款名为“艺术圈”的艺术类App,并采用NodeJS+MySQL+Express+Neo4j 的形式搭建艺术文化交流平台的后端服务器。实践结果显示,该文提出的图数据库建模技术不仅能使模型语义表达更明确,而且具有可扩展性、简易性和高效性等优点,对设计和开发基于图模型的智能管理信息平台提供一定的参考价值。

关键词:UML图;NodeJS服务器;Neo4J图数据;Android开发

中图分类号:TP311  文献标识码:A

文章编号:1009-3044(2021)29-0085-05

Design and Implementation of Art and Culture Exchange Platform Based on Android

WANG Yang-jun, YU Xue-yong

(School of Computer and Computing Science, Zhejiang University City College HangZhou, Hangzhou 310015, China)

Abstract: This paper analyzes the characteristics and overall situation of the development of art App at home and abroad. Based on the conceptual model of relational database and the problems existing in the development framework of art App, this paper takes graph database Neo4j as an example. This paper describes in detail the basic concept, modeling elements, organization mode and the functions of adding, deleting, modifying and inquiring of the system model of the management diagram database of art and culture exchange. Based on the model constructed by using graph database modeling technology, this paper studies how to design an art App named "Art Circle" by using Android native development. And the form of NodeJS +MySQL+Express+Neo4j is adopted to build the back-end server of the art and culture exchange platform. The practice results show that the graph database modeling technology proposed in this paper can not only make the semantic expression of the model more explicit, but also has the advantages of extensibility, simplicity and high efficiency, which provides some reference value for the design and development of the intelligent management information platform based on the graph model.

Key words: UML diagrams; NodeJS server; Neo4j graph data; Android native development

1背景

隨着大众艺术审美的不断提升,欣赏艺术作品、参观博物馆展览逐渐成为人们空闲之余的娱乐活动。但是如何快捷地收集到自己喜欢的艺术品、艺术家、博物馆以及如何欣赏艺术作品,如何获得更佳的博物馆参观体验也慢慢成为艺术爱好者们要关心的问题。同时,艺术品、艺术家、博物馆、艺术类新闻等信息种类繁多,并且随着数据量的不断增大,传统的关系型数据在海量数据存储能力方面就会存在不足之处,不仅容易出现数据容易丢失、负载过高、宕机等问题,而且对于系统来说,可扩展性与可用性方面较弱以及系统维护成本较高[1]。查阅了图数据库相关的资料,与传统的关系型数据库不同的是,图数据库加强了“数据与数据之间关系的概念”,这是以可视化的图结构来存储和管理数据的数据库系统。最重要的三个基本单元为节点、关系、属性,节点存储实体信息。其中关系用于建立节点与节点之间的联系,而且它们的属性是以键值对的形式存储。以Neo4j 为例,它作为一款基于java 的高可靠性、高性能、可扩展性强的开源图数据库[2],具有高性能、易用性、轻量级等特点,而且它完全兼容原子性、一致性、隔离性和持久性这四点特性[1]。实现图数据库的高效操作,图数据库提供一套易于学习的查询语言Cypher,相比关系型数据库,则更加直观、简单且非常适合大批量数据存储和检索[3]。

2研究的现状与意义

2.1艺术App设计与开发现状

目前国内外有关艺术文化的App各式各样,大多围绕博物馆沉浸式体验。比如2010年美国自然历史博物馆为了迎合人们的移动消费方式,在移动智能手机上推出应用程序App-Explorer。2017年谷歌文化学院通过数字化 App 手段让公众可以在线欣赏到世界博物馆文化瑰宝,运用远景技术和3D 技术将死海古卷数字化,世界奇观文档化,并通过艺术技术强化数字化存取[4]。

对于国内的艺术类App,开发者将博物馆艺术藏品转换为数字化的电子媒介,以图像、文字、声音以影像等融合进行展示和传播,开发了口袋里的“移动”App 艺术。这些App 的开发是对实体博物馆的有效增补,有趣之处在于改变了博物馆的艺术,让艺术故事和历史娓娓道来,让观众与“数字艺术”互动,口袋里的“移动”App 具有个性化、交互性、实时性和体验性等特征。像故宫博物院在对中国文化遗产数字化体验上的举措当属典范,故宫博物院相继推出了9 款 App和“微故宫”微信公众号。比如故宫系列《每日故宫》App设计成日历形式,观众可以打开自己喜欢的一幅作品,并配以故宫精美艺术图来分享于众。还有故宫打造的《韩熙载夜宴图》App全面调动用户感官,利用音乐、场景融入、“真人”入画等,给人身临其境的使用体验。这是为了观众提供了更为开放和有趣的互动沉浸体验,让观众足不出户就可以身临其境般观看和了解故宫里的文物[4]。

对于这些新颖的应用开发,都拉近了国人对自己文化的距离,也宣传了本国的艺术文化,并且大多围绕博物馆展览进行开发,很大程度上丰富参观者在博物馆欣赏艺术的体验。但是,大多艺术文化类App也存在着一些问题,例如:缺乏一个多用户能参与的艺术文化交流平台,大多数App是为了增加本博物馆的游客量而设计开发;该类型的App应用大同小异,缺乏创新的功能模块,若能使得用户自己作为一名创作者,发挥创造力,分享自己的创作经历,与其他艺术爱好者一同交流。这样在一定程度上不仅能提升博物馆参观体验,而且促进使用者之间的艺术交流,吸引更多对于非艺术爱好者参与其中。

2.2研究意义

艺术与文化交流平台基于目前图数据库建模技术,将An⁃ droid原生开发和图数据库建模结合起来,对于目前艺术类App 功能方面做出创新和优化。区别于科普类型的应用,该平台增加使用者之间的交流与分享,促使使用者自身参与到现实生活中艺术展览的公共场合,并优化博物馆参观体验。其次,本文提到的图数据库建模技术不仅能使模型语义表达更明确,而且具有可扩展性、简易性和高效性等优点,搭配基于NodeJS 的Ex⁃ press框架搭建的服务器所搭建的艺术与文化交流平台,对设计和开发基于图模型的智能管理信息平台提供一定的参考价值。

3平台设计与实现的相关技术

艺术与文化交流平台分为前端和后端。前端是由Android 原生开发的App,后端是基于NodeJS框架搭建的服务器,储存数据的数据库采用Neo4j 图数据和MySQL数据库[5]。

3.1 Android原生開发

Android应用和它的框架是采用java语言编写的。运行在DalvikVM中,DalvikVM是一种Google 自主研发的、基于Android 平台的虚拟机。它有一个高效的抽象层,提供给Android底层使用[6]。并且还有一种专门为Android设计的压缩格式(Dex格式的字节码)。这种压缩格式可以用于内存不大或处理器速度不快的系统[6]。同时,DalvikVM的可扩展性得益于那些可以支持的原生程序库,这些原生程序库是由API所提供的。

Android 系统底层为Linux 内核。采用的是层与层之间相互分离的方式进行构建。论其本质,就是在标准的Linux 系统上增加了DalvikVM,并搭建一个所有应用程序都基于它的ap⁃ plication framework[6]。其中,Android 的架构图如图1所示。

3.2图数据库技术

图数据库是一种新型的非关系型数据库,图数据库的模型包括结点、关系和属性[7]。其中,结点是实体对象,如人物、艺术品、书籍或者其他具体事物。这些类似于ER 图中的实体对象或是关系数据库中的记录。对于边关系来说,它是连接节点之间的关系,表明节点之间的联系、概念、事件或者事物[8]。而这与关系数据库有所不同,针对非结构化的数据,使用关系型数据库来存储数据将无法达到预计效果,同时增加多个表之间互相关联会使操作效率大幅降低[9]。而在这种情况下,采用图数据构建的数据库则会有很大优势,无论图的数据量有多少,其遍历结点和边的效率都不会有太大变化,完全具备一个成熟数据库的所有特性。

最终选择Neo4j 的原因归结为以下四点:

1)简洁明了的查询语言 Neo4j CQL;它支持完整的 ACID 规则;

2)遵循属性图数据模型,使用Apache Lucence 支持索引,支持 UNIQUE 约束。采用本地的图形处理引擎与原生图形库。

3)提供一个可视化界面,可以用于执行 CQL 命令的 UI 界面。

4)支持JSON 和XLS 的数据导出格式。提供可以通过 UI MVC 框架(这里采用NodeJs连接图数据库)访问的 Java 脚本[10]。

3.3基于NodeJS框架的服务器

NodeJS 是一个服务器端平台,由Ryan Dahl 在2009年创建。它建立在V8 JavaScript运行时之上,使用了非阻塞I/O(异步)模型,这使得它最适合数据密集型的实时应用程序。基于谷歌 Chrome 的 V8 JavaScript 引擎,NodeJS 库的代码性能非常快。NodeJS 通常用于构建与客户端应用程序交互的后端服务[11]。这些应用程序通过称为API 的后端服务获取和发送数据。目前,由于NodeJS 的完善,JavaScript也可以在服务器端运行[12]。下面如图2所示,展示了NodeJS服务的生命周期。

Express 是一个用JavaScript 编写并托管在 NodeJS 运行时中的web框架环境。它也是最流行的NodeJS web框架,并提供了有用的特性,比如:为使用不同URL 的不同 HTTP请求编写处理程序路由、添加中间件和核心节点模块。Express框架可以加速web 开发过程。Express是一个非常轻量级的web应用程序框架,所以主要受益来自使用第三方库和特性。使用Ex⁃  press,中间件的使用是可能的。中间件是功能在做出最终请求处理程序之前,由Express路由层调用。中间件可以访问请求、响应对象以及下一个函数[13]。首先加载的中间件函数将得到首先执行。接着,中间件接受请求对象,执行代码,将请求更改为响应对象,并调用next 函数。如果队伍里还有对象的话,这将激活下一个中间件[13]。

3.4 UML 图

UML是一种建模语言,它支持信息系统的规范、可视化、构造和文档化。尽管UML语法被划分为两门学科,但是这种语言的广泛语法、各种图表、学生的编程背景,以及其他因素,使得学习它成为一种挑战[14]。UML 图建立在统一语法的基础上,目的是让相关的涉众能够理解。但模型和代码之间的差距威胁着开发人员对UML 的理解,因为开发人员需要将他们的思想从具体的代码转移到抽象的模型,而主要的问题是他们经常看不到这些信息系统的低级和高级透视图之间的关系[14]。在需求分析阶段,主要绘制了用例图和活动图。其中,用例图是根据参与者、用例和关系来定义系统的功能和图形化[15]。UML 活动图是流程图对顺序和并发行为建模[16]。UML 图可以更加精准地确定用户需求,明确用户需求。

4数据库设计

对于用户的基本信息、用户发表的文章、博物馆计划、新闻、文章评论、个人历史等基础数据,存储在名为ArtCircle的 MySQL数据库。对于艺术家、艺术品、博物馆、地区、主题等关键数据,如图3所示,则存储在Neo4j 图数据库。图中有艺术品类型、博物馆类型、艺术家类型、国家类型、主题类型、省份类型结点等多种不同类别的结点,并且结点之间存在多种不同类型的关系。

通过对用户需求的设计与分析,如图4所示,总共确定了8 个实体,分别是用户、个人历史、文章、艺术家、艺术品、博物馆、计划、新闻,并且确定其每个实体之间的关系和实体本身的属性。

其中,设计了13个数据表,分别是用户表、新闻表、用户成就表、用户动态表、用户历史记录表、用户收藏表、动态评论表、博物馆计划表、博物馆的艺术品表、博物馆表、艺术家表、点赞表、用户评论表。以新闻表和用户收藏表为例,其具体设计如表1和表2。

5系统的设计与实现

在整个艺术与文化交流平台,主要模块分为艺术个性化推荐模块、艺术交流区、博物馆体验模块、用户个人信息管理和后台管理平台。其中用户个性化推荐模块分为时事新闻推送、艺术家推荐、艺术品推荐、博物馆推荐。艺术交流区分为艺术品内容分享、艺术文化专题、关键字搜索、艺术创作画板、艺术品鉴赏。博物馆体验模块分为博物馆计划日历、博物馆文物介绍、博物馆在线预约、博物馆地图导航。用户个人信息模块分为用户成就、用户收藏、用户基本信息、用户个人文章、用户历史记录。最后是后台管理平台分为用户个人信息管理、艺术品信息管理、艺术家信息管理、博物馆信息管理、系统操作历史管理、新闻信息管理。具体功能结构如图5所示。

在分析并描述用户需求方面,绘制了若干张用例图和活动图,包含艺术与文化交流平台总用例图、登录过程活动图、艺术文化交流区用例图、用户评论过程活动图、用户点赞过程活动图、个性化推荐模块用例图、新闻推送模块用例图、用户个人信息模块用例图、用户动态模块用例图、后台管理平台用例图、艺术品二维码创建及扫描过程活动图、博物馆计划制定过程活动图、博物馆体验模块用例图、用户收藏过程活动图、艺术文化专题模块用例图、艺术创作画板模块用例图等。以用户动態模块用例图和用户点赞过程活动图为例,其具体内容如图6和图7所示。

经过需求分析和界面原型的设计与开发,最终采用 An⁃ droid原生开发出一款名为“艺术圈”的App,其主页界面如图8所示。

6结束语

本次研究的主题是如何构建一个艺术与文化交流的平台。该平台能激发人们自主的创造艺术品,分享艺术趣事,促使人们更多地参与艺术博物馆、艺术社区交流等公共场合之中。本文的工作意义在于,拓展了艺术类 App 开发的研究方法和范畴,更好地对艺术品、艺术家、博物馆、用户本体数据进行了展示和存储,可为艺术文化领域与科技的深度融合演进提供参考。

参考文献:

[1]祁烁.基于Neo4j 的人员关联分析与吸毒倾向预测平台的设计[D].济南:山东大学,2019.

[2] Giabelli A, Malandri L, Mercorio F, et al. Skills2Job: a recom⁃ mender system that encodes job offer embeddings on graph databases[J].Applied Soft Computing,2021,101:107049.

[3]黄华,戴江鹏,王毅,等.基于图数据库的电网CIM/E模型构建及网络拓扑[J].电力系统自动化,2019,43(22):122-129.

[4]王红,刘怡琳.博物馆文化数字化沉浸体验:口袋“移动”APP 艺术[J].文化创新比较研究,2019,3(1):58-59.

[5]张宇,逯力红,潘英雯,等.基于Android移动终端的超市商品检索导航系统[J].电子设计工程,2020,28(7):99-103.

[6]彭洪超.基于Android系统的自动化测试用例的实现和优化[D].南京:南京邮电大学,2020.

[7] LicheriN,BonniciV,BeccutiM,etal.GRAPES-DD:exploiting decision diagrams for index-driven search in biological graph databases[J].BMC Bioinformatics,2021,22(1):1-24.

[8]粟栗,陆黎,张星,等.基于图数据库的5G数据流转安全防护机制[J].电信科学,2021,37(4):28-36.

[9] Dubrovin A S,Ogorodnikova O V,Tsarkova E G,etal.Analysis and visualization in graph database management systems[J]. Journal of Physics:Conference Series,2021,1902(1):012059.

[10]蔡晶媛.基于Neo4j 的易制毒化学品溯源系统的设计与实现[D].石家庄:河北师范大学,2020.

[11]陈荣鑫.基于NodeJS+Express框架的学院会议室预定系统设计与开发[J].信息与电脑(理论版),2021,33(2):95-97.

[12] Chitra L P,SatapathyR.Performance comparison and evalua⁃tion of Node.js and traditional web server (IIS)[C]//2017 Inter⁃ national Conference on Algorithms, Methodology, Models and Applications in Emerging Technologies (ICAMMAET). Febru⁃ary 16-18,2017,Chennai,India.IEEE,2017:1-4.

[13] Nielsen B B,HassanshahiB,GauthierF.Nodest:feedback-driv⁃en static analysis of Node. js applications[C]//Proceedings of the 201927th ACM Joint Meeting on European Software Engi⁃neering Conference and Symposium on the Foundations of Soft⁃ ware Engineering. Tallinn Estonia. New York, NY, USA: ACM, 2019:455-465.

[14] Vázquez-IngelmoA,García-HolgadoA,García-Peñalvo F J. C4 model in a Software Engineering subject to ease the com? prehension of UML and the software[C]//2020 IEEE Global En⁃gineering Education Conference (EDUCON).April 27-30,2020, Porto,Portugal.IEEE,2020:919-924.

[15] SiahaanD,DesnelitaY,Gustientiedina,etal.Structural and se⁃ mantic similarity measurement of UML sequence diagrams[C]//201711th International Conference on Information &Commu⁃nication Technology and System (ICTS).October 31-31,2017, Surabaya,Indonesia.IEEE,2017:227-234.

[16] Ahmad T,IqbalJ,AshrafA,etal.Model-based testing using UML activity diagrams:a systematic mapping study[J].Comput⁃ er Science Review,2019,33:98-112.

【通联编辑:谢媛媛】