CN116702218B - 小程序中三维模型的渲染方法、装置、终端及存储介质 - Google Patents
小程序中三维模型的渲染方法、装置、终端及存储介质 Download PDFInfo
- Publication number
- CN116702218B CN116702218B CN202310985820.XA CN202310985820A CN116702218B CN 116702218 B CN116702218 B CN 116702218B CN 202310985820 A CN202310985820 A CN 202310985820A CN 116702218 B CN116702218 B CN 116702218B
- Authority
- CN
- China
- Prior art keywords
- dimensional model
- target
- file
- dimensional
- encrypted
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 145
- 238000009877 rendering Methods 0.000 title claims abstract description 88
- 238000004458 analytical method Methods 0.000 claims abstract description 9
- 238000012545 processing Methods 0.000 claims description 37
- 230000008569 process Effects 0.000 description 78
- 238000010586 diagram Methods 0.000 description 22
- 238000004422 calculation algorithm Methods 0.000 description 19
- 230000006870 function Effects 0.000 description 15
- 238000004364 calculation method Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 7
- 230000008447 perception Effects 0.000 description 7
- 230000002093 peripheral effect Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 238000013473 artificial intelligence Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 229910000906 Bronze Inorganic materials 0.000 description 2
- 239000010974 bronze Substances 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- KUNSUQLRTQLHQQ-UHFFFAOYSA-N copper tin Chemical compound [Cu].[Sn] KUNSUQLRTQLHQQ-UHFFFAOYSA-N 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6209—Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
- H04L63/067—Network architectures or network communication protocols for network security for supporting key management in a packet data network using one-time keys
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2463/00—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
- H04L2463/121—Timestamp
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Computer Graphics (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请公开了一种小程序中三维模型的渲染方法、装置、终端及存储介质,涉及三维模型领域,例如地图导航中的三维模型的渲染。包括:在目标小程序存在三维模型显示需求的情况下,通过目标小程序中的三维模型加载器向三维资源服务器发送文件获取请求,文件获取请求包括请求时间戳;通过三维模型加载器接收三维资源服务器发送的加密三维模型文件,加密三维模型文件由三维资源服务器对目标三维模型文件进行加密得到;通过三维模型加载器,基于请求时间戳确定随机密钥;通过三维模型加载器,利用随机密钥对加密三维模型文件进行解密,得到目标三维模型文件;通过三维模型加载器解析目标三维模型文件,并基于解析结果在目标小程序中渲染目标三维模型。
Description
技术领域
本申请实施例涉及三维模型领域,特别涉及一种小程序中三维模型的渲染方法、装置、终端及存储介质。
背景技术
glb格式文件用于存储和交换三维模型的数据,可以包括三维模型的集合图像、材质、动画、摄像机和灯光灯信息。并且,现如今各应用中的小程序逐渐增多,在小程序中也会具有使用进行三维模型渲染的需求。然而,在一些应用中所调用的glb三维模型文件(即glb格式文件)是开发人员开发的私有化三维模型文件,因此,在应用过程中,需要保护三维模型文件的私有性与安全性。
相关技术中,在网页调用文件的过程中,多采用数字签名的方式对文件进行加密,发送端持有代表自己身份的密钥,接收端持有代表自己身份的公钥,从而在接收到来自发送端信息时验证接收端的身份,从而确保文件的安全性。
然而,由于小程序端与传统的网页所采用的应用程序接口有所不同,因此,传统的用于保证网页调用文件的安全性的方法通常不适用于小程序端,因此,因此,相关技术所提供的方案无法保证小程序所应用的glb三维模型文件的安全性与私有性。
发明内容
本申请实施例提供了一种小程序中三维模型的渲染方法、装置、终端及存储介质。所述技术方案包括如下方面。
一方面,本申请实施例提供了一种小程序中三维模型的渲染方法,所述方法用于终端,所述方法包括以下步骤。
在目标小程序存在三维模型显示需求的情况下,通过所述目标小程序中的三维模型加载器向三维资源服务器发送文件获取请求,所述三维资源服务器存储有用于渲染目标三维模型的目标三维模型文件,所述文件获取请求包括请求时间戳;通过所述三维模型加载器接收所述三维资源服务器发送的加密三维模型文件,所述加密三维模型文件由所述三维资源服务器对所述目标三维模型文件进行加密得到;通过所述三维模型加载器,基于所述请求时间戳确定随机密钥;通过所述三维模型加载器,利用所述随机密钥对所述加密三维模型文件进行解密,得到所述目标三维模型文件;通过所述三维模型加载器解析所述目标三维模型文件,并基于解析结果在所述目标小程序中渲染所述目标三维模型。
另一方面,本申请实施例提供了一种小程序中三维模型的渲染方法,所述方法用于三维资源服务器,所述方法包括如下步骤。
接收终端发送的文件获取请求,所述文件获取请求用于表征终端中目标小程序存在目标三维模型显示需求,所述三维资源服务器存储有用于渲染所述目标三维模型的目标三维模型文件,所述文件获取请求包括请求时间戳;基于所述请求时间戳确定随机密钥;利用所述随机密钥对所述目标三维模型文件进行加密,得到加密三维模型文件;向所述终端发送所述加密三维模型文件。
另一方面,本申请提供了一种小程序中三维模型的渲染装置,所述装置用于终端,所述装置包括如下内容。
发送模块,用于在目标小程序存在三维模型显示需求的情况下,通过所述目标小程序中的三维模型加载器向三维资源服务器发送文件获取请求,所述三维资源服务器存储有用于渲染目标三维模型的目标三维模型文件,所述文件获取请求包括请求时间戳;接收模块,用于通过所述三维模型加载器接收所述三维资源服务器发送的加密三维模型文件,所述加密三维模型文件由所述三维资源服务器对所述目标三维模型文件进行加密得到;确定模块,用于通过所述三维模型加载器,基于所述请求时间戳确定随机密钥;解密模块,用于通过所述三维模型加载器,利用所述随机密钥对所述加密三维模型文件进行解密,得到所述目标三维模型文件;渲染模块,用于通过所述三维模型加载器解析所述目标三维模型文件,并基于解析结果在所述目标小程序中渲染所述目标三维模型。
另一方面,本申请提供了一种小程序中三维模型的渲染装置,所述装置用于三维资源服务器,所述装置包括如下内容。
接收模块,用于接收终端发送的文件获取请求,所述文件获取请求用于表征终端中目标小程序存在目标三维模型显示需求,所述三维资源服务器存储有用于渲染所述目标三维模型的目标三维模型文件,所述文件获取请求包括请求时间戳;确定模块,用于基于所述请求时间戳确定随机密钥;加密模块,用于利用所述随机密钥对所述目标三维模型文件进行加密,得到加密三维模型文件;发送模块,用于向所述终端发送所述加密三维模型文件。
另一方面,本申请实施例提供了一种终端,所述终端包括处理器和存储器,所述存储器中存储有至少一段程序,所述至少一段程序由所述处理器加载并执行以实现如上述方面所述的小程序中三维模型的渲染方法。
另一方面,本申请实施例提供了一种服务器,所述服务器包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述方面所述的小程序中三维模型的渲染方法。
另一方面,提供了一种计算机可读存储介质,所述可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上述方面所述的小程序中三维模型的渲染方法。
另一方面,本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。终端的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该终端执行上述方面提供的小程序中三维模型的渲染方法。
本申请实施例提供的技术方案至少带来如下有益效果。
在本实施例中,在小程序具有三维模型渲染需求的情况下,通过目标小程序中的三维模型加载器向资源服务器请求获取三维模型文件,并且,通过三维模型加载器对获取到的加密三维模型文件进行界解密。在解密过程中,终端还能够通过三维模型加载器,基于请求时间戳计算用于对加密三维模型文件进行解密的随机密钥。实现了在小程序场景下对三维模型文件对应三维模型的渲染,在此过程中,通过三维模型加载实现目标三维文件的获取以及对加密三维模型文件进行解密,能够确保在小程序场景中调用的三维模型文件的安全性以及私有性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了一种小程序中三维模型渲染过程的示意图。
图2示出了本申请一个示例性实施例提供的实施环境的示意图。
图3示出了本申请一个示例性实施例提供的小程序中三维模型的渲染方法的流程图。
图4示出了本申请一个示例性实施例提供的确定随机密钥的示意图。
图5示出了本申请一个示例性实施例提供的加、解密过程的示意图。
图6示出了本申请一个示例性实施例提供的小程序中渲染三维模型的流程图。
图7示出了本申请一个示例性实施例提供的小程序中进行三维模型渲染过程的示意图。
图8示出了本申请一个示例性实施例提供的目标小程序渲染的三维模型的示意图。
图9示出了本申请一个示例性实施例提供的导航小程序的导航界面示意图。
图10示出了本申请一个示例性实施例提供的小程序中三维模型的渲染装置的结构框图。
图11示出了本申请另一个示例性实施例提供的小程序中三维模型的渲染装置的结构框图。
图12示出了本申请一个示例性实施例提供的计算机设备的结构示意图。
图13示出了本申请一个示例性实施例提供的终端的结构框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
小程序:是一种不需要下载安装即可使用的应用,实现了应用的功能,且无需安装及卸载,相较于传统应用程序更加的方便快捷。
glb三维模型文件:是以gl传输格式保存的3D模型的一种二进制文件格式,能够用于高效地传输、加载3D内容。glTF是指在同一所有三维模型格式标准的一种文件格式,glb三维模型文件的大小较小,在小程序场景普遍使用。一个glb三维模型文件能够传输一个或多个场景,包括网络、材质、贴图、骨架、变形目标、动画、灯光以及摄像机等等。
AR(Augmented Reality,增强现实):是一种将虚拟信息与真实世界巧妙融合的技术,广泛运用了多媒体、三维建模、智能交互、传感等多种技术手段,将计算机生成的文字、图像、三维模型、音乐、视频等虚拟信息模仿仿真后应用到真实世界,两种信息互为补充,从而实现对真实世界的增强。
消息摘要算法第五版(Message-digest algorithm 5,Md5):是一种被广泛使用的密码散列函数,可以产出一个128位的散列值,用于确保信息传输的完成性以及一致性。
在相关技术中,基于三维模型文件进行三维模成渲染的过程中,通常将glb文件作为静态资源被glTF(gl传输格式)加载器加载,然后转化为Three.js(是指用JavaScript语言编写的第三方库,用于实现3D功能)的Mesh(网格)对象、Texture(纹理)对象以及animation(动画)对象等,从而被渲染到虚拟场景中。
示意性的,请参考图1,其示出了一种小程序中三维模型渲染过程的示意图,该过程由小程序完成,在获取到三维模型文件后,由glTF加载器对三维模型进行加载,基于三维模型文件实现网格对象、纹理对象以及动画对象等等,并且在小程序提供的虚拟场景中渲染三维模型。
在相关技术提供的小程序中的三维模型渲染方式中,并未涉及可靠的保证三维模型文件私有性的方法,因此,本申请实施例提供了一种小程序中三维模型文件的渲染方法,以实现三维模型文件安全性以及私密性的提升。
请参考图2,其示出了本申请一个示例性实施例提供的实施环境的示意图。该实施环境中包括终端210以及服务器220。其中终端210与服务器220之间通过通信网络进行数据通信,可选地,通信网络可以是有线网络也可以是无线网络,且该通信网络可以是局域网、城域网以及广域网中的至少一种。
终端210是支持运行小程序的电子设备。该电子设备可以是智能手机、平板电脑、膝上便携式笔记本电脑等移动终端,也可以是台式电脑、投影式电脑等终端,本申请实施例对此不做限定。且终端中可以通过社交类应用程序、交通导航类应用程序、旅游出行类应用程序以及资讯阅读类应用程序等提供运行小程序功能的应用程序,本实施例对此不做限定。
服务器220可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。本申请实施例中,服务器220为存储有三维模型文件的三维资源服务器,可以对终端请求的三维模型文件进行查找,对其进行加密,并将加密后的三维模型文件返回至终端210中。
如图2所示,当终端210中运行的目标小程序存在三维模型显示需求的情况下,通过三维模型加载器向三维资源服务器即(服务器220)发送文件获取请求,请求获取目标三维模型。三维资源服务对目标三维模型对应的目标三维模型文件进行加密后,将加密三维模型文件返回值终端210。终端210通过三维模型加载器对接收到的加密目标三维模型进行解密以及解析,并在小程序中渲染目标三维模型。
请参考图3,其示出了本申请一个示例性实施例提供的小程序中三维模型的渲染方法的流程图,该方法包括以下步骤。
步骤301,在目标小程序存在三维模型显示需求的情况下,终端通过目标小程序中的三维模型加载器向三维资源服务器发送文件获取请求。
其中,三维资源服务器存储有用于渲染目标三维模型的目标三维模型文件,文件获取请求包括请求时间戳。
其中,目标小程序可能为导航小程序,购物小程序,游戏小程序等等,本实施例对此不进行限定。并且,由于目标小程序的类型不同,则所要获取的三维模型也有所不同,本实施例对三维模型的类型不进行限定。
在目标三维小程序能够提供显示三维模型的功能的情况下,目标小程序中存在三维模型加载器,三维模型加载器是开发人员根据目标小程序的功能设置的专用加载器,该三维模型加载器可以用于向服务器请求获取三维模型文件,并对加密三维模型进行解密,以及基于解密得到的三维模型文件渲染出三维模型。
文件获取请求中包含三维模型加载器发送该文件获取请求的时间戳,该时间戳用于供三维资源服务器计算随机密钥。
步骤302,三维资源服务器接收终端发送的文件获取请求。
其中,文件获取请求用于表征终端中目标小程序存在目标三维模型显示需求,三维资源服务器存储有用于渲染目标三维模型的目标三维模型文件。
可选的,三维资源服务器中可能仅包含一个小程序对应的三维模型文件;由于相同业务类型的小程序所提供的服务内容大致相同,因此三维资源服务器中也可能包含多个同一业务类型的小程序对应的三维模型文件;由于在同一地点中所要展示的三维模型可能具有关联,三维资源服务器中也可能包含应用于同一地点内的不同三维模型对应的三维模型文件。本实施例对于三维资源服务器中存储的三维模型的类型、数量不做限定。
可选的,在三维资源服务器中,将三维模型文件按照文件的类别和文件名进行管理,即三维模型文件能够按照文件名定位到一个具体的三维模型文件。
可选的,文件获取请求包含目标文件名,能够指示目标小程序所要渲染的三维模型。三维资源服务器接收到文件获取请求后,基于目标文件名,确定终端所需的目标三维模型文件。
步骤303,三维资源服务器基于请求时间戳确定随机密钥。
三维资源服务器接收到的文件获取请求中包含请求时间戳。
基于请求时间戳确定随机密钥,能够针对不同请求时间戳确定不同的随机密钥,即该随机密钥是基于请求时间戳动态变化的,因此可以提高三维模型文件的安全性。
基于请求时间戳确定密钥的方式可以为对请求时间戳进行设定的运算,并且,在终端中确定随机密钥的过程中进行与之对应的运算,从而实现对终端身份的验证。例如,第三方获取到三维模型文件,但在不能根据时间戳计算出正确随机密钥的情况下,第三方同样无法应用该三维模型文件进行三维模型渲染,从而保证三维模型文件的私有性。
可选的,根据哈希算法对时间戳进行计算,以生成随机密钥的字符串。具体的,开发人员为三维资源服务器设置加密函数,该加密函数基于哈希算法构建。在三维资源服务器获取到请求时间戳后,利用加密函数基于请求时间戳进行计算,得到随机密钥。
步骤304,三维资源服务器利用随机密钥对目标三维模型文件进行加密,得到加密三维模型文件。
其中,目标三维模型文件即为明文,得到的加密三维模型文件即为密文。
可选的,在三维资源服务器利用随机密钥对文件进行加密的过程中,即为改变目标三维模型文件中数据顺序的过程。加密后得到的加密三维模型文件中数据为乱序,直接根据加密三维模型文件无法在环境中渲染三维模型。
可选的,在三维资源服务器以及小程序中设置有相对应的加密算法以及解密算法,在三维资源服务器中,基于得到的随机密钥根据加密算法对目标三维模型文件进行加密,得到加密三维模型文件。
步骤305,三维资源服务器向终端发送加密三维模型文件。
在得到加密三维模型文件后,三维资源服务器通过有线通信网络或者无线通信网络向终端发送加密三维模型文件。
可选的,三维资源服务器以向终端发送加密三维模型文件对应的二进制数据流。
步骤306,终端通过三维模型加载器接收三维资源服务器发送的加密三维模型文件。
目标小程序中包含三维模型加载器,通过三维模型加载器接收加密三维模型文件,以供三维模型加载器进一步对加密三维模型文件进行解密。
可选的,通过三维资源服务器接收到三维模型文件对应的二进制数据流。
其中,加密三维模型文件由三维资源服务器对目标三维模型文件进行加密得到。
步骤307,终端通过三维模型加载器,基于请求时间戳确定随机密钥。
可选的,终端通过三维模型加载器,基于请求时间戳确定随机密钥的过程与三维资源服务器基于请求时间戳确定随机密钥的过程相对应,得到的随机密钥也应当相对应。
可选的,在三维资源服务器中基于哈希算法对时间戳进行计算,则在终端内,开发人员为三维模型加载器设置加密函数,该加密函数基于哈希算法构建。在确定请求时间戳后,三维模型加载器利用加密函数基于请求时间戳进行计算,得到随机密钥。
可选的,在三维资源服务器中确定随机密钥的方式与在三维模型加载器中确定随机密钥的方式可以不同,即三维资源服务器中通过第一算法确定随机密钥,三维模型加载器通过第二算法确定随机密钥,但是,通过第一算法确定的随机密钥应当与通过第二算法确定的随机密钥相同。
可选的,在三维资源服务器中确定的随机密钥与三维模型加载器确定的随机密钥不同,则为保证解密后的目标三维模型的完整性以及正确性,则三维模型加载器中设定的解密方式与三维资源服务器中设定的加密方式不同。
步骤308,终端通过三维模型加载器,利用随机密钥对加密三维模型文件进行解密,得到目标三维模型文件。
三维模型加载器对加密三维模型文件解密的过程即为改变加密三维模型文件中数据顺序的过程。解密后得到的目标三维模型文件中的数据与三维资源数据库中存储的目标三维模型文件中的数据顺序相同。
可选的,目标小程序中设置有与三维资源服务器中加密算法相对应的解密算法,三维模型加载器根据得到的随机密钥,利用解密算法对加密三维模型文件进行解密,得到目标三维模型文件。
步骤309,终端通过三维模型加载器解析目标三维模型文件,并基于解析结果在目标小程序中渲染目标三维模型。
得到目标三维模型文件后,终端通过三维模型加载器对三维模型进行导入,并读取目标三维模型文件中的数据,以完成对目标三维模型文件的解析。
可选的,三维模型加载器导入目标三维模型文件可能包括:纹理标识、对象的顶点、对象的位置以及索引数目等等,本实施例对此不进行限定。并且在读取数据时读取三维模型文件中不同对象的数据。
综上所述,在本实施例中,在小程序具有三维模型渲染需求的情况下,通过目标小程序中的三维模型加载器向资源服务器请求获取三维模型文件,并且,通过三维模型加载器对获取到的加密三维模型文件进行界解密。在解密过程中,终端还能够通过三维模型加载器,基于请求时间戳计算用于对加密三维模型文件进行解密的随机密钥。实现了在小程序场景下对三维模型文件对应三维模型的渲染,在此过程中,通过三维模型加载实现目标三维文件的获取以及对加密三维模型文件进行解密,能够确保在小程序场景中调用的三维模型文件的安全性以及私有性。
在上述实施例中,对加密三维模型文件进行解密的过程与对三维模型文件进行加密的过程相对应。即在三维资源服务器中对目标三维模型文件进行机密的过程与通过三维模型加载器对加密三维模型文件解密的过程相对应。在加密过程中以及解密过程中,均需要利用随机密钥,因此,三维资源服务器以及终端成功并准确的计算出摘要字符至关重要。以下提供两种基于请求时间戳确定随机密钥的方式。
一、直接基于请求时间戳确定随机密钥。
首先,对请求时间戳对应的字符串进行信息摘要处理,得到摘要字符串。
可选的,三维模型加载器获取到的请求时间戳可能为32位二进制数,在进行信息摘要处理之前,将请求时间戳转换为十进制整数形式的字符串。并基于该字符串进行信息摘要处理。
在一些实施例中,为使小程序渲染三维模型的时延较小,则在三维资源服务器中确定随机密钥的方式与三维模型加载器中确定随机密钥可以采用相同的方式。当然,加密过程中确定随机密钥的方式与解密过程中确定随机密钥的方式也可以不同,本实施对此不进行限定。
为兼顾小程序的性能,本申请实施例中三维资源服务器与三维模型加载器确定随机密钥的方式相同。
信息摘要处理是基于信息摘要算法进行的,在信息摘要处理过程中,对输入的请求时间戳对应的字符串进行填充后的位长对512求余的结果为448。具体的,可以在字符串后填充一个1和多个0,直至满足上述的条件;或者,也可以在字符串后附加一个以64位二进制表示的填充前字符串长度。随后,对填充后的字符串进行初始化,并基于不同分组的算法处理分组数据,最终得到一个固定长度的摘要字符串。本实施例对信息摘要处理的具体过程不做赘述。
其次,将摘要字符串中目标位置处字符对应的编码索引相加,得到随机密钥。
其中,编码索引是指字符在字符集中对应的索引值。其中字符集可以为Unicode(统一码)字符集或者utf8(8位元)字符集等等,本实施例对此不进行限定。
可选的,为保证加密过程以及解密过程中所计算出的随机密钥相对应,则在进行解密过程中,终端所采用的字符集应当与三维资源服务器所采用的字符集相同。
其中,目标位置为预先设定的至少一个位置,或者基于预设程序确定出的至少一个位置。例如,该目标位置设定为摘要算法的后8位。
并且,由于不同时间戳计算出的摘要字符串不同,则根据目标位置处字符确定出的随机密钥也不同。
在一种可能的实施方式中,存在至少两个三维模型文件的重要程度不同,并且,不同重要程度对应的目标位置不同。
则在确定随机密钥的过程中,终端基于目标三维模型文件的重要程度,确定目标位置,随后,将摘要字符串中目标位置处字符对应的编码索引相加,得到随机密钥。
可选的,不同重要程度对应的目标位置数量相同但目标位置序号不同,或者不同重要程度对应的目标位置的数量不同。
可选的,重要程度可以基于三维模型文件的种类划分,或者基于三维模型文件的应用场景划分,或者基于三维模型文件的保密性需求进行划分,本实施例对此不进行限定。
可选的,终端存储有目标位置列表,该目标位置列表用于指示不同三维模型文件与不同重要程度的对应关系,以及不同重要程度与不同目标位置的对应关系。在终端发送文件获取请求的情况下,从该目标位置列表查找文件获取请求所指示的目标三维模型文件的目标重要程度,并基于目标重要程度确定目标位置。从而将目标位置处字符对应的编码索引相加,得到随机密钥。
本申请实施例中,直接基于请求时间戳确定随机密钥,这种方式较为简单,并且通过信息摘要算法得到的随机密钥能够确保信息传输完整性。此外,通过设定目标位置,且不同时间戳得到的摘要字符串中,目标位置处的字符不同,则使得计算出的密钥具有随机性,通过这种方式计算随密钥,减小了加密过程以及解密过程中三维模型加载器的计算量,有利于提高三维模型渲染的效率,降低用户对三维模型加载过程的感知。此外,不同三维模型文件对应不同重要程度,且不同重要程度对应的目标位置不同,能够避免在其中一组目标位置被第三方破解的情况下,全部的三维模型文件均被第三方获取,有利于提升三维模型文件的安全性。
二、基于请求时间戳以及加密字符串确定随机密钥。
在一种可能的实施方式中,目标小程序以及三维资源服务器中设置有相同的加密字符串,该字符串可以由开发人员进行设置。该加密字符串中可以包含任意字符,并且本申请实施例对字符长度以及字符的数据类型不进行限定。
可选的,该加密字符串可以为目标小程序的小程序键值,并且不同小程序的对应不同小程序键值,例如,地图小程序的键值可以为“ARMap”,游戏小程序的键值可以为“game01”等等。
在一种可能的实施方式中,一个三维资源服务器可能为多个小程序提供三维模型文件资源。可选的,三维资源服务器设置有唯一的加密字符串,多个小程序均设置有与三维资源服务器相同的加密字符串。
可选的,多个小程序分别设置有各自的加密字符串,三维资源服务器中设置有多个小程序分别对应的多个加密字符串。在接收到目标小程序发送的文件获取请求后,三维资源服务器将该目标小程序对应的字符串确定为目标加密字符串,从而基于目标加密字符串以及请求时间戳确定随机密钥。
在基于加密字符串确定请求时间戳的过程中,首先对请求时间戳对应的字符串以及加密字符串进行拼接,得到拼接字符串。
可选的,请求时间戳对应字符串为数字字符串,则将请求时间戳以及加密字符串拼接后得到的字符串可能为数字与字符混合的字符串,例如,请求时间戳对应字符串为“1999”,加密字符串为“ARMap”,则将请求时间戳对应字符串与加密字符串进行拼接后,得到的拼接字符串为“1999ARMap”。
随后,对拼接字符串进行信息摘要处理,得到摘要字符串。
进行信息摘要处理的过程可参照上述实施例中进行信息摘要处理的过程,本实施例对此不做赘述。
最后,将摘要字符串中目标位置处字符对应的编码索引相加,得到随机密钥。其中,编码索引是指字符在字符集中对应的索引值。
本申请实施例中得到随机密钥的过程可参照上述实施例中基于摘要字符串确定随机密钥的过程,本实施例对此不做赘述。
示意性的,请参考图4,其示出了本申请一个示例性实施例提供的确定随机密钥的示意图,包括加密流程以及解密流程。其中,在加密流程中,三维资源服务器将小程序键值(即加密字符串)与请求时间戳对应的字符串进行拼接得到拼接字符串,并将拼接字符串进行信息摘要处理(即计算Md5值),得到摘要字符串,最后将摘要字符串中目标位置处的字符对应的编码索引进行相加,得到随机密钥。图中,解密流程中,通过小程序中的三维资源服务器基于请求时间戳以及小程序键值得到拼接字符串,与加密流程相对应的计算摘要字符串,并将摘要字符串中目标位置处的字符对应的编码索引值进行相加,得到随机密钥,该随机密钥与加密过程中的随机密钥相同。
本申请实施例中,三维资源服务器以及小程序中均设置有加密字符串,能够提升对三维模型加密的安全性,即便在第三方获取到加密三维模型文件的情况下,未获取到密钥仍然无法使用该加密三维模型文件,保证了三维模型文件的私有性与安全性。
在三维资源服务器确定出随机密钥后,需要基于该随机密钥对目标三维文件进行加密,并在该加密文件发送至终端后,三维模型加载器对加密三维模型文件进行解密。能够在保护三维模型安全性的同时对三维模型文件进行渲染。
在一种可能的实施方式中,三维资源服务器采用位运算对就随机密钥以及三维文件进行处理,以得到加密三维模型文件。
可选的,位运算可以为异或运算或者同或运算。在采用异或运算时,某个字符(或数值)x与另一个数值m进行异或运算得到y,则再用y与m进行异或运算就可以还原为x,例如,a=123456,b=125,则a与b进行一次异或运算的结果为a=a^b=123453,此时,将a再次与b进行异或运算,得到的结果为a=a^b=123453^125=123456。同理,在采用同或运算时,某个字符(或数字)x与另一个数值m进行同或运算得到y,则再用y与m进行同或运算就可以还原x。因此,采用同或运算或异或运算的方式,能够使三维资源服务器进行加密过程与三维模型加载器进行解密过程采用相同的计算规则,即可实现对三维模型文件的加密以及对加密三维模型资源的解密,加、解密过程较为简单。
因此,在加密过程中三维资源服务器对加密三维模型文件和随机密钥进行运算加密得到目标三维模型文件。相对应的,在解密过程中,终端通过三维模型加载器对加密三维模型文件和随机密钥进行位运算解密,得到目标三维模型文件。
在加密过程中,三维资源服务器将目标三维模型文件与随机密钥进行为位运算,即为将随机密钥与目标三维模型文件对应的数据流中的数据依次进行位运算。例如,位运算为异或,目标三维模型文件对应数据流为[10001],随机密钥对应二进制数据为1,则将随机密钥与目标三维模型文件对应数据流的每个数据进行位运算得到的加密三维模型文件对应数据流为[01110]。
在解密过程中,将加密三维模型文件与随机密钥进行位运算,即为通过三维模型加载器将随机密钥与加密三维模型对应的数据流中的数据依次进行解密运算。例如,位运算为异或,加密三维模型文件对应二进制数据流为[01110],随机密钥对应二进制数据为1,则将随机密钥与加密三维模型文件对应数据流中数据进行位运算得到的目标三维模型文件对应数据流为[10001]。
示意性的,请参考图5,其示出了本申请一个示例性实施例提供的加、解密过程的示意图。
加密过程中,基于请求时间戳以及小程序键值(加密字符串)拼接后的拼接字符串进行信息摘要处理,得到摘要字符串,随后将摘要字符串中目标位置对应的编码索引相加,从而得到随机密钥。将随机密钥与目标三维模型文件对饮的数据流进行位运算,得到加密三维模型文件对应的数据流,对于数据流中字符类型,可能为整型或者字符型等等,本实施例对此不做限定。在解密过程中,确定随机密钥的方式与加密过程相同,在三维模型加载器确定随机密钥后,将随机密钥与加密三维模型文件对应的数据流进行位运算,得到目标三维模型文件对应的数据流。
在一种可能的实施方式中,三维资源服务器向终端发送的三维模型文件通常会以数据流的形式进行发送,但是由于三维模型文件对应的数据流中字符数量较多,则在进行位运算时若将随机密钥与数据流中每一个字符进行位运算,则运算量太大,可能会导致小程序崩溃。因此,可以将该数据流中多位二进制字符转化为一位字符,减小数据流中的字符数量,从而避免位运算的计算量较大。
因此,在三维资源服务器确定文件获取请求所指示的目标三维模型文件之后,首先将目标三维模型文件对应的第三数据流换为第四数据流,第四数据流的字符数量小于第三数据流的字符数量。其中,第四数据流即为能够用于传输的数据形式(可能为2进制数据流)。
可选的,三维资源服务器将目标三维模型文件读取转化为二进制流ArrayBuffer(阵列缓冲)数组,即第四数据流,在将二进制流ArrayBuffer数组中每8位二进制数据转化为8位无符号类型的数字,即将二进制流ArrayBuffer数组转化为Uint8Array(8位无符号整型数组)数据,即为第三数据流。
随后,对第三数据流与随机密钥进行位运算加密,得到加密三维模型文件。
可选的,第三数据流为Uint8Array数据,则在进行位运算的过程中,将整型的随机密钥与Uint8Array数据中每一个整型字符进行异或运算,得到新的Uint8Array数据,即为已加密的Uint8Array数据。
通过上述方式得到的第三数据流形式的目标三维模型文件无法直接以第三数据流的形式进行发送,因此,在向终端发送加密三维模型文件时,还需要将其转化为与第四数据流相同形式的数据流,即为第一数据流,则三维资源服务器向终端发送加密三维模型文件对应的第一数据流。例如,将已加密的Uint8Array数据重新转化为已加密的二进制流ArrayBuffer数组,即为第一数据流。
相对应的,终端接收到的加密三维模型文件即为终端接收到的加密三维模型文件对应的第一数据流。
则为避免第一数据流中字符数量过多导致计算量较大,则同样将第一数据流中的多位字符转化为一位字符,即通过三维模型加载器,将第一数据流转换为第二数据流。其中,第二数据流的字符数量小于第一数据流的字符数量。
随后,在通过三维模型加载器对第二数据流与随机密钥进行位运算解密,得到目标三维模型文件。
可选的,将接收到的加密ArrayBuffer数组(即第一数据流)转化为加密Uint8Array数据(即第三数据流)。随后,三维模型加载器将整型的随机密钥与加密Uint8Array数据中内一个整型字符进行异或运算,得到新的Uint8Array数据,即为目标三维模型文件对应的Uint8Array数据。此外,三维模型加载器渲染目标三维模型之前,三维模型加载器将Uint8Array数据重新转化为ArrayBuffer数组。
示意性的,在小程序中基于三维模型加载器加载三维模型前,需要将数据流转化为字符串,可以采用String.fromCharCode方法对数据流进行转换,进行数据流转换的代码可以为下述代码段。
“let s=’’;For(let i=0,il-array.lentch;i<il;i++){S+=String.fromCharCode(array[i]);}”。
示意性的,在位运算为异或运算的情况下,通过三维模型加载器对加密三维模型文件进行解密可以采用下述代码段。
“let s=’’;For(let i=0,il=array.length;i<il;i++){//secretKeyNum是通过计算获取的随机密钥Let decode=array[i]^secretKeyNum;S+=String.fromCharCode(decode);}”。
本申请实施例中,采用位运算的方式基于随机密钥对目标三维文本进行加密,相对应的,通过位运算的方式对加密三维模型文件进行解密,位运算的计算过程较为简单,能够兼顾小程序环境下进行解密时的性能,也能够避免因进行解密造成小程序的性能变差的问题,并且三维模型加载器的复杂度较低。
请参考图6,其示出了本申请一个示例性实施例提供的小程序中渲染三维模型的流程图。该过程包括以下步骤。
步骤601,在目标小程序存在三维模型显示需求的情况下,终端通过目标小程序中的三维模型加载器向三维资源服务器发送文件获取请求。
步骤602,在接收到文件获取请求的情况下,三维资源服务器对请求时间戳对应的字符串以及加密字符串进行拼接,得到拼接字符串。
步骤603,三维资源服务器对拼接字符串进行信息摘要处理,得到摘要字符串。
步骤604,三维资源服务器将摘要字符串中目标位置处字符对应的编码索引相加,得到随机密钥。
其中,编码索引是指字符在字符集中对应的索引值。
步骤605,三维资源服务器对目标三维模型文件和随机密钥进行位运算加密,得到加密三维模型文件。
步骤606,三维资源服务器向终端发送加密三维模型文件对应的第一数据流。
步骤607,终端对请求时间戳对应的字符串以及加密字符串进行拼接,得到拼接字符串。
步骤608,终端对拼接字符串进行信息摘要处理,得到摘要字符串。
步骤609,终端将摘要字符串中目标位置处字符对应的编码索引相加,得到随机密钥。
步骤610,终端通过三维模型加载器,将第一数据流转换为第二数据流,第二数据流的字符数量小于第一数据流的字符数量。
步骤611,终端对第二数据流与随机密钥进行位运算解密,得到目标三维模型文件。
步骤612,终端通过三维模型加载器解析目标三维模型文件,并基于解析结果在目标小程序中渲染目标三维模型。
需要说明的是,本申请实施例中各步骤的具体实施方式均可以参照上述实施例中所示出的实施方式,本实施例在此不做赘述。
本申请实施例中,采用位运算的方式基于随机密钥对目标三维文本进行加、解密,能够避免因进行解密造成小程序的性能问题,并且三维模型加载器的复杂度较低;并且三维资源服务器以及小程序中均设置有加密字符串,能够进一步提升对三维模型加密的安全性。
示意性的,请参考图7,其示出了本申请一个示例性实施例提供的小程序中进行三维模型渲染过程的示意图。在接收到终端701发送的文件获取请求的情况下,三维资源服务器702对目标三维模型文件进行加密,得到加密三维模型文件对应的数据流。三维资源服务器702向三维模型加载器返回加密三维模型文件。三维模型加载器对加密三维模型进行解密后,读取目标三维模型文件中的数据,实现网格对象、纹理对象以及动画对象等等,并且在小程序提供的虚拟场景中渲染目标三维模型。
由于加密过程以及解密过程中需要由三维资源服务器或者小程序中的三维模型加载器进行一定计算,因此会产生一定的计算时延,为了降低渲染三维模型的感知时延,即降低用户对渲染三维模型过程中延迟的感知,则可以采用预先确定随机密钥的方式以降低感知时延。
在终端中,在文件获取请求发送成功的情况下,通过三维模型加载器,基于请求时间戳确定随机密钥。
在文件获取请求发送过程的情况下,即开始确定随机密钥,能够从三维资源服务器中获取加密三维模型文件的同时由三维模型加载器同步进行随机密钥的计算,在接收到三维资源服务器发送的加密三维模型文件后立即调用已确定的随机密钥进行解密,能够节省三维模型加载器确定密钥的时间。
在三维资源服务器中,为在文件请求过程中减小计算随机密钥的时间,则可以在三维资源服务器中设定密钥列表,密钥列表用于表征随机密钥与不同时间戳的对应关系。由三维资源服务器计算目标时长内不同时刻的请求时间戳,确定目标时长内不同时间戳对应的随机密钥且将随机密钥填充至密钥列表。例如,该目标时长可以为3分钟,三维资源服务器以当前时刻作为目标时长的起始时刻,计算当前时刻之后的3分钟内各个时间戳对应的随机密钥,并将这3分钟内各时间戳对应的密钥填充至密钥列表。
并且,在目标时长内的随机密钥计算结束后开始计时,在达到时长阈值的情况下,基于目标时长内不同时刻的时间戳更新密钥列表。
则在接收到文件获取请求的情况下,基于请求时间戳从密钥列表中查询请求时间戳对应的随机密钥。从而利用随机密钥目标三维模型文件进行加密。
本申请实施例中,通过预先计算随机密钥的方式,在整个模型渲染过程中,能够减小三维资源服务器以及终端计算随机密钥的时延,有利于降低用户对渲染过程中,加密或解密带来的多余时延的感知。
在另一种可能的实施方式中,还可以通过复用随机秘钥的方式以降低渲染三维模型的感知时延,即降低用户对渲染三维模型过程中延迟的感知。本申请实施例中,随机密钥是基于请求时间戳获取得到的,在一些场景中,终端运行小程序的过程中,可能会在同一种应用场景中具有多次渲染三维模型的需求,即具有短时间内获取多个三维模型文件的需求。
在这种情况下,终端在发送第一文件获取请求的情况下,通过三维模型加载器获取第一文件获取请求的第一请求时间戳。并基于第一请求时间戳确定随机密钥。在该应用场景中首次发送第一文件获取请求,或者距离上一次发送文件获取请求间隔时长较长的情况下,终端需要根据第一请求时间戳确定出随机密钥,从而利用随机密钥对第一文件获取请求对应的第一加密三维模型文件进行解密,得到第一目标三维模型文件。
随后,在目标小程序具有渲染第二目标三维模型的需求的情况下,终端向三维资源服务器发送第二文件获取请求。在发送第二文件获取请求与发送第一文件获取请求的时间间隔未达到间隔阈值的情况下,利用随机秘钥对第二文件获取请求对应的第二加密三维模型文件进行解密,得到第二目标三维模型文件。
其中,间隔阈值可以为预先设定的时间长度,如5分钟或10分钟;也可以为根据不同应用场景变化的动态值,例如在导航场景中,该间隔阈值可以与导航时长相关,在游戏对局场景中,该时间间隔可以与对局时长相关。
可选的,可以通过第一文件获取请求的时间戳以及第二文件获取请求的时间戳判断第一文件获取请求与第二文件获取请求的间隔时长。
在目标小程序为导航小程序的情况下,该间隔阈值可以与导航时长相同,即连续两次发送文件获取请求的时间间隔小于导航时长的情况下,则可以复用随机密钥对第二加密三维模型文件进行解密。
具体的,终端响应于导航指令,通过目标小程序中的三维模型加载器获取预估导航时长。在目标小程序发送第二文件获取请求与发送第一文件获取请求的时间间隔小于预估导航时长的情况下,利用随机密钥对第二加密三维模型文件进行解密,得到第二目标三维模型文件。
可选的,在第二文件获取请求与发送第一文件获取请求的时间间隔小于预估导航时长的情况下,则当前导航未结束,对于同一导航行程中请求的加密目标三维模型文件,均可以采用同一随机密钥进行解密。
本申请实施例中,根据两次发送文件获取请求的时长间隔是否达到时长阈值确定是否重新计算随机密钥,在两次发送文件获取请求的时长间隔未达到时长阈值的情况下,对随机密钥进行复用,能够在三维模型渲染过程中减小计算随机密钥的时间,从而减小三维模型渲染的延迟。
在一种可能的应用场景中,目标小程序具有响应于拍摄指令识别图像,并渲染三维模型文件的功能。目标小程序可以用于在现实场景重识别特定的物体或图像,然后通过虚拟图像与用户进行互动。示意性的,请参考图8,其示出了本申请一个示例性实施例提供的目标小程序渲染的三维模型的示意图。图中的青铜器是目标小程序基于用户拍摄的图像进行识别得到物体,终端通过为资源加载器从三维资源服务器中获取与该青铜器对应的三维资源模型,并进行渲染,得到如图8所示的三维模型。
终端响应于拍摄指令,通过目标小程序中的三维模型加载器获取拍摄的待识别图像。并且,通过三维模型加载器向三维资源服务器发送包含待识别图像以及请求时间戳的文件获取请求,以便三维资源服务器识别待识别图像中的待识别对象,并发送待识别对象对应的目标三维模型的加密三维模型文件。
可选的,终端通过目标小程序识别待识别图像中的待识别对象,并通过三维模型加载器向三维资源服务器发送包含待识别对象以及请求时间戳的文件获取请求,以使三维资源服务器基于待识别对象确定目标三维模型,并发送待识别对象对应的目标三维模型的加密三维模型文件。
对于三维资源服务器,在接收到包含待识别图像以及请求时间戳的文件获取请求的情况下,识别待识别图像中的待识别对象,并基于待识别对象确定目标三维模型文件。对目标三维模型文件进行加密后,向终端发送待识别对象对应的目标三维模型的加密三维模型文件。
可选的,在接收到包含待识别图像以及请求时间戳的文件获取请求的情况下,识别待识别图像中的待识别对象,并且,获取待识别对象的相关信息。并将加密三维模型文件以及相关信息发送至终端,以编终端基于加密三维模型文件显示待识别对象对应的三维模型,并且在目标小程序界面中显示待识别对象的相关信息。
在另一种可能的应用场景中,目标小程序为导航小程序,该导航小程序可以提供在导航路线上显示与真实场景相似的三维模型的功能。
则终端响应于导航指令,通过目标小程序中的三维模型加载器获取导航路线信息。
并且,通过三维模型加载器向三维资源服务器发送包含导航路线信息的文件获取请求,以便三维资源服务器发送位于导航路线信息所指示导航路线上三维模型的加密三维模型文件。
在导航路线上可能对应有不同的三维模型文件,导航路线上三维模型的加密三维模型文件均采用同一随机密钥加密。
相应的,三维资源服务器接收到包含导航路线信息的文件获取请求的情况下,根据导航路线信息确定多个目标三维模型文件,并对多个三维模型文件分别进行加密,得到多个加密三维模型文件。
可选的,终端可以通过三维模型加载器确定导航路线信息确定位于导航路线上的三维模型对应的目标三维模型文件,并通过三维模型加载器向三维资源服务器发送包含多个目标三维模型文件对应目标文件名的文件请求指令,以便三维资源服务器基于目标文件调用目标三维模型文件进行加密。
请参考图9,其示出了本申请一个示例性实施例提供的导航小程序的导航界面示意图,在导航界面中显示有导航路线901,在响应于导航指令,通过三维模型加载器获取导航路线901导航路线信息。三维资源服务器返回该导航路线901中的加密三维模型文件。三维模型加载器对加密三维模型文件进行解密后得到该导航路线901对应的目标三维模型文件。终端检测到当前所处位置达到导航路线中第一位置902后,通过三维模型加载器在导航界面中渲染该当行路线周边场景的三维模型,如图中第一三维模型903、第二三维模型904以及第三三维模型905。
本申请实施例中,采用上述方式,能够在用户使用导航小程序时在到达导航路线中不同位置时展示与周围环境相对应的三维模型,并且,根据导航路线信息获取导航路线上的三维模型,能够在导航开始后未达到相应地点时率先加载不同地点对应的三维模型,能够在终端达到显示三维模型的地点后快速渲染三维模型,降低用户对三维模型渲染过程的感知。
图10是本申请一个示例性实施例提供的小程序中三维模型的渲染装置的结构框图,如图10所示,该装置用于终端,该装置包括以下内容。
发送模块1001,用于在目标小程序存在三维模型显示需求的情况下,通过所述目标小程序中的三维模型加载器向三维资源服务器发送文件获取请求,所述三维资源服务器存储有用于渲染目标三维模型的目标三维模型文件,所述文件获取请求包括请求时间戳;接收模块1002,用于通过所述三维模型加载器接收所述三维资源服务器发送的加密三维模型文件,所述加密三维模型文件由所述三维资源服务器对所述目标三维模型文件进行加密得到;确定模块1003,用于通过所述三维模型加载器,基于所述请求时间戳确定随机密钥;解密模块1004,用于通过所述三维模型加载器,利用所述随机密钥对所述加密三维模型文件进行解密,得到所述目标三维模型文件;渲染模块1005,用于通过所述三维模型加载器解析所述目标三维模型文件,并基于解析结果在所述目标小程序中渲染所述目标三维模型。
可选的,所述确定模块1003,用于对所述请求时间戳对应的字符串进行信息摘要处理,得到摘要字符串;将所述摘要字符串中目标位置处字符对应的编码索引相加,得到所述随机密钥,所述编码索引是指字符在字符集中对应的索引值。可选的,所述目标小程序以及所述三维资源服务器中设置有相同的加密字符串;所述确定模块1003,用于对所述请求时间戳对应的字符串以及所述加密字符串进行拼接,得到拼接字符串;对所述拼接字符串进行信息摘要处理,得到所述摘要字符串。
可选的,所述加密字符串为所述目标小程序的小程序键值,且不同小程序对应不同小程序键值。
可选的,存在至少两个所述三维模型文件的重要程度不同;所述确定模块1003,用于基于所述目标三维模型文件的重要程度,确定所述目标位置,不同重要程度对应的所述目标位置不同;将所述摘要字符串中所述目标位置处字符对应的所述编码索引相加,得到所述随机密钥。
可选的,所述加密三维模型文件通过位运算加密得到;所述解密模块1004,用于对所述加密三维模型文件和所述随机密钥进行位运算解密,得到所述目标三维模型文件。
可选的,接收模块1002,用于通过所述三维模型加载器接收所述三维资源服务器发送的所述加密三维模型文件对应的第一数据流;所述解密模块1004,用于通过所述三维模型加载器,将所述第一数据流转换为第二数据流,所述第二数据流的字符数量小于所述第一数据流的字符数量;对所述第二数据流与所述随机密钥进行位运算解密,得到所述目标三维模型文件。
可选的,所述确定模块1003,用于在所述文件获取请求发送成功的情况下,通过所述三维模型加载器,基于所述请求时间戳确定所述随机密钥。
可选的,所述确定模块1003,用于在发送第一文件获取请求的情况下,通过所述三维模型加载器获取第一文件获取请求的第一请求时间戳;基于所述第一请求时间戳确定所述随机密钥;所述解密模块1004,用于利用所述随机密钥对所述第一文件获取请求对应的第一加密三维模型文件进行解密,得到第一目标三维模型文件;在发送第二文件获取请求与发送所述第一文件获取请求的时间间隔未达到间隔阈值的情况下,利用所述随机密钥对所述第二文件获取请求对应的第二加密三维模型文件进行解密,得到第二目标三维模型文件。
可选的,所述目标小程序为导航小程序;所述装置还包括获取模块,所述获取模块用于响应于导航指令,通过所述目标小程序中的所述三维模型加载器获取预估导航时长;所述解密模块1004,用于在发送所述第二文件获取请求与发送所述第一文件获取请求的时间间隔小于所述预估导航时长的情况下,利用所述随机密钥对所述第二加密三维模型文件进行解密,得到所述第二目标三维模型文件。
可选的,所述发送模块1001,用于响应于拍摄指令,通过所述目标小程序中的所述三维模型加载器获取拍摄的待识别图像;通过所述三维模型加载器向所述三维资源服务器发送包含所述待识别图像以及所述请求时间戳的所述文件获取请求,以便所述三维资源服务器识别所述待识别图像中的待识别对象,并发送所述待识别对象对应的所述目标三维模型的所述加密三维模型文件。
需要说明的是:上述实施例提供的装置,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其实现过程详见方法实施例,这里不再赘述。
图11是本申请另一个示例性实施例提供的小程序中三维模型的渲染装置的结构框图,如图11所示,该装置用于三维资源服务器,该装置包括以下内容。
接收模块1101,用于接收终端发送的文件获取请求,所述文件获取请求用于表征终端中目标小程序存在目标三维模型显示需求,所述三维资源服务器存储有用于渲染所述目标三维模型的目标三维模型文件,所述文件获取请求包括请求时间戳;确定模块1102,用于基于所述请求时间戳确定随机密钥;加密模块1103,用于利用所述随机密钥对所述目标三维模型文件进行加密,得到加密三维模型文件;发送模块1104,用于向所述终端发送所述加密三维模型文件。
可选的,所述确定模块1102,用于对所述请求时间戳对应的字符串进行信息摘要处理,得到摘要字符串;将所述摘要字符串中目标位置处字符对应的编码索引相加,得到所述随机密钥,所述编码索引是指字符在字符集中对应的索引值。
可选的,所述目标小程序以及所述三维资源服务器中设置有相同的加密字符串;所述确定模块1102,用于对所述请求时间戳对应的字符串以及所述加密字符串进行拼接,得到拼接字符串;对所述拼接字符串进行信息摘要处理,得到所述摘要字符串。
可选的,所述加密模块1103,用于对所述目标三维模型文件和所述随机密钥进行位运算加密,得到所述加密三维模型文件,以使所述终端对所述加密三维模型文件进行位运算解密,得到所述目标三维模型文件。
可选的,所述加密模块1103,用于将所述目标三维模型文件对应的第三数据流换为第四数据流,所述第四数据流的字符数量小于所述第三数据流的字符数量;对所述第三数据流与所述随机密钥进行位运算加密,得到所述加密三维模型文件;所述发送模块1104,用于向所述终端发送所述加密三维模型文件对应的第一数据流。
可选的,所述确定模块1102,用于基于目标时长内的不同时刻的所述请求时间戳,确定所述目标时长内的不同时间戳对应的所述随机密钥,且将所述随机密钥填充至密钥列表,所述密钥列表用于表征所述随机密钥与不同时间戳的对应关系;在接收到所述文件获取请求的情况下,基于所述请求时间戳从所述密钥列表中查询所述请求时间戳对应的所述随机密钥;所述确定模块1102,还用于在达到时长阈值的情况下,基于所述目标时长内的不同时刻的时间戳更新所述密钥列表。
可选的,所述文件获取请求包括请求时间戳以及待识别图像;所述装置还包括:识别模块,用于识别所述待识别图像中的待识别对象;所述发送模块1104,还用于向所述终端发送所述待识别对象对应的目标三维模型的所述加密三维模型文件。
综上所述,在本实施例中,在小程序具有三维模型渲染需求的情况下,通过目标小程序中的三维模型加载器向资源服务器请求获取三维模型文件,并且,通过三维模型加载器对获取到的加密三维模型文件进行界解密。在解密过程中,终端还能够通过三维模型加载器,基于请求时间戳计算用于对加密三维模型文件进行解密的随机密钥。实现了在小程序场景下对三维模型文件对应三维模型的渲染,在此过程中,通过三维模型加载实现目标三维文件的获取以及对加密三维模型文件进行解密,能够确保在小程序场景中调用的三维模型文件的安全性以及私有性。
请参考图12,其示出了本申请一个示例性实施例提供的计算机设备的结构示意图,所述计算机设备可以实现为上述实施例中的三维资源服务器。具体来讲:所述计算机设备1200包括中央处理单元(Central Processing Unit,CPU)1201、包括随机存取存储器1202和只读存储器1203的系统存储器1204,以及连接系统存储器1204和中央处理单元1201的系统总线1205。所述计算机设备1200还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(Input/Output,I/O系统)1206,和用于存储操作系统1213、应用程序1214和其他程序模块1215的大容量存储设备1207。
在一些实施例中,所述基本输入/输出系统1206包括有用于显示信息的显示器1208和用于用户输入信息的诸如鼠标、键盘之类的输入设备1209。其中所述显示器1208和输入设备1209都通过连接到系统总线1205的输入输出控制器1210连接到中央处理单元1201。所述基本输入/输出系统1206还可以包括输入输出控制器1210以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器1210还提供输出到显示屏、打印机或其他类型的输出设备。
所述大容量存储设备1207通过连接到系统总线1205的大容量存储控制器(未示出)连接到中央处理单元1201。所述大容量存储设备1207及其相关联的计算机可读介质为计算机设备1200提供非易失性存储。也就是说,所述大容量存储设备1207可以包括诸如硬盘或者驱动器之类的计算机可读介质(未示出)。
不失一般性,所述计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括随机存取记忆体(Random Access Memory,RAM)、只读存储器(Read Only Memory,ROM)、闪存或其他固态存储其技术,只读光盘(Compact Disc Read-Only Memory,CD-ROM)、数字通用光盘(Digital Versatile Disc,DVD)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述的系统存储器1204和大容量存储设备1207可以统称为存储器。
存储器存储有一个或多个程序,一个或多个程序被配置成由一个或多个中央处理单元1201执行,一个或多个程序包含用于实现上述方法的指令,中央处理单元1201执行该一个或多个程序实现上述各个方法实施例提供的方法。
根据本申请的各种实施例,所述计算机设备1200还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即计算机设备1200可以通过连接在所述系统总线1205上的网络接口单元1211接到网络1212,或者说,也可以使用网络接口单元1211来连接到其他类型的网络或远程计算机系统(未示出)。
所述存储器还包括一个或者一个以上的程序,所述一个或者一个以上程序存储于存储器中,所述一个或者一个以上程序包含用于进行本申请实施例提供的方法中由计算机设备所执行的步骤。
请参考图13,其示出了本申请一个示例性实施例提供的终端1300的结构框图。该终端1300可以是便携式移动终端,比如:智能手机、平板电脑、动态影像专家压缩标准音频层面3(Moving Picture Experts Group Audio Layer III,MP3)播放器、动态影像专家压缩标准音频层面4(Moving Picture Experts Group Audio Layer IV,MP4)播放器。终端1300还可能被称为用户设备、便携式终端等其他名称。
通常,终端1300包括有:处理器1301和存储器1302。
处理器1301可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1301可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable LogicArray,PLA)中的至少一种硬件形式来实现。处理器1301也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称中央处理器(CentralProcessing Unit,CPU);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1301可以在集成有图像处理器(Graphics Processing Unit,GPU),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1301还可以包括人工智能(Artificial Intelligence,AI)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器1302可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是有形的和非暂态的。存储器1302还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1302中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器1301所执行以实现本申请实施例提供的数据显示方法。
在一些实施例中,终端1300还可选包括有:外围设备接口1303和至少一个外围设备。
外围设备接口1303可被用于将输入/输出(Input /Output,I/O)相关的至少一个外围设备连接到处理器1301和存储器1302。在一些实施例中,处理器1301、存储器1302和外围设备接口1303被集成在同一芯片或电路板上;在一些其他实施例中,处理器1301、存储器1302和外围设备接口1303中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
本领域技术人员可以理解,图13中示出的结构并不构成对终端1300的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
本申请实施例还提供一种计算机可读存储介质,该可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现上述任一实施例所述的小程序中三维模型的渲染方法。
本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。终端的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该终端执行上述方面提供的小程序中三维模型的渲染方法。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,该计算机可读存储介质可以是上述实施例中的存储器中所包含的计算机可读存储介质;也可以是单独存在,未装配入终端中的计算机可读存储介质。该计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现上述任一方法实施例所述的小程序中三维模型的渲染方法。
可选地,该计算机可读存储介质可以包括:ROM、RAM、固态硬盘(Solid StateDrives,SSD)或光盘等。其中,RAM可以包括电阻式随机存取记忆体(Resistance RandomAccess Memory,ReRAM)和动态随机存取存储器(Dynamic Random Access Memory,DRAM)。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
需要说明的是,本申请所涉及的信息(包括但不限于用户设备信息、用户个人信息等)、数据(包括但不限于用于分析的数据、存储的数据、展示的数据等)以及信号,均为经用户授权或者经过各方充分授权的,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
且本申请在收集用户的相关数据之前以及在收集用户的相关数据的过程中,都可以显示提示界面、弹窗或输出语音提示信息,该提示界面、弹窗或语音提示信息用于提示用户当前正在搜集其相关数据,使得本申请仅仅在获取到用户对该提示界面或者弹窗发出的确认操作后,才开始执行获取用户相关数据的相关步骤,否则(即未获取到用户对该提示界面或者弹窗发出的确认操作时),结束获取用户相关数据的相关步骤,即不获取用户的相关数据。
应当理解的是,在本文中提及的“多个”是指两个或两个以上。且本文中提及的“第一”、“第二”等用于区别类似对象,而并不用于限定特定的顺序或先后次序。另外,本文中描述的步骤编号,仅示例性示出了步骤间的一种可能的执行先后顺序,在一些其它实施例中,上述步骤也可以不按照编号顺序来执行,如两个不同编号的步骤同时执行,或者两个不同编号的步骤按照与图示相反的顺序执行,本申请实施例对此不作限定。
以上所述仅为本申请的可选的实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (18)
1.一种小程序中三维模型的渲染方法,其特征在于,所述方法用于终端,所述方法包括:
在目标小程序存在三维模型显示需求的情况下,通过所述目标小程序中的三维模型加载器向三维资源服务器发送文件获取请求,所述三维资源服务器存储有用于渲染目标三维模型的目标三维模型文件,所述文件获取请求包括请求时间戳;
通过所述三维模型加载器接收所述三维资源服务器发送的加密三维模型文件,所述加密三维模型文件由所述三维资源服务器对所述目标三维模型文件进行加密得到;
通过所述三维模型加载器,基于所述请求时间戳确定随机密钥;
通过所述三维模型加载器,利用所述随机密钥对所述加密三维模型文件进行解密,得到所述目标三维模型文件;
通过所述三维模型加载器解析所述目标三维模型文件,并基于解析结果在所述目标小程序中渲染所述目标三维模型。
2.根据权利要求1所述的方法,其特征在于,所述基于所述请求时间戳确定随机密钥,包括:
对所述请求时间戳对应的字符串进行信息摘要处理,得到摘要字符串;
将所述摘要字符串中目标位置处字符对应的编码索引相加,得到所述随机密钥,所述编码索引是指字符在字符集中对应的索引值。
3.根据权利要求2所述的方法,其特征在于,所述目标小程序以及所述三维资源服务器中设置有相同的加密字符串;
所述对所述请求时间戳对应的字符串进行信息摘要处理,得到摘要字符串,包括:
对所述请求时间戳对应的字符串以及所述加密字符串进行拼接,得到拼接字符串;
对所述拼接字符串进行信息摘要处理,得到所述摘要字符串。
4.根据权利要求3所述的方法,其特征在于,所述加密字符串为所述目标小程序的小程序键值,且不同小程序对应不同小程序键值。
5.根据权利要求2所述的方法,其特征在于,存在至少两个所述三维模型文件的重要程度不同;
所述将所述摘要字符串中目标位置处字符对应的编码索引相加,得到所述随机密钥,包括:
基于所述目标三维模型文件的重要程度,确定所述目标位置,不同重要程度对应的所述目标位置不同;
将所述摘要字符串中所述目标位置处字符对应的所述编码索引相加,得到所述随机密钥。
6.根据权利要求1所述的方法,其特征在于,所述加密三维模型文件通过位运算加密得到;
所述利用所述随机密钥对所述加密三维模型文件进行解密,得到所述目标三维模型文件,包括:
对所述加密三维模型文件和所述随机密钥进行位运算解密,得到所述目标三维模型文件。
7.根据权利要求6所述的方法,其特征在于,所述通过所述三维模型加载器接收所述三维资源服务器发送的加密三维模型文件,包括:
通过所述三维模型加载器接收所述三维资源服务器发送的所述加密三维模型文件对应的第一数据流;
所述对所述加密三维模型文件和所述随机密钥进行位运算解密,得到所述目标三维模型文件,包括:
通过所述三维模型加载器,将所述第一数据流转换为第二数据流,所述第二数据流的字符数量小于所述第一数据流的字符数量;
对所述第二数据流与所述随机密钥进行位运算解密,得到所述目标三维模型文件。
8.根据权利要求1所述的方法,其特征在于,所述通过所述三维模型加载器,基于所述请求时间戳确定随机密钥,包括:
在所述文件获取请求发送成功的情况下,通过所述三维模型加载器,基于所述请求时间戳确定所述随机密钥。
9.根据权利要求1所述的方法,其特征在于,所述通过所述三维模型加载器,基于所述请求时间戳确定随机密钥,包括:
在发送第一文件获取请求的情况下,通过所述三维模型加载器获取第一文件获取请求的第一请求时间戳;
基于所述第一请求时间戳确定所述随机密钥;
所述利用所述随机密钥对所述加密三维模型文件进行解密,得到所述目标三维模型文件,包括:
利用所述随机密钥对所述第一文件获取请求对应的第一加密三维模型文件进行解密,得到第一目标三维模型文件;
在发送第二文件获取请求与发送所述第一文件获取请求的时间间隔未达到间隔阈值的情况下,利用所述随机密钥对所述第二文件获取请求对应的第二加密三维模型文件进行解密,得到第二目标三维模型文件。
10.根据权利要求9所述的方法,其特征在于,所述目标小程序为导航小程序;
所述方法还包括:
响应于导航指令,通过所述目标小程序中的所述三维模型加载器获取预估导航时长;
所述在发送第二文件获取请求与发送所述第一文件获取请求的时间间隔未达到间隔阈值的情况下,利用所述随机密钥对所述第二文件获取请求对应的第二加密三维模型文件进行解密,得到第二目标三维模型文件,包括:
在发送所述第二文件获取请求与发送所述第一文件获取请求的所述时间间隔小于所述预估导航时长的情况下,利用所述随机密钥对所述第二加密三维模型文件进行解密,得到所述第二目标三维模型文件。
11.根据权利要求1所述的方法,其特征在于,所述在目标小程序存在三维模型显示需求的情况下,通过所述目标小程序中的三维模型加载器向三维资源服务器发送文件获取请求,包括:
响应于拍摄指令,通过所述目标小程序中的所述三维模型加载器获取拍摄的待识别图像;
通过所述三维模型加载器向所述三维资源服务器发送包含所述待识别图像以及所述请求时间戳的所述文件获取请求,以便所述三维资源服务器识别所述待识别图像中的待识别对象,并发送所述待识别对象对应的所述目标三维模型的所述加密三维模型文件。
12.一种小程序中三维模型的渲染方法,其特征在于,所述方法用于三维资源服务器;
所述方法包括:
接收终端发送的文件获取请求,所述文件获取请求用于表征终端中目标小程序存在目标三维模型显示需求,所述三维资源服务器存储有用于渲染所述目标三维模型的目标三维模型文件,所述文件获取请求包括请求时间戳;
基于所述请求时间戳确定随机密钥;
利用所述随机密钥对所述目标三维模型文件进行加密,得到加密三维模型文件;
向所述终端发送所述加密三维模型文件。
13.根据权利要求12所述的方法,其特征在于,所述基于所述请求时间戳确定随机密钥,包括:
基于目标时长内的不同时刻的所述请求时间戳,确定所述目标时长内的不同时间戳对应的所述随机密钥,且将所述随机密钥填充至密钥列表,所述密钥列表用于表征所述随机密钥与不同时间戳的对应关系;
在接收到所述文件获取请求的情况下,基于所述请求时间戳从所述密钥列表中查询所述请求时间戳对应的所述随机密钥;
所述方法还包括:
在达到时长阈值的情况下,基于所述目标时长内的不同时刻的时间戳更新所述密钥列表。
14.一种小程序中三维模型的渲染装置,其特征在于,所述装置用于终端,所述装置包括:
发送模块,用于在目标小程序存在三维模型显示需求的情况下,通过所述目标小程序中的三维模型加载器向三维资源服务器发送文件获取请求,所述三维资源服务器存储有用于渲染目标三维模型的目标三维模型文件,所述文件获取请求包括请求时间戳;
接收模块,用于通过所述三维模型加载器接收所述三维资源服务器发送的加密三维模型文件,所述加密三维模型文件由所述三维资源服务器对所述目标三维模型文件进行加密得到;
确定模块,用于通过所述三维模型加载器,基于所述请求时间戳确定随机密钥;
解密模块,用于通过所述三维模型加载器,利用所述随机密钥对所述加密三维模型文件进行解密,得到所述目标三维模型文件;
渲染模块,用于通过所述三维模型加载器解析所述目标三维模型文件,并基于解析结果在所述目标小程序中渲染所述目标三维模型。
15.一种小程序中三维模型的渲染装置,其特征在于,所述装置用于三维资源服务器;
所述装置包括:
接收模块,用于接收终端发送的文件获取请求,所述文件获取请求用于表征终端中目标小程序存在目标三维模型显示需求,所述三维资源服务器存储有用于渲染所述目标三维模型的目标三维模型文件,所述文件获取请求包括请求时间戳;
确定模块,用于基于所述请求时间戳确定随机密钥;
加密模块,用于利用所述随机密钥对所述目标三维模型文件进行加密,得到加密三维模型文件;
发送模块,用于向所述终端发送所述加密三维模型文件。
16.一种终端,其特征在于,所述终端包括处理器和存储器,所述存储器中存储有至少一段程序,所述至少一段程序由所述处理器加载并执行以实现如权利要求1至11任一所述的小程序中三维模型的渲染方法。
17.一种服务器,其特征在于,所述服务器包括处理器和存储器,所述存储器中存储有至少一段程序,所述至少一段程序由所述处理器加载并执行以实现如权利要求12至13任一所述的小程序中三维模型的渲染方法。
18.一种计算机可读存储介质,其特征在于,所述可读存储介质中存储有至少一段程序,所述至少一段程序由处理器加载并执行以实现如权利要求1至11或权利要求12至13任一所述的小程序中三维模型的渲染方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310985820.XA CN116702218B (zh) | 2023-08-07 | 2023-08-07 | 小程序中三维模型的渲染方法、装置、终端及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310985820.XA CN116702218B (zh) | 2023-08-07 | 2023-08-07 | 小程序中三维模型的渲染方法、装置、终端及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116702218A CN116702218A (zh) | 2023-09-05 |
CN116702218B true CN116702218B (zh) | 2023-12-05 |
Family
ID=87832557
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310985820.XA Active CN116702218B (zh) | 2023-08-07 | 2023-08-07 | 小程序中三维模型的渲染方法、装置、终端及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116702218B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7266616B1 (en) * | 2001-08-08 | 2007-09-04 | Pasternak Solutions Llc | Method and system for digital rendering over a network |
CN103106680A (zh) * | 2013-02-16 | 2013-05-15 | 赞奇科技发展有限公司 | 基于云计算架构的三维图形渲染的实现方法及云服务系统 |
WO2020164280A1 (zh) * | 2019-02-13 | 2020-08-20 | 平安科技(深圳)有限公司 | 数据传输加密方法、装置及存储介质、服务器 |
CN111667395A (zh) * | 2020-06-03 | 2020-09-15 | 南京师范大学 | 一种三维模型版权认证方法 |
EP3761647A1 (en) * | 2019-07-05 | 2021-01-06 | Tiledmedia B.V. | Methods and devices for rendering a video on a display |
CN114445574A (zh) * | 2021-12-30 | 2022-05-06 | 北京优锘科技有限公司 | 将GeoJSON数据格式转换为三维GLB格式的方法、装置和设备 |
WO2022206349A1 (zh) * | 2021-04-02 | 2022-10-06 | 腾讯科技(深圳)有限公司 | 一种信息验证的方法、相关装置、设备以及存储介质 |
CN115361198A (zh) * | 2022-08-17 | 2022-11-18 | 中国工商银行股份有限公司 | 解密方法、加密方法、装置、计算机设备和存储介质 |
CN115761086A (zh) * | 2022-11-09 | 2023-03-07 | 中国石油化工股份有限公司 | 资产模型的三维展示方法、装置、存储介质及智能终端 |
CN115794424A (zh) * | 2023-02-13 | 2023-03-14 | 成都古河云科技有限公司 | 一种通过分布式架构访问三维模型的方法 |
CN115880416A (zh) * | 2021-09-28 | 2023-03-31 | 广州酷狗计算机科技有限公司 | 三维模型的显示方法、装置、服务器及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10965453B2 (en) * | 2018-09-14 | 2021-03-30 | Beijing Jingdong Shangke Information Technology Co., Ltd. | System and method for authenticated encryption based on device fingerprint |
-
2023
- 2023-08-07 CN CN202310985820.XA patent/CN116702218B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7266616B1 (en) * | 2001-08-08 | 2007-09-04 | Pasternak Solutions Llc | Method and system for digital rendering over a network |
CN103106680A (zh) * | 2013-02-16 | 2013-05-15 | 赞奇科技发展有限公司 | 基于云计算架构的三维图形渲染的实现方法及云服务系统 |
WO2020164280A1 (zh) * | 2019-02-13 | 2020-08-20 | 平安科技(深圳)有限公司 | 数据传输加密方法、装置及存储介质、服务器 |
EP3761647A1 (en) * | 2019-07-05 | 2021-01-06 | Tiledmedia B.V. | Methods and devices for rendering a video on a display |
CN111667395A (zh) * | 2020-06-03 | 2020-09-15 | 南京师范大学 | 一种三维模型版权认证方法 |
WO2022206349A1 (zh) * | 2021-04-02 | 2022-10-06 | 腾讯科技(深圳)有限公司 | 一种信息验证的方法、相关装置、设备以及存储介质 |
CN115880416A (zh) * | 2021-09-28 | 2023-03-31 | 广州酷狗计算机科技有限公司 | 三维模型的显示方法、装置、服务器及存储介质 |
CN114445574A (zh) * | 2021-12-30 | 2022-05-06 | 北京优锘科技有限公司 | 将GeoJSON数据格式转换为三维GLB格式的方法、装置和设备 |
CN115361198A (zh) * | 2022-08-17 | 2022-11-18 | 中国工商银行股份有限公司 | 解密方法、加密方法、装置、计算机设备和存储介质 |
CN115761086A (zh) * | 2022-11-09 | 2023-03-07 | 中国石油化工股份有限公司 | 资产模型的三维展示方法、装置、存储介质及智能终端 |
CN115794424A (zh) * | 2023-02-13 | 2023-03-14 | 成都古河云科技有限公司 | 一种通过分布式架构访问三维模型的方法 |
Non-Patent Citations (1)
Title |
---|
协同设计中CAD模型局部变形加密方法;吴亦奇;何发智;张德军;;计算机辅助设计与图形学学报(第10期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN116702218A (zh) | 2023-09-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10958416B2 (en) | Encrypted and compressed data transmission with padding | |
CN108647527B (zh) | 文件打包、文件包解包方法、装置及网络设备 | |
WO2016045641A2 (zh) | 数据块储存方法、数据查询方法和数据修改方法 | |
CN114329298B (zh) | 一种页面呈现方法、装置、电子设备及存储介质 | |
CA3045675A1 (en) | System and method for decentralized digital structured data storage, management, and authentication using blockchain | |
CN112417485B (zh) | 一种基于可信执行环境的模型训练方法、系统及装置 | |
CN112434326B (zh) | 一种基于数据流的可信计算方法及装置 | |
CN115237853A (zh) | 数据查询的方法、装置、电子设备和存储介质 | |
CN111611621A (zh) | 基于区块链的分布式数据加密存储方法和电子设备 | |
CN114404960A (zh) | 云游戏资源数据处理方法、装置、计算机设备和存储介质 | |
CN112506878A (zh) | 文件处理方法、装置、存储介质及电子设备 | |
CN111881209A (zh) | 异构数据库的数据同步方法、装置、电子设备及介质 | |
CN114785524A (zh) | 电子印章生成方法、装置、设备和介质 | |
CN116702218B (zh) | 小程序中三维模型的渲染方法、装置、终端及存储介质 | |
CN112202555A (zh) | 基于信息的属性生成随机数的信息处理方法、装置及设备 | |
CN116541320A (zh) | 一种智能io模块总线通讯方法、io模块、终端及介质 | |
CN115080147A (zh) | 基于人工智能的h5页面加载方法、装置、设备及介质 | |
CN111130788B (zh) | 数据处理方法和系统、数据读取方法和iSCSI服务器 | |
CN113918517A (zh) | 多类型文件集中管理方法、装置、设备及存储介质 | |
CN111949738A (zh) | 基于区块链的数据存储去重方法、终端设备和存储介质 | |
CN111324586A (zh) | 一种基于缓存的图片显示方法、装置、电子设备及介质 | |
CN110781523B (zh) | 用于处理信息的方法和装置 | |
CN115296821B (zh) | 一种用于数字藏品管理的数据处理系统 | |
CN109462604A (zh) | 一种数据传输方法、装置、设备及存储介质 | |
CN116318686B (zh) | 一种数据加密传输方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |