CN111931200A - 一种数据序列化方法、移动终端和可读存储介质 - Google Patents
一种数据序列化方法、移动终端和可读存储介质 Download PDFInfo
- Publication number
- CN111931200A CN111931200A CN202010668621.2A CN202010668621A CN111931200A CN 111931200 A CN111931200 A CN 111931200A CN 202010668621 A CN202010668621 A CN 202010668621A CN 111931200 A CN111931200 A CN 111931200A
- Authority
- CN
- China
- Prior art keywords
- data
- elements
- type
- dictionary
- preprocessing
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 98
- 238000006243 chemical reaction Methods 0.000 claims abstract description 5
- 238000007781 pre-processing Methods 0.000 claims description 58
- 238000012163 sequencing technique Methods 0.000 claims description 17
- 238000004891 communication Methods 0.000 claims description 10
- 125000006850 spacer group Chemical group 0.000 claims description 9
- 238000004806 packaging method and process Methods 0.000 claims description 2
- 230000006870 function Effects 0.000 description 10
- 230000008569 process Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 230000002093 peripheral effect Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000007373 indentation Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000010931 gold Substances 0.000 description 2
- 229910052737 gold Inorganic materials 0.000 description 2
- 230000033001 locomotion Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000010897 surface acoustic wave method Methods 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
Images
Classifications
-
- 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/602—Providing cryptographic facilities or services
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bioethics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种数据序列化方法,该方法适于在移动终端中执行,该方法包括:获取待序列化的数据对象,数据对象包含至少一个数据成员,数据成员包含至少一个元素,根据数据成员的数据类型对数据成员中的元素进行排序和序列化,并将序列化结果写入序列化文件;最后对序列化文件进行二进制转化,完成数据对象的序列化。本发明还公开了生成数据加密请求的方法,移动终端和可读存储介质。
Description
技术领域
本发明涉及数据序列化领域,尤其涉及一种数据序列化方法、移动终端和可读存储介质。
背景技术
序列化(Serialization)是一种将对象的状态信息转换为可以存储或传输的形式的过程,现有技术中的序列化都是直接对原始数据进行序列化,进而转为二进制流进行本地存储或网络传输,但是对于敏感信息而言,这种序列化方式因为只能按照原始数据对象的顺序进行序列化,无法起到加密保护的作用,敏感信息数据在传输过程中容易受到不法攻击,或者造成敏感信息的泄露。
发明内容
为此,本发明提供了一种数据序列化方法、计算设备和可读存储介质,以力图解决或者至少缓解上面存在的问题。
根据本发明的一个方面,提供一种数据序列化方法,适于在移动终端中执行,该方法包括:获取待序列化的数据对象,数据对象包含至少一个数据成员,数据成员包含至少一个元素;根据数据成员的数据类型对数据成员中的元素进行排序和预处理,并将预处理结果写入序列化文件;将序列化文件进行二进制转化,完成数据对象的序列化。
可选的,在根据本发明的数据序列化方法中,数据类型包括数组类型、字典类型、空类型、数字类型、字符串类型、布尔类型,数据成员为嵌套类型,该数据序列化方法还包括:数据成员中每一层级预处理后,返回数据成员中的当前层级。
可选的,在根据本发明的数据序列化方法中,根据数据成员的数据类型对数据成员中的元素进行排序和预处理包括:当数据成员的数据类型为字典类型时,在预处理结果中拼接字典起始标识符;根据预设的字典元素排序规则对数据成员中的所有字典元素进行排序;依次对排序后的字典元素进行预处理,并在字典元素之间添加间隔符;数据成员中的所有字典元素预处理完成后,添加字典终止标识符。
可选的,在根据本发明的数据序列化方法中,根据预设的字典元素排序规则对数据成员中的所有字典元素进行排序包括:获取数据成员中的所有字典元素的键;对所有字典元素根据字典元素的键的首字母进行排序。
可选的,在根据本发明的数据序列化方法中,根据数据成员的数据类型对数据成员中的元素进行排序和预处理还包括:当数据成员的数据类型为数组类型时,在预处理结果中拼接数组起始标识符;根据预设的数组元素排序规则对数据成员中的所有数组元素进行排序;依次对排序后的数组元素进行预处理,并在数组元素之间添加间隔符;数据成员中的所有数组元素预处理完成后,添加数组终止标识符。
可选的,在根据本发明的数据序列化方法中,根据预设的数组元素排序规则对数据成员中的所有数组元素进行排序包括:对数据成员中的所有数组元素根据索引按照倒叙方式进行排序。
可选的,在根据本发明的数据序列化方法中,根据数据成员的数据类型对数据成员中的元素进行排序和预处理还包括:当数据成员的数据类型为字符串类型时,且字符串为非空,在字符串的首和/或尾添加特殊字符;删除字符串中的转义字符,完成字符串的预处理。
可选的,在根据本发明的数据序列化方法中,根据数据成员的数据类型对数据成员中的元素进行排序和预处理还包括:当数据成员的数据类型为布尔类型时,若该数据成员值为真,在预处理结果中拼接字符串true;若数据成员值为假,在预处理结果中拼接字符串false。
可选的,在根据本发明的数据序列化方法中,根据数据成员的数据类型对数据成员中的元素进行排序和预处理还包括:若数据成员的数据类型为数字类型,对数据成员进行格式化。
可选的,在根据本发明的数据序列化方法中,根据数据成员的数据类型对数据成员中的元素进行排序和预处理还包括:若数据对象的数据类型为空类型,则在预处理结果中拼接字符串NULL。
可选的,在根据本发明的数据序列化方法中,还包括:每一个数据成员和数据元素预处理后添加制表符、换行符、缩进符。
可选的,在根据本发明的数据序列化方法中,还包括:如果在序列化过程中出现异常,则终止序列化过程,并返回序列化异常的错误信息。
根据本发明的另一个方面,提供一种加密数据请求生成方法,适于在移动终端中执行,移动终端与服务器通信连接,移动终端根据用户操作生成数据请求,方法包括:当数据请求需要进行加密时,获取数据请求中的数据对象,数据对象包含至少一个数据成员,数据成员包含至少一个元素;根据数据成员的数据类型对数据成员中的元素进行排序和预处理,并将预处理结果写入序列化文件;将序列化文件进行二进制转化,获得二进制数据请求;根据数据请求类型调用相应的应用程序接口,对二进制数据请求进行加密;将加密后的二进制数据请求进行封装后发送至服务器。
可选的,在根据本发明的加密数据请求生成方法中,数据类型包括数组类型、字典类型、空类型、数字类型、字符串类型、布尔类型,数据成员为嵌套类型,数据序列化方法还包括:数据成员中每一层级序列化后,返回数据成员中的当前层级。
可选的,在根据本发明的加密数据请求生成方法中,根据数据成员的数据类型对数据成员中的元素进行排序和预处理包括:当数据成员的数据类型为字典类型时,在序列化结果中拼接字典起始标识符;根据预设的字典元素排序规则对数据成员中的所有字典元素进行排序;依次对排序后的字典元素进行预处理,并在字典元素之间添加间隔符;数据成员中的所有字典元素处理完成后,添加字典终止标识符。
可选的,在根据本发明的加密数据请求生成方法中,根据预设的字典元素排序规则对数据成员中的所有字典元素进行排序包括:获取数据成员中的所有字典元素的键;对所有字典元素根据字典元素的键的首字母进行排序。
可选的,在根据本发明的加密数据请求生成方法中,根据数据成员的数据类型对数据成员中的元素进行排序和预处理还包括:当数据成员的数据类型为数组类型时,在序列化结果中拼接数组起始标识符;根据预设的数组元素排序规则对数据成员中的所有数组元素进行排序;依次对排序后的数组元素进行预处理,并在数组元素之间添加间隔符;数据成员中的所有数组元素处理完成后,添加数组终止标识符。
可选的,在根据本发明的加密数据请求生成方法中,根据预设的数组元素排序规则对数据成员中的所有数组元素进行排序包括:对数据成员中的所有数组元素根据索引按照倒叙方式进行排序。
可选的,在根据本发明的加密数据请求生成方法中,根据数据成员的数据类型对数据成员中的元素进行排序和预处理还包括:当数据成员的数据类型为字符串类型时,且字符串为非空,在字符串的首和/或尾添加特殊字符;删除字符串中的转义字符,完成字符串的预处理。
根据本发明的又一方面,提供一种计算设备,包括:至少一个处理器;以及存储器,存储有程序指令,其中,程序指令被配置为适于由至少一个处理器执行,程序指令包括用于执行根据本发明的数据序列化方法和加密数据请求生成方法的指令。
根据本发明的又一个方面,提供一种存储有程序指令的可读存储介质,当程序指令被计算设备读取并执行时,使得计算设备执行根据本发明的数据序列化方法和加密数据请求生成方法。
根据本发明数据序列化方案,根据数据对象中的数据类型对数据对象中的数据按照对应的数据类型的规则进行一定的排序和预处理,实现了对数据对象的有序序列化,且根据数据类型进行不同方式的排序和预处理,能够完成更多个性化的序列化工作,并起到了加密保护的作用,保证了敏感信息序列化传输过程中的不被泄露。
附图说明
为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
图1示出了根据本发明一个实施例的移动终端100的框图;
图2示出了根据本发明一个实施例的数据序列化方法200的流程图;
图3示出了根据本发明一个实施例的加密数据请求生成方法300的流程图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
根据本发明的数据序列化方法和加密数据请求生成方法均适于在移动终端中执行,图1示出了移动终端100的结构框图,移动终端100可以包括存储器接口102、一个或多个数据处理器、图像处理器和/或中央处理单元104,以及外围接口106。
存储器接口102、一个或多个处理器104和/或外围接口106既可以是分立元件,也可以集成在一个或多个集成电路中。在移动终端100中,各种元件可以通过一条或多条通信总线或信号线来耦合。传感器、设备和子系统可以耦合到外围接口106,以便帮助实现多种功能。
例如,运动传感器110、光线传感器112和距离传感器114可以耦合到外围接口106,以方便定向、照明和测距等功能。其他传感器116同样可以与外围接口106相连,例如定位系统(例如GPS接收机)、温度传感器、生物测定传感器或其他感测设备,由此可以帮助实施相关的功能。
相机子系统120和光学传感器122可以用于方便诸如记录照片和视频剪辑的相机功能的实现,其中所述相机子系统和光学传感器例如可以是电荷耦合器件(CCD)或互补金属氧化物半导体(CMOS)光学传感器。可以通过一个或多个无线通信子系统124来帮助实现通信功能,其中无线通信子系统可以包括射频接收机和发射机和/或光(例如红外)接收机和发射机。无线通信子系统124的特定设计和实施方式可以取决于移动终端100所支持的一个或多个通信网络。例如,移动终端100可以包括被设计成支持LTE、3G、GSM网络、GPRS网络、EDGE网络、Wi-Fi或WiMax网络以及BlueboothTM网络的通信子系统124。
音频子系统126可以与扬声器128以及麦克风130相耦合,以便帮助实施启用语音的功能,例如语音识别、语音复制、数字记录和电话功能。I/O子系统140可以包括触摸屏控制器142和/或一个或多个其他输入控制器144。触摸屏控制器142可以耦合到触摸屏146。举例来说,该触摸屏146和触摸屏控制器142可以使用多种触摸感测技术中的任何一种来检测与之进行的接触和移动或是暂停,其中感测技术包括但不局限于电容性、电阻性、红外和表面声波技术。一个或多个其他输入控制器144可以耦合到其他输入/控制设备148,例如一个或多个按钮、摇杆开关、拇指旋轮、红外端口、USB端口、和/或指示笔之类的指点设备。所述一个或多个按钮(未显示)可以包括用于控制扬声器128和/或麦克风130音量的向上/向下按钮。
存储器接口102可以与存储器150相耦合。该存储器150可以包括高速随机存取存储器和/或非易失性存储器,例如一个或多个磁盘存储设备,一个或多个光学存储设备,和/或闪存存储器(例如NAND,NOR)。存储器150可以存储操作系统172,例如Android、iOS或是Windows Phone之类的操作系统。该操作系统172可以包括用于处理基本系统服务以及执行依赖于硬件的任务的指令。存储器150还可以存储程序174。在移动设备运行时,会从存储器150中加载操作系统172,并且由处理器104执行。程序174在运行时,也会从存储器150中加载,并由处理器104执行。程序174运行在操作系统之上,利用操作系统以及底层硬件提供的接口实现各种用户期望的功能,如即时通信、网页浏览、图片管理等。程序174可以是独立于操作系统提供的,也可以是操作系统自带的。另外,程序174被安装到移动终端100中时,也可以向操作系统添加驱动模块。在一些实施例中,移动终端100被配置为执行根据本发明的数据序列化方法200、加密数据请求生成方法300。其中,移动终端100的一个或多个程序174包括用于执行根据本发明的数据序列化方法200、加密数据请求生成方法300的指令。
图2示出了根据本发明一个实施例的数据序列化方法200的流程图。该方法始于步骤S210,获取数据对象,数据对象中包含有不同数据类型的数据成员,数据对象还可以是不同数据类型的嵌套类型。
获取到数据对象后,进入步骤S220,获取数据成员的数据类型,包含数组类型、字典类型、空类型、数字类型、字符串类型、布尔类型。
根据本发明的一个实施例,数据对象如下:
则通过步骤S220,数据类型的判定结果为字典类型,则进入步骤S230,根据字典类型的排序规则对数据对象进行排序和预处理。
首先在预处理结果中添加字典类型的起始标识符“{”,然后对字典中的各个元素进行排序,根据本发明的一个实施例,字典中元素的排序规则是根据各个元素的键值的首字母进行排序,对键值“goDate”、“searchType”、“arr”、“dpt”、“flightNum”的排序结果为“arr”、“dpt”、“flightNum”、“goDate”、“searchType”,依次对排序后的各个元素进行预处理,在元素之间添加间隔符“,”,还可以添加制表符、换行符、缩进符号,所有元素处理完后,拼接字典终止标识符“}”,因此,上述数据对象的有序序列化结果为:
本发明中对字典元素的排序规则不做限制,可以根据实际需要制定规则。
根据本发明的一个实施例,数据对象为[3,5,7,9],则步骤S220中,数据类型的判断结果为数组类型,进入步骤S231,根据数组排序规则对数据对象排序和预处理,首先在序列化结果中添加数组起始标识符“[”,然后根据数组的各个元素进行排序,具体的排序规则可以根据具体情况制定,本发明对此不做限制,本实施例中,以数组元素按照索引倒叙进行排序的规则为例,即上述数组元素按照9、7、5、3的顺序排序,并在数组元素之间添加间隔符“,”,所有元素处理完后,拼接数组终止标识符“]”。因此,数组[3,5,7,9]的排序结果为:[9,7,5,3],为了显示效果,还可以在元素之间添加制表符、换行符和缩进符。
如果数据对象类型为字符串类型,在步骤S220后会进入步骤S232,根据字符串规则对该字符串进行处理,在字符串首和/或尾添加特殊字符进行加密,在一个具体实施例中,数据对象为“have a nice trip!\n”时,在字符串前添加字符“*#06#”进行加密,并去除转义字符“\n”,完成字符串的预处理。具体添加的特殊字符可以根据实际情况添加,本发明对此不做限制,此实施例仅为示例性说明。
当数据成员经过步骤S220的判断结果为布尔类型数据时,进入步骤S233,数据成员值为1时,预处理结果中添加true,值为0时,在预处理结果中添加false。
数据成员为数字类型时,步骤S220后进入步骤S234,只需要对数字进行格式化。
数据成员为空类型时,步骤S220后进入步骤S235,该数据成员在序列化文件中被处理成NULL。
根据本发明一个实施例,数据类型为嵌套类型,字典类型中的元素为数组类型,则在处理完数组时,返回字典类型层级,本发明对数据成员的嵌套关系不做限制。
所有数据对象中的数据都排序和预处理后都写入序列化文件中,最后转化成,由0和1组成的可传输的二进制格式,序列化过程完成。
图3示出了根据本发明一个实施例的加密数据请求生成方法300的流程图。当收到需要加密的数据请求时,通过步骤S310获取数据请求中的数据对象,根据本发明的一个实施例,数据请求为登录请求,需要加密,数据对象中包含一个字典类型的数据成员,该数据成员中包含账号“AccountID:zhangsan”,密码“password:qwe123”,验证码“Identify_code:dghm”。
在随后的步骤S320中,根据方法200将上述数据进行序列化,首先对上述信息进行排序和预处理,排序结果为“AccountID”:“zhangsan”,“Identify_code”:“dghm”,“password”:“qwe123”,然后将数据转化成二进制形式。
随后进入步骤S330,对二进制文件进行加密,根据本发明的一个实施例,使用MD5加密方式,保证数据传输过程中的安全性。
最后,通过步骤S340将加密后的数据封装成数据包,发送至服务端。
根据本发明数据序列化方案,根据数据对象中的数据类型对数据对象中的数据按照对应的数据类型的规则进行一定的排序和预处理,实现了对数据对象的有序序列化,且根据数据类型进行不同方式的排序和预处理,能够完成更多个性化的序列化工作,并起到了加密保护的作用,保证了敏感信息序列化传输过程中的不被泄露。
这里描述的各种技术可结合硬件或软件,或者它们的组合一起实现。从而,本发明的方法和设备,或者本发明的方法和设备的某些方面或部分可采取嵌入有形媒介,例如可移动硬盘、U盘、软盘、CD-ROM或者其它任意机器可读的存储介质中的程序代码(即指令)的形式,其中当程序被载入诸如计算机之类的机器,并被所述机器执行时,所述机器变成实践本发明的设备。
在程序代码在可编程计算机上执行的情况下,计算设备一般包括处理器、处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件),至少一个输入装置,和至少一个输出装置。其中,存储器被配置用于存储程序代码;处理器被配置用于根据该存储器中存储的所述程序代码中的指令,执行本发明的序列化方法和加密数据请求生成方法。
以示例而非限制的方式,可读介质包括可读存储介质和通信介质。可读存储介质存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息。通信介质一般以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传递介质。以上的任一种的组合也包括在可读介质的范围之内。
在此处所提供的说明书中,算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与本发明的示例一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
本发明还包括:
A8、如A1-A7中任意一项所述的方法,其中,所述根据所述数据成员的数据类型对数据成员中的元素进行排序和预处理还包括:
当数据成员的数据类型为布尔类型时,若该数据成员值为真,在所述预处理结果中拼接字符串true;
若数据成员值为假,在所述预处理结果中拼接字符串false。
A9、如A1-A8中任意一项所述的方法,其中,所述根据所述数据成员的数据类型对数据成员中的元素进行排序和预处理还包括:
若数据成员的数据类型为数字类型,对数据成员进行格式化。
A10、如A1-A9中任意一项所述的方法,其中,所述根据所述数据成员的数据类型对数据成员中的元素进行排序和预处理还包括:
若数据对象的数据类型为空类型,则在所述预处理结果中拼接字符串NULL。
A11、如A1-10中任意一项所述的方法,其中,所述方法还包括:
每一个数据成员和数据元素预处理后添加制表符、换行符、缩进符。
A12、如A1-A11中任意一项所述的方法,其中,所述方法还包括:
如果在序列化过程中出现异常,则终止序列化过程,并返回序列化异常的错误信息。
B14、如B13所述的方法,其中,所述数据类型包括数组类型、字典类型、空类型、数字类型、字符串类型、布尔类型,所述数据成员为嵌套类型,所述数据序列化方法还包括:
数据成员中每一层级序列化后,返回数据成员中的当前层级。
B15、如B13或B14所述的方法,其中,所述根据所述数据成员的数据类型对数据成员中的元素进行排序和预处理包括:
当数据成员的数据类型为字典类型时,在序列化结果中拼接字典起始标识符;
根据预设的字典元素排序规则对所述数据成员中的所有字典元素进行排序;
依次对排序后的字典元素进行预处理,并在字典元素之间添加间隔符;
所述数据成员中的所有字典元素处理完成后,添加字典终止标识符。
B16、如B15所述的方法,其中,所述根据预设的字典元素排序规则对所述数据成员中的所有字典元素进行排序包括:
获取所述数据成员中的所有字典元素的键;
对所有字典元素根据字典元素的键的首字母进行排序。
B17、如B13-B16中任意一项所述的方法,其中,所述根据所述数据成员的数据类型对数据成员中的元素进行排序和预处理还包括:
当数据成员的数据类型为数组类型时,在所述序列化结果中拼接数组起始标识符;
根据预设的数组元素排序规则对所述数据成员中的所有数组元素进行排序;
依次对排序后的数组元素进行预处理,并在数组元素之间添加间隔符;
所述数据成员中的所有数组元素处理完成后,添加数组终止标识符。
B18、如B17所述的方法,其中,所述根据预设的数组元素排序规则对所述数据成员中的所有数组元素进行排序包括:
对所述数据成员中的所有数组元素根据索引按照倒叙方式进行排序。
B19、如B13-B18中任意一项所述的方法,其中,所述根据所述数据成员的数据类型对数据成员中的元素进行排序和预处理还包括:
当数据成员的数据类型为字符串类型时,且字符串为非空,在字符串的首和/或尾添加特殊字符;
删除字符串中的转义字符,完成字符串的预处理。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。
Claims (10)
1.一种数据序列化方法,适于在移动终端中执行,其中,所述方法包括:
获取待序列化的数据对象,所述数据对象包含至少一个数据成员,所述数据成员包含至少一个元素;
根据所述数据成员的数据类型对数据成员中的元素进行排序和预处理,并将预处理结果写入序列化文件;
将所述序列化文件进行二进制转化,完成数据对象的序列化。
2.如权利要求1所述的方法,其中,所述数据类型包括数组类型、字典类型、空类型、数字类型、字符串类型、布尔类型,所述数据成员为嵌套类型,所述数据序列化方法还包括:
数据成员中每一层级预处理后,返回数据成员中的当前层级。
3.如权利要求1或2所述的方法,其中,所述根据所述数据成员的数据类型对数据成员中的元素进行排序和预处理包括:
当数据成员的数据类型为字典类型时,在所述预处理结果中拼接字典起始标识符;
根据预设的字典元素排序规则对所述数据成员中的所有字典元素进行排序;
依次对排序后的字典元素进行预处理,并在字典元素之间添加间隔符;
所述数据成员中的所有字典元素预处理完成后,添加字典终止标识符。
4.如权利要求3所述的方法,其中,所述根据预设的字典元素排序规则对所述数据成员中的所有字典元素进行排序包括:
获取所述数据成员中的所有字典元素的键;
对所有字典元素根据字典元素的键的首字母进行排序。
5.如权利要求1-4中任意一项所述的方法,其中,所述根据所述数据成员的数据类型对数据成员中的元素进行排序和预处理还包括:
当数据成员的数据类型为数组类型时,在所述预处理结果中拼接数组起始标识符;
根据预设的数组元素排序规则对所述数据成员中的所有数组元素进行排序;
依次对排序后的数组元素进行预处理,并在数组元素之间添加间隔符;
所述数据成员中的所有数组元素预处理完成后,添加数组终止标识符。
6.如权利要求5所述的方法,其中,所述根据预设的数组元素排序规则对所述数据成员中的所有数组元素进行排序包括:
对所述数据成员中的所有数组元素根据索引按照倒叙方式进行排序。
7.如权利要求1-6中任意一项所述的方法,其中,所述根据所述数据成员的数据类型对数据成员中的元素进行排序和预处理还包括:
当数据成员的数据类型为字符串类型时,且字符串为非空,在字符串的首和/或尾添加特殊字符;
删除字符串中的转义字符,完成字符串的预处理。
8.一种加密数据请求生成方法,适于在移动终端中执行,所述移动终端与服务器通信连接,所述移动终端根据用户操作生成数据请求,所述方法包括:
当所述数据请求需要进行加密时,获取数据请求中的数据对象,所述数据对象包含至少一个数据成员,所述数据成员包含至少一个元素;
根据所述数据成员的数据类型对数据成员中的元素进行排序和预处理,并将预处理结果写入序列化文件;
将所述序列化文件进行二进制转化,获得二进制数据请求;
根据数据请求类型调用相应的应用程序接口,对二进制数据请求进行加密;
将加密后的二进制数据请求进行封装后发送至服务器。
9.一种移动终端,包括:
一个或多个处理器;
存储器;以及
一个或多个程序,其中所述一个或多个程序存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行根据权利要求1-8所述的方法中的任一方法的指令。
10.一种存储一个或多个程序的计算机可读存储介质,所述一个或多个程序包括指令,所述指令当由移动终端执行时,使得所述移动终端执行根据权利要求1-8所述的方法中的任一方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010668621.2A CN111931200B (zh) | 2020-07-13 | 2020-07-13 | 一种数据序列化方法、移动终端和可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010668621.2A CN111931200B (zh) | 2020-07-13 | 2020-07-13 | 一种数据序列化方法、移动终端和可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111931200A true CN111931200A (zh) | 2020-11-13 |
CN111931200B CN111931200B (zh) | 2024-02-23 |
Family
ID=73312464
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010668621.2A Active CN111931200B (zh) | 2020-07-13 | 2020-07-13 | 一种数据序列化方法、移动终端和可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111931200B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112612427A (zh) * | 2020-12-30 | 2021-04-06 | 北京优挂信息科技有限公司 | 一种车辆停靠点数据处理方法、装置、存储介质及终端 |
WO2024032766A1 (zh) * | 2022-08-12 | 2024-02-15 | 安徽新永拓新材料有限公司 | 生产数据的存储和读取方法、系统及计算机可读介质 |
CN117573943A (zh) * | 2024-01-11 | 2024-02-20 | 云筑信息科技(成都)有限公司 | 一种基于序列化相似度计算的数据对比方法 |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102013213757A1 (de) * | 2012-07-16 | 2014-01-16 | Deutsches Zentrum für Luft- und Raumfahrt e.V. | Datenübertragungsverfahren |
CN104360865A (zh) * | 2014-11-28 | 2015-02-18 | 中国建设银行股份有限公司 | 一种序列化方法、反序列化方法及相关设备 |
CN105117442A (zh) * | 2015-08-12 | 2015-12-02 | 东北大学 | 一种基于概率的大数据查询方法 |
CN105446722A (zh) * | 2014-08-29 | 2016-03-30 | 优视科技有限公司 | 序列化方法和装置、以及反序列化方法和装置 |
CN105793842A (zh) * | 2013-12-31 | 2016-07-20 | 北京新媒传信科技有限公司 | 序列化消息之间的转换方法和装置 |
CN106648569A (zh) * | 2015-11-02 | 2017-05-10 | 腾讯科技(深圳)有限公司 | 目标序列化实现方法和装置 |
CN106775638A (zh) * | 2016-11-22 | 2017-05-31 | 北京皮尔布莱尼软件有限公司 | 一种对象序列化方法、装置和计算设备 |
CN107341262A (zh) * | 2017-07-14 | 2017-11-10 | 上海达梦数据库有限公司 | 数据库中对象类型列的序列化、反序列化方法及装置 |
CN107357740A (zh) * | 2017-07-05 | 2017-11-17 | 腾讯科技(深圳)有限公司 | 一种序列化器自动配置方法、装置及分布式缓存系统 |
CN107463668A (zh) * | 2017-08-02 | 2017-12-12 | 湖南新航动力信息科技有限公司 | 序列化和反序列化的方法及装置、计算机设备及存储介质 |
CN107688538A (zh) * | 2017-08-31 | 2018-02-13 | 北京蓝海讯通科技股份有限公司 | 一种脚本执行方法、装置及计算设备 |
US20180075262A1 (en) * | 2016-09-15 | 2018-03-15 | Nuts Holdings, Llc | Nuts |
CN107992624A (zh) * | 2017-12-22 | 2018-05-04 | 百度在线网络技术(北京)有限公司 | 解析序列化数据的方法、装置、存储介质及终端设备 |
CN109213745A (zh) * | 2018-08-27 | 2019-01-15 | 郑州云海信息技术有限公司 | 一种分布式文件存储方法、装置、处理器及存储介质 |
CN109408450A (zh) * | 2018-09-27 | 2019-03-01 | 中兴飞流信息科技有限公司 | 一种数据处理的方法、系统、协处理装置和主处理装置 |
-
2020
- 2020-07-13 CN CN202010668621.2A patent/CN111931200B/zh active Active
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102013213757A1 (de) * | 2012-07-16 | 2014-01-16 | Deutsches Zentrum für Luft- und Raumfahrt e.V. | Datenübertragungsverfahren |
CN105793842A (zh) * | 2013-12-31 | 2016-07-20 | 北京新媒传信科技有限公司 | 序列化消息之间的转换方法和装置 |
CN105446722A (zh) * | 2014-08-29 | 2016-03-30 | 优视科技有限公司 | 序列化方法和装置、以及反序列化方法和装置 |
CN104360865A (zh) * | 2014-11-28 | 2015-02-18 | 中国建设银行股份有限公司 | 一种序列化方法、反序列化方法及相关设备 |
CN105117442A (zh) * | 2015-08-12 | 2015-12-02 | 东北大学 | 一种基于概率的大数据查询方法 |
CN106648569A (zh) * | 2015-11-02 | 2017-05-10 | 腾讯科技(深圳)有限公司 | 目标序列化实现方法和装置 |
US20180075262A1 (en) * | 2016-09-15 | 2018-03-15 | Nuts Holdings, Llc | Nuts |
CN106775638A (zh) * | 2016-11-22 | 2017-05-31 | 北京皮尔布莱尼软件有限公司 | 一种对象序列化方法、装置和计算设备 |
CN107357740A (zh) * | 2017-07-05 | 2017-11-17 | 腾讯科技(深圳)有限公司 | 一种序列化器自动配置方法、装置及分布式缓存系统 |
CN107341262A (zh) * | 2017-07-14 | 2017-11-10 | 上海达梦数据库有限公司 | 数据库中对象类型列的序列化、反序列化方法及装置 |
CN107463668A (zh) * | 2017-08-02 | 2017-12-12 | 湖南新航动力信息科技有限公司 | 序列化和反序列化的方法及装置、计算机设备及存储介质 |
CN107688538A (zh) * | 2017-08-31 | 2018-02-13 | 北京蓝海讯通科技股份有限公司 | 一种脚本执行方法、装置及计算设备 |
CN107992624A (zh) * | 2017-12-22 | 2018-05-04 | 百度在线网络技术(北京)有限公司 | 解析序列化数据的方法、装置、存储介质及终端设备 |
CN109213745A (zh) * | 2018-08-27 | 2019-01-15 | 郑州云海信息技术有限公司 | 一种分布式文件存储方法、装置、处理器及存储介质 |
CN109408450A (zh) * | 2018-09-27 | 2019-03-01 | 中兴飞流信息科技有限公司 | 一种数据处理的方法、系统、协处理装置和主处理装置 |
Non-Patent Citations (5)
Title |
---|
CHRISTIAN SCHENK等: "Video content abstraction as a basis for the specification of video communication scenarios", 《2016 7TH IEEE INTERNATIONAL CONFERENCE ON COGNITIVE INFOCOMMUNICATIONS (COGINFOCOM)》, pages 139 - 144 * |
SMALL_PANG: "Java类的序列化顺序", Retrieved from the Internet <URL:https://blog.csdn.net/Small_Pang/article/details/106059948> * |
张新宇等: "HLA数据回放及其可通用性问题研究", 《国防科技大学学报》, vol. 29, no. 05, pages 108 - 114 * |
杨昕雨等: "移动应用安全生态链构建方法", 《软件学报》, no. 11, pages 252 - 265 * |
王丰等: "边缘计算下移动智能终端隐私数据的保护方法", 《网络空间安全》, vol. 9, no. 2, pages 47 - 50 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112612427A (zh) * | 2020-12-30 | 2021-04-06 | 北京优挂信息科技有限公司 | 一种车辆停靠点数据处理方法、装置、存储介质及终端 |
WO2024032766A1 (zh) * | 2022-08-12 | 2024-02-15 | 安徽新永拓新材料有限公司 | 生产数据的存储和读取方法、系统及计算机可读介质 |
CN117573943A (zh) * | 2024-01-11 | 2024-02-20 | 云筑信息科技(成都)有限公司 | 一种基于序列化相似度计算的数据对比方法 |
CN117573943B (zh) * | 2024-01-11 | 2024-05-28 | 云筑信息科技(成都)有限公司 | 一种基于序列化相似度计算的数据对比方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111931200B (zh) | 2024-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9258299B2 (en) | Biometric cloud communication and data movement | |
US9892245B2 (en) | Method and apparatus for using a multi-factor password or a dynamic password for enhanced security on a device | |
CN111931200B (zh) | 一种数据序列化方法、移动终端和可读存储介质 | |
US8914767B2 (en) | Systems and methods for using quick response codes to activate software applications | |
WO2015043420A1 (zh) | 权限控制方法和装置 | |
US10754976B2 (en) | Configuring image as private within storage container | |
CN107750466A (zh) | 使用经同步的提示信号配对附近设备 | |
US20170230444A1 (en) | Cloud service server and method for managing cloud service server | |
US11316693B2 (en) | Trusted platform module-based prepaid access token for commercial IoT online services | |
EP3320477B1 (en) | Protecting data from unauthorized access | |
CN105279449A (zh) | 基于上下文的数据访问控制 | |
JP7164719B2 (ja) | 顔サンプルライブラリのデプロイ方法、顔認識による業務処理方法及び装置 | |
CN110730162B (zh) | 一种页面的验证方法、移动终端、可读存储介质 | |
CN111931835A (zh) | 一种图像识别方法、装置及系统 | |
CN110765398A (zh) | 一种页面内容的显示方法及移动终端 | |
CN111679875A (zh) | 页面内容展示方法、系统及移动终端 | |
WO2013067724A1 (zh) | 一种云端用户映射系统和方法 | |
KR101944698B1 (ko) | 컴퓨터 운영체제의 로그인 인증 결과를 이용한 싱글 사인 온 자동 로그인 방법 및 이를 적용한 컴퓨터로 읽을 수 있는 저장매체 | |
CN106663158A (zh) | 为软件服务管理用户数据 | |
US20140282836A1 (en) | Enterprise device policy management | |
KR102401485B1 (ko) | 동형 암호화된 데이터 처리 방법 및 시스템 | |
KR20150015627A (ko) | 이미지 콘텐츠 등록 서비스 방법 및 시스템 | |
KR102148937B1 (ko) | 클라우드 서버 및 클라우드 기반의 이미지 파일 처리방법 | |
CN110765426A (zh) | 设备权限设置方法、装置、设备以及计算机存储介质 | |
CN111510423A (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 |