基于区块链技术的三维动画造型资源自动共享系统设计

2024-03-11 01:52吕紫源
电子设计工程 2024年5期
关键词:三维动画资源库资源共享

吕紫源

(中北大学艺术学院,山西太原 030000)

三维动画造型已成为影视、游戏等娱乐产业的核心部分,然而,其制作成本高、周期长,使得资源共享成为一项重要挑战。在互联网环境中,网络系统资源的共享可以为用户更加广泛利用资源提供了极大的便利,也提升了资源利用率。在三维动画造型资源中,将资源信息化、共享化,可以提高学习和工作效率,促进该领域进入到新的形态[1]。

区块链技术以去中心化、透明化和不可篡改的特性[2],为三维动画造型资源的共享提供了新的解决方案。文中旨在构建一个自动化的、透明的、安全的基于区块链技术的三维动画造型资源共享系统,提高资源使用效率。期望通过这个系统,实现三维动画造型资源的最大化利用,推动产业的持续发展。

1 三维动画造型资源共享系统设计

1.1 系统总体架构

基于区块链技术,设计三维动画造型资源共享系统总体架构,如图1 所示。

图1 系统总架构

系统由应用层、用户层、区块链信用层和数据层组成,其中,区块链信用层包含的资源引入模块、资源传输模块和资源投放模块以及数据层的共享资源库模块是该系统的重要内容。

资源引入模块实现了数据源管理、定时任务设置、数据拉取、数据转换与过滤、数据存储以及错误处理与日志记录等功能。资源传输模块可以实现数据传输协议选择、数据加密与解密、数据压缩与解压缩、数据分片与重组、传输速率控制、错误处理与重传机制、进度跟踪与日志记录。资源投放模块是系统中负责将可共享的资源从资源库中提供给用户的模块。该模块具有资源查询与筛选、资源预订与申请、资源状态管理、投放协议与合同管理、请求响应与通知、使用反馈与评价功能。数据层的共享资源库模块是负责存储和管理所有可共享资源的模块。该模块具有资源信息录入与更新、资源分类与标签管理、资源状态管理、资源权限控制、数据存储与备份功能,为系统提供了存储和管理所有资源的基础,保证资源的有效管理和共享。

1.2 硬件设计

1.2.1 资源处理器

资源共享系统会将网络中的纯文本、动画造型仿真、音视频数据等三维动画造型资源进行整合和多源读取,从而实现资源共享过程。因此,在系统硬件中,首先设计一个系统资源处理器,目的是将本地端资源和外域资源进行统一汇总处理。该系统中选用的资源处理器型号为S3C6410,基于ARM 架构,得到的资源嵌入式处理器硬件结构图如图2 所示。图2 中,整个资源处理器中共包含两个128 MB 的移动式内存器,同时该内存器内部自带256 MB 的FLASH 闪存,可支持大规模数据接入;将闪存芯片工作频率设置为其额定频率(70 MHz),并在芯片接口处利用32 位的DMX512 控制总线将其与Geforce8 芯片分别与时钟电路的正向端和负向端相连,以起到掉电保护作用;利用S3C6410芯片中的运算放大器放大内存器内部的衰减信号,保证资源数据的完整度;为控制资源数据的传输进程,将处理器上的三个引脚与放大器的I/O 引脚相连,并达到保护资源处理器的目的[3]。当系统资源处理器接收到的资源来自多个外域系统时,嵌入式处理器的外接显示设备上的负载功率会出现失衡现象,为此,采用矩形USB 接口和SD 卡接口来平衡负载功率;将高速USB 接口、SD 卡接口以及主机接口分别与接口板的三个端口连接,在接口板剩余的接口处均设置八位模式的MMC 控制器。网络模块采用的是自适应网络芯片,参数速率高达1 000 MB/S,通过其自身附带的以太网控制器,将网络中各项三维动画转型资源进行整合并储存[4]。

图2 嵌入式资源处理器硬件结构

FPGA 芯片内置20 kB 逻辑单元,用于控制器间的数据传输。其内部的主动配置电路如图3 所示。在FPGA 芯片配置电路中,控制AS 接口与EPCS4 配置芯片串联后直接连接到FPGA 芯片的TCK、DTO 以及TMS 接口上,作为备用控制电路。

图3 FPGA芯片配置电路

1.2.2 资源数据输入输出电路

在资源嵌入式处理器的控制下,在系统硬件部分设计了资源数据传输接口电路板,用于实现资源的传输功能。基于USB 接口配置,根据处理器各芯片的功能特点,以电流在处理器中的返回路径最近的原则,利用S/R2 接口两端异步引脚与FPGA 芯片并联,形成接口电路板,控制FPGA 芯片的输出电压[5]。在USB 接口和S/R2 接口之间设置电平转换器,将两个接口间的电平保持一致。同时,遵循线路等长原则,利用蛇形走线的方式对硬件接口连接电路进行整合。经过上述设计与处理,完成系统硬件部分的设计。

1.3 软件设计

1.3.1 资源引入模块

资源引入模块采用拉模式资源引入方式,即定时从其他数据源系统拉取所需数据成功返回后生成本地资源库的过程。首先系统根据实际需求对资源进行分类,进而将除本地端之外的数据源系统,按需接入不同网关以实现资源共享,并存储成统一资源模型落库[6]。三维动画转型资源分类情况如表1所示。

表1 三维动画造型资源分类表

设计师通过自身权限将资源上传至网站,当系统审核数据无误后,上层业务系统向其他系统发起资源引入请求,请求包括资源类别、数量、大小等信息。当测试数据源连接状态正常时,以Schduel 提供的API 注册定时任务,注册完毕后,Scheduel 以注册任务时设定的cron 表达式定时对数据源系统发起调用,对于场景下的记录信息,统一暂存至配置平台DRM 中,当构建下一次请求参数时按需取用[7]。为了提高其他资源系统接入时的便利性,需要资源引入代码具有较高的扩展性。在构建请求参数过程中,要对不同资源数据提供统一的资源传输接口,该系统利用工厂模式和策略模式对不同处理器间接口进行创建[8]。syncResource 方法用于实现资源数据引入,buildl mportContext主要用于资源构建并引入上下文,通过getProcessor 从静态工厂和动态策略中取出数据引入执行器,并采用preExcute 来判断是否所有感知到的资源数据都存入到引入上下文中的参数Map中,保留新增资源,对重复资源进行比较后予以删除,然后利用excute 程序完成实际引入并获取外域资源的过程,在此期间,根据资源类别信息对设定的参数逻辑进行调整,最后通过EcoResourceRepository将引入的资源数据批量落库。

1.3.2 基于区块链的资源传输模块

区块链技术有着大带宽、低时延、支持海量接入等优势,可有效提高系统资源传输性能。根据系统的基本功能,利用区块链技术设计的传输模块主要包括端、管、云三部分[9],其结构如图4 所示。在传输模块的“端”部分,主要将引入的资源进行整合和实现远程控制;“管”是该模块的核心部分,主要是资源传输的通道,利用切片技术根据资源类别进一步细分为具有不同资源侧重能力的子通道,并在承载之间形成隔离[10]。系统根据不同资源类别和需求,选择对应的切片服务,从而保证系统终端与控制系统之间高效、可靠的数据传输;“云”部分主要是负责初步管理系统资源,包括资源切片、资源计算和统计分析等,可根据不同共享需求,灵活分配系统资源库的资源,实现资源高效利用。

图4 基于区块链技术的资源传输模块结构

1.4 资源投放模块

资源投放模块主要实现基础数据层资源对用户投放的功能。在资源传输基础上,对资源进行取出、规则功率以及展位渲染操作。资源投放时序图如图5 所示。传输模块将资源传输到投放模块的资源层,当系统发出资源对用户投放请求时,首先在资源层取出投放所需要的基础资源层资源,包括案例、文献、元素、音视频、效果等动画资源,对以上资源进行拼装后,此时展位中已有资源数据,然后按需将各类资源参照过滤规则进行过滤,包括标题、关键字、作者、上传时间、文本类型、浏览次数以及扩展性信息等[11]。完成过滤后,系统接入SmartEngine程序,对资源进行编排,需要在解析数组中配置编排对应的方法,流程配置过程中标注各原子能力,同时在资源层中利用@Activity 标识以系统能力的原子,在SOFA 运行加载期间,系统会优先启动WorkFLowServiceTemplate 程序对资源进行扫描加载解析数组文件,并根据标注能力属性值将各流程串联起来,则调用此编排方法时,就依据流程编排的顺序依次调用各原子能力[12]。完成对资源的过滤编排后,此时展位中的资源即为需要投放到共享资源库中的资源。

图5 资源投放时序图

1.5 共享资源库模块

资源投放完毕后,根据不同用户需求,对资源的属性进行划定,将相同属性的资源整合在一个公共共享资源库专区,实现资源共享[13]。由于系统中的资源数据来源不同,所以资源格式也不一致,因此需要将所有阵元转换为特定类型,统一格式,构建资源子模式。将生成的子模式作为共享资源库与资源投放端的连接通信,汇总和整合接口处的资源数据,组建资源集合A,由此可以将资源传输函数表示为:

式中,s表示阵元传输时间;Q表示传输的数据总量;ω表示缓冲参数。

根据上述资源数据的传输过程,假设相同硬件结构对每次传入的资源数据的敏感度均相同[14],因此,引入属性参数r,可将参数的数量关系表示为:

式中,e11和e21分别表示在不同时刻下的资源数据传输量;a11表示系统对数据的敏感度参数,由此形成的资源属性模式可表示为:

式中,uk表示资源稳定参数;vk表示资源传输的平均速度;j表示传输延迟参数;κ表示系统对资源的敏感度;E表示资源首次传输的时间;p表示资源属性因子。

在不同资源传输时间控制下,将上述资源的各属性参数进行标准化处理[15],以统一资源数据格式,标准化计算公式为:

式中,f表示资源数据传输频率;T表示系统运行周期。

根据式(4),可得到资源属性参数随资源传输频率变化的曲线,将倾向中最小振幅频率作为属性划分分界点,即可实现对资源属性的划分。

根据资源属性划分,将三维动画造型资源划分为上传共享、下载共享和输出共享三个功能模块,具体功能及操作流程如图6 所示。系统中的共享资源库模块为更好地实现优质资源的共享共建,将来源不同的丰富优质资源进行分门别类并组织在公共共享资源库专区,便于用户根据自身需求随时查询所需资源[16]。在该模块中,还设置了资源审核模块,该模块主要负责维护和优化共享资源库,负责对上传入库的资源进行审核,判断资源是否符合入库以及共享的要求。资源共享系统中的所有用户均具有相互间独立的资源使用权限,在现在共享功能中,只要输入自己的账号和密码,即可下载感兴趣的资源,同时,使用者也可以将自己的作品上传到系统资源库中,审核无误后,即为共享资源。系统后台调用数据库代理服务器用于资源读取,利用FTP 服务器进行资源的上传和下载操作。

图6 资源共享库功能划分及操作流程

2 系统的性能测试与分析

在系统整个设计以及研发过程中,需要对系统的现有功能进行测试,以验证系统性能的优劣。因此,根据前文研究实际的资源共享系统,设置系统仿真测试环节,测试系统的应用性能。

2.1 实验准备

实验测试的仿真环境在阿里云搭建Apache+PHP 平台,编程技术采用.NET 框架+C#语言+WinForm 技术,在局域网的控制下,共计申请10 台服务器作为资源共享用户访问装置,操作系统均为CentOS7.1。从内部集群中的部署来看,选择服务器集群中的四个节点为主节点,其余为副节点。系统中的数据库使用ACCESS 以及Oracle。10 台服务器上均配置了CIoudEngine 容器化技术,为其他资源系统的接入提供了极大的便利。在测试环境相关参数控制下,将三台服务器连接到局域网中,对其进行调试,检测服务器的运行状态。部署网络节点,基于Apache2.0 协议开源,采用Ganache-cli:v6.6.0 以太坊节点仿真器和React: v16.5.2 前端框架,其中以太坊APT 的开发工具为Web3:v1.0.0-beta34,且容器之间相互独立,无需外部接口即可实现虚拟化。另外,测试环境中还需要Hyperledger Fabric 源码将资源数据编码成二进制数组,这些二进制数组可以通过源码编译形成,为了简化测试流程,利用git 源码库,将其内部的源码直接拉取出来,由git 源码库编译出的二进制数值可直接调用,并读取配置文件,在系统启动时起作用。上述所选择的环境工具均为目前较为稳定的版本,兼容性较高,可保证测试过程中系统的稳定开发和运行。

2.2 测试说明

基于上述测试准备,在系统的性能测试部分,文中利用区块链创建资源,在Fabric 区块链中,资源在数据库中以键值对的形式存在,以资源id 信息为键将资源分布存入共享库中,并将资源分为数据模型、基础信息和扩展信息。三维动画造型资源数据结构如图7 所示。

图7 三维动画造型资源数据结构

根据上述资源数据结构对资源数据的属性进行划分,在资源属性基础上,用户进行请求资源共享操作。利用资源植入代码将资源植入到系统资源库中,在资源植入过程中,为避免出现由于系统资源库拼接不完整而产生资源丢包现象,加入服务器补包程序,当系统感知到丢包时,会向资源库发送丢包请求,得到响应后等待接收补包数据,并将新资源数据插入到原数据队列,从而保证资源库中数据的完整性。

2.3 资源搜索效率

通过以上实验环境部署和数据准备,对系统资源上传、浏览、查询以及下载等操作进行多次测试,最终选取10 次实验平均值进行结果分析。分别采用基于大数据的资源共享系统(系统1)和基于混合云平台的资源共享系统(系统2)与文中设计的资源共享系统开展资源搜索效率测试。测试中利用对系统的不同操作和所用时间的关系来评价系统资源搜索效率。为保证测试结果的公平性,三种系统均在统一局域网且所用资源大小都相同,对比结果如图8 所示。分析图8 可知,在不断增加资源共享系统的搜索次数时,三种系统的搜索时间均有不同程度变化。当搜索次数超过8时,系统1表现出的搜索时间最长,最终搜索时间为2.7 s 左右,系统2 最终搜索时间大约为1.3 s,而文中设计的资源共享系统的搜索时间最短,最终搜索时间数值在0.3 s 左右,且随着搜索次数的增加,其搜索时间并不呈现指数增长趋势,由此可以证明,文中设计的资源共享系统的资源搜索效率较高。

图8 资源搜索效率对比结果

2.4 共享丢包率

设定每2 min 发送一次数据包,指定相应的共享目标,将四个测试小组分别用来对50个、100个、150个和200 个资源数据包进行测定和分析,并按顺序逐次分享给100 名用户。记录数据共享前的数据包大小和共享完成后用户收到的数据包,计算丢包率,结果如图9 所示。

图9 共享丢包率对比结果

分析图9 可知,通过不同数量的资源数据包共享,测得不同系统的丢包率。系统1 的丢包率达到4.8%,系统2 的丢包率达到3.5%,而文中系统的资源共享丢包率均较好的控制在了1.5%以下,表明该系统在运行的过程中,共享的精准度高、误差小,具有实际的应用价值。

2.5 并发用户数

以CPU 占用率达到80%为系统最大负载标准,逐渐增加用户数量,验证不同系统提供的最大并发用户数,结果用图10 描述。由图10 可知,系统1 和系统2 的最大并发用户数分别为248 和212 个,而文中系统最大并发用户数为307 个,可承载较多的并发用户数,表明文中系统的承载性良好。

图10 并发用户数对比结果

2.6 资源利用率

在上节实验的基础上,验证不同系统对不同大小的资源数据包共享的资源利用率,结果如表2 所示。由表2可知,通过不同数量的资源数据包共享,系统1的资源利用率平均为85.75%,系统2的资源利用率平均为89.25%,而文中系统的资源利用率平均为97%,表明文中系统可以全面、完整地共享资源,通过系统中的各个模块的协同工作,用户可以便捷地搜索、预订和使用各种资源,从而实现资源的最大化利用和共享。

表2 资源利用率对比结果

3 结束语

三维动画造型资源自动共享系统是当前的研究热点,针对当前三维动画造型资源共享系统存在高时延,数据传输和资源搜索效率低等难,设计了基于区块链技术的三维动画造型资源共享系统。首先设计了三维动画造型资源自动共享系统的总体框架,并设计系统资源处理器和资源输入输出技术,然后利用区块链技术设计了系统的资源传输模块,结合资源引入模块、资源投放模块和共享资源库模块构成资源共享系统,最后对三维动画造型资源自动共享系统的性能进行了测试,结果表明,文中系统较好地解决了当前三维动画造型资源自动共享系统存在的问题,大幅度提升了资源利用率,资源搜索效率也得到明显改善。

猜你喜欢
三维动画资源库资源共享
交通运输数据资源共享交换体系探究与实现
论三维动画特效数字模拟真实性与艺术性的结合
中国水墨画在三维动画设计中的应用
健身气功开放课程资源库建设研究
贵州●石斛种质资源库
卫康与九天绿资源共享
高中历史信息化教育资源库应用探索
福建基础教育教学资源库建设研究——以福建基础教育网资源库为例
教育部第一批“国家级精品资源共享课”公布
让三维动画走进幼儿语言教学