一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种序列化数据生成方法及装置与流程

2022-06-08 19:01:45 来源:中国专利 TAG:


1.本发明涉及计算机网络技术领域,特别是一种序列化数据生成方法及装置。


背景技术:

2.在物联网、公交系统、餐饮系统、身份识别系统、水电表系统、城市一卡通、校园一卡通、城市小额支付等通讯系统中进行数据存储和传输时,需要将内存中分散的数据结构转换为连续的字节流(即序列化)。
3.目前常用的序列化工具有protobuf、xml、json等,这些工具都采用侵入式的序列化方法,开发者需要使用序列化工具指定的数据结构,否则无法实现序列化;而且序列化后的二进制数据过长,不适于与终端通讯。
4.对于非指定数据结构的序列化方法,即自定义数据结构的序列化方法,需要在代码编写阶段按照常规数据结构体定义的方式,将协议的定义抽象成类型对象,且定义好需要序列化的字段;在程序编译时加载已定义的序列化规则;在程序运行时使用该规则序列化数据。
5.自定义数据结构序列化,可以按照需求自由定义字段格式,较为节省数据空间。但这种方案要求需要预先知道需要序列化的数据结构,且只能在编译阶段加载序列化规则,不能实现动态加载序列化规则,每次规则改变,需要重新编译,不支持热更新;开发人员需要重复定义结构对象,工作效率低。


技术实现要素:

6.本发明的目的是提供一种序列化数据生成方法及装置,用于解决现有方法效率低的问题。
7.本发明中采用如下技术方案:一种序列化数据生成方法,步骤如下:
8.终端判断是否有通讯需求;
9.若有通讯需求,则加载保存的脚本;
10.运行所述脚本得到序列化数据;
11.其中,所述保存的脚本从服务器上下载,服务器上安装有脚本生成工具,脚本生成工具根据配置的字段,在脚本模板的基础上生成脚本。
12.进一步的,终端从服务器上下载脚本的方法为:当服务器有新脚本生成后,向终端推送消息,终端从服务器下载该新脚本,并且覆盖旧脚本。
13.进一步的,终端从服务器上下载脚本的方法为:终端每隔设定周期向服务器请求新脚本,根据服务器的答复判断是否有新脚本,若有新脚本则下载新脚本,并且覆盖旧脚本。
14.进一步的,通过判断是否收到通讯指令来判断是否有通讯需求。
15.本发明还提供了一种序列化数据生成装置,包括处理器和存储器,所述处理器用于运行存储器所存储的计算机程序,以实现上述方法。
16.有益效果:避免开发人员在开发过程中重复定义结构对象,提高了工作效率,实现了通讯报文的热更新,增加了程序的可扩展性。
附图说明
17.图1是终端生成序列化数据流程图;
18.图2是终端更新脚本流程图;
19.图3是脚本生成工具界面是有图。
具体实施方式
20.序列化数据生成方法实施例
21.本实施例的方法包括三部分,一是终端生成序列化数据,二是终端更新脚本,三是最新脚本的自动生成(在服务器上实现)。其中,脚本内容在服务器上生成;开发人员在服务器上设置脚本模板,通过在服务器上进行配置脚本模板,从而自动形成最新的脚本,即新脚本。然后终端通过与服务器通讯从而保证其存储的是最新的脚本;最后,终端在通讯时使用该最新的脚本执行序列化工作。
22.如图3所示,在服务器上安装有脚本模板,根据通讯协议,在脚本生成工具中输入对应字段的名称、数据类型、长度和格式等,脚本生成工具即可在脚本模板上生成相应的新脚本。
23.如图2所示,终端从服务器上获取新脚本:终端与服务器保持交互,例如当服务器有新脚本生成后,则向终端推送消息,终端从而判断有新的脚本,则从服务器下载该新脚本,并且覆盖旧脚本,进行保存,从而保证终端中存储的脚本始终是最新的脚本。
24.作为其他实施方式,还可以是:终端每隔设定周期向服务器请求新脚本,根据服务器的答复判断是否有新脚本,若有新脚本则进行下载和覆盖。
25.如图1所示,终端生成序列化数据的步骤如下:
26.判断是否有通讯需求,例如判断是否收到通讯指令;
27.若有通讯需求,则加载保存的脚本;
28.运行脚本,即可得到需要的序列化数据。
29.本实施例中,涉及的脚本采用lua脚本。
30.本发明在保留自定义数据结构的优势的前提下,自动生成脚本,程序在运行时再加载脚本,通过脚本实现对自定义格式数据的序列化操作,从而可以实现序列化数据结构的热更新;由于不需要开发人员重复定义结构对象,大大提高了开发人员的工作效率。
31.以上介绍的是序列化方法,若在脚本中加入反序列化代码,即可改造为反序列化方法。因此,本申请所指的“序列化数据生成方法”应包含序列化数据和反序列化数据。
32.序列化数据生成装置实施例
33.本发明还提供了一种序列化数据生成装置,该装置为通过运行计算机程序实现上述方法实施例所介绍方法的装置,而所谓计算机程序即为上述方法实施例的方法的代码化表达。该序列化数据生成装置包括处理器和存储器,所述处理器用于运行存储器所存储的计算机程序,以实现上述方法实施例的方法
34.以上所述,仅为本申请的较佳实施例,并不用以限制本申请,本申请的专利保护范
围以权利要求书为准,凡是运用本申请的说明书及附图内容所作的等同结构变化,同理均应包含在本申请的保护范围内。


技术特征:
1.一种序列化数据生成方法,其特征在于,步骤如下:终端判断是否有通讯需求;若有通讯需求,则加载保存的脚本;运行所述脚本得到序列化数据;其中,所述保存的脚本从服务器上下载,服务器上安装有脚本生成工具,脚本生成工具根据配置的字段,在脚本模板的基础上生成脚本。2.根据权利要求1所述的序列化数据生成方法,其特征在于,终端从服务器上下载脚本的方法为:当服务器有新脚本生成后,向终端推送消息,终端从服务器下载该新脚本,并且覆盖旧脚本。3.根据权利要求1所述的序列化数据生成方法,其特征在于,终端从服务器上下载脚本的方法为:终端每隔设定周期向服务器请求新脚本,根据服务器的答复判断是否有新脚本,若有新脚本则下载新脚本,并且覆盖旧脚本。4.根据权利要求1-3任一项所述的序列化数据生成方法,其特征在于,通过判断是否收到通讯指令来判断是否有通讯需求。5.一种序列化数据生成装置,其特征在于,包括处理器和存储器,所述处理器用于运行存储器所存储的计算机程序,以实现1-4任一项所述的方法。

技术总结
一种序列化数据生成方法及装置,方法包括:终端判断是否有通讯需求;若有通讯需求,则加载保存的脚本;运行所述脚本得到序列化数据;其中,所述保存的脚本从服务器上下载,服务器上安装有脚本生成工具,脚本生成工具根据配置的字段,在脚本模板的基础上生成脚本。本发明的有益效果包括:避免开发人员在开发过程中重复定义结构对象,提高了工作效率,实现了通讯报文的热更新,增加了程序的可扩展性。增加了程序的可扩展性。增加了程序的可扩展性。


技术研发人员:焦征海 张强松 陈飞飞 赵秀秀
受保护的技术使用者:新开普电子股份有限公司
技术研发日:2020.12.04
技术公布日:2022/6/7
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献