System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于Lua脚本的跨平台数据转换方法技术_技高网

一种基于Lua脚本的跨平台数据转换方法技术

技术编号:42668387 阅读:6 留言:0更新日期:2024-09-10 12:23
本发明专利技术涉及跨平台数据转换技术领域,特别是涉及一种基于Lua脚本的跨平台数据转换方法。本方案编写Lua脚本并上传至云端,从云端下载Lua脚本以生成加密的LuaModel文件,并将生成的LuaModel文件存储至本地资源库;读取存储在本地资源库中的LuaModel文件并解密,利用Lua脚本加载器加载与载入平台的待转换数据相对应的Lua文件,从而对待转换数据进行解析。该方案基于Lua脚本语言构建的数据转换模型实现了跨平台数据转换,并且所编写的Lua脚本能够在多种平台复用,从而提高多种平台动态化迭代更新的效率,并降低编程成本。

【技术实现步骤摘要】

本专利技术涉及跨平台数据转换,特别是涉及一种基于lua脚本的跨平台数据转换方法。


技术介绍

1、现如今互联网业务快速发展,用户对客户端的业务需求也越来越丰富和复杂,使得客户端的版本更新迭代逐渐跟不上业务的发展变化。因此,对应用进行动态化更新成为当前亟待解决的技术问题,这里的动态化更新不仅限于一些基本信息,更重要的是涉及到应用的主体框架,甚至布局、排版等。

2、目前,移动端主流的设计方案主要有web app、hybrid app、native app、flutterapp等。但这些设计方案都具有各自的局限性,比如,web app是利用h5打造的应用,存活于浏览器中,无需下载,属于轻量级应用,但由于通过html和css等模仿原生界面实现图像渲染的动态化更新,性能严重依赖于网络,开发者体验差;native view是通过native进行图像渲染,并通过修改native预设结构中的数据实现动态化更新,但不支持逻辑代码的替换,导致开发效率低且成本高。

3、可见,现有的各个平台的动态化更新主要是通过仅适用于该平台的代码实现,存在开发的代码不能跨平台复用、代码重复率高和开发效率低等不足。


技术实现思路

1、本专利技术的目的在于提供一种基于lua脚本的跨平台数据转换方法,用以解决现有技术存在的跨平台数据转换代码不能跨平台复用、开发效率低且成本高的问题。

2、为解决上述技术问题,本专利技术提供了一种基于lua脚本的跨平台数据转换方法,具体步骤如下:

3、1)编写lua脚本并上传至云端,从云端下载lua脚本以生成加密的luamodel文件,并将生成的luamodel文件存储至本地资源库;

4、2)读取存储在本地资源库中的luamodel文件并解密,利用lua脚本加载器加载与载入平台的待转换数据相对应的lua文件,从而对待转换数据进行解析。

5、有益效果:本专利技术通过编写lua脚本生成加密的luamodel文件并将其存储至本地资源库,利用lua脚本加载器加载与载入平台的待转换数据相对应的lua文件,从而对待转换数据进行解析之后生成另一种转换后的数据,也就是基于lua脚本语言构建的数据转换模型实现了跨平台数据转换,并且所编写的lua脚本能够在多种平台复用,从而提高多种平台动态化迭代更新的效率,并降低编程成本。

6、进一步地,luamodel文件需要迭代更新,具体的更新方式为,通过发送http协议获取最新的luamodel文件版本并与平台本地的luamodel文件版本进行比较,若本地的luamodel文件版本和最新的luamodel文件版本不一致,则下载最新的luamodel文件并进行校验和解密处理后覆盖本地的luamodel文件;或者,通过云端将最新的luamodel文件版本推送到平台,根据推送信息下载更新覆盖本地的luamodel文件。

7、有益效果:luamodel文件的更新方式有两种,一种是通过判断本地的luamodel文件版本是否为最新版本,并在不是最新版本时进行下载更新;另一种是通过向本地推送最新的luamodel文件版本,提示用户下载更新luamodel文件,如此,能够及时更新平台本地资源库中的lua脚本文件,从而保障平台动态化迭代更新的实时性。

8、进一步地,luamodel文件所对应的lua脚本内容是json数组的形式,且json数组以lua文件名称为key,以lua文件内容为value。

9、有益效果:本专利技术采用json数组的形式将各个lua文件的名称和内容以键值对的形式进行存储,不仅能够实现对大量lua文件的存储,而且便于实现对各个lua文件内容的管理,从而提高代码更新的效率。

10、进一步地,lua文件的名称命名规则为module.lua,其中module代表设备模型名称或平台业务模块名称。

11、有益效果:以设备模型名称或平台业务模块名称为各个lua文件命名,能够提高对lua文件的辨识度,便于查询和修改等操作,有利于提高对代码更新和维护的效率。

12、进一步地,如果有至少两个设备模型共用一个lua文件,则各个设备均以其中任意一个设备模型名称作为key;如果有至少两个平台业务模块共用一个lua文件,则各个业务模块均以其中任意一个业务模块名称作为key。

13、有益效果:当至少两个设备模型或平台业务模块共用一个lua文件时,通过选用任意一个设备模型名称或平台业务模块名称作为共同的键名,便于实现对相同类型的设备模型或平台业务模块的整体化管理,而且能够提高编写代码的效率。

14、进一步地,对于共用一个lua文件的至少两个设备模型,通过为每个设备模型设置procscript字段,并将设备模型共同的key为procscript字段赋值。

15、进一步地,将luamodel文件下发至对应的平台的方式为通过云端进行配置更新之后下发,或者根据主机sn与主机版本号下发。

16、进一步地,平台包括app、云端和嵌入式平台。

17、有益效果:本专利技术的基于lua脚本的跨平台数据转换模型适用于app、云端和嵌入式平台等多种应用平台,能够极大地提高代码复用率,从而提高多种应用平台的动态化迭代更新的效率。

本文档来自技高网...

【技术保护点】

1.一种基于Lua脚本的跨平台数据转换方法,其特征在于,具体步骤如下:

2.根据权利要求1所述的基于Lua脚本的跨平台数据转换方法,其特征在于,所述LuaModel文件需要迭代更新,具体的更新方式为,通过发送HTTP协议获取最新的LuaModel文件版本并与平台本地的LuaModel文件版本进行比较,若本地的LuaModel文件版本和最新的LuaModel文件版本不一致,则下载最新的LuaModel文件并进行校验和解密处理后覆盖本地的LuaModel文件;或者,通过云端将最新的LuaModel文件版本推送到平台,根据推送信息下载更新覆盖本地的LuaModel文件。

3.根据权利要求1或2所述的基于Lua脚本的跨平台数据转换方法,其特征在于,所述LuaModel文件所对应的Lua脚本内容是JSON数组的形式,且所述JSON数组以Lua文件名称为key,以Lua文件内容为value。

4.根据权利要求3所述的基于Lua脚本的跨平台数据转换方法,其特征在于,所述Lua文件的名称命名规则为module.Lua,其中module代表设备模型名称或平台业务模块名称。

5.根据权利要求4所述的基于Lua脚本的跨平台数据转换方法,其特征在于,如果有至少两个设备模型共用一个所述Lua文件,则各个设备均以其中任意一个设备模型名称作为key;如果有至少两个平台业务模块共用一个所述Lua文件,则各个业务模块均以其中任意一个业务模块名称作为key。

6.根据权利要求5所述的基于Lua脚本的跨平台数据转换方法,其特征在于,对于共用一个所述Lua文件的至少两个设备模型,通过为每个设备模型设置procScript字段,并将所述设备模型共同的key为procScript字段赋值。

7.根据权利要求3所述的基于Lua脚本的跨平台数据转换方法,其特征在于,将所述LuaModel文件下发至对应的平台的方式为通过云端进行配置更新之后下发,或者根据主机SN与主机版本号下发。

8.根据权利要求1或2所述的基于Lua脚本的跨平台数据转换方法,其特征在于,所述平台包括APP、云端和嵌入式平台。

...

【技术特征摘要】

1.一种基于lua脚本的跨平台数据转换方法,其特征在于,具体步骤如下:

2.根据权利要求1所述的基于lua脚本的跨平台数据转换方法,其特征在于,所述luamodel文件需要迭代更新,具体的更新方式为,通过发送http协议获取最新的luamodel文件版本并与平台本地的luamodel文件版本进行比较,若本地的luamodel文件版本和最新的luamodel文件版本不一致,则下载最新的luamodel文件并进行校验和解密处理后覆盖本地的luamodel文件;或者,通过云端将最新的luamodel文件版本推送到平台,根据推送信息下载更新覆盖本地的luamodel文件。

3.根据权利要求1或2所述的基于lua脚本的跨平台数据转换方法,其特征在于,所述luamodel文件所对应的lua脚本内容是json数组的形式,且所述json数组以lua文件名称为key,以lua文件内容为value。

4.根据权利要求3所述的基于lua脚本的跨平台数据转换方法,其特征在于,所述lua文件的名称命名规则为...

【专利技术属性】
技术研发人员:马涛叶龙姜红梅田涵朴苏三元
申请(专利权)人:河南紫联物联网技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1