CN115563638B - 数据处理方法、***、设备及存储介质 - Google Patents

数据处理方法、***、设备及存储介质 Download PDF

Info

Publication number
CN115563638B
CN115563638B CN202211420261.XA CN202211420261A CN115563638B CN 115563638 B CN115563638 B CN 115563638B CN 202211420261 A CN202211420261 A CN 202211420261A CN 115563638 B CN115563638 B CN 115563638B
Authority
CN
China
Prior art keywords
data
serialized
ciphertext
table structure
serialized data
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
Application number
CN202211420261.XA
Other languages
English (en)
Other versions
CN115563638A (zh
Inventor
张焱山
谢小龙
汪晟
李飞飞
黎火荣
陈吉强
曾祥栋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Cloud Computing Ltd
Original Assignee
Alibaba Cloud Computing Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Alibaba Cloud Computing Ltd filed Critical Alibaba Cloud Computing Ltd
Priority to CN202211420261.XA priority Critical patent/CN115563638B/zh
Publication of CN115563638A publication Critical patent/CN115563638A/zh
Application granted granted Critical
Publication of CN115563638B publication Critical patent/CN115563638B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2474Sequence data queries, e.g. querying versioned data
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computational Linguistics (AREA)
  • Storage Device Security (AREA)

Abstract

本申请实施例提供一种数据处理方法、***、设备及存储介质。其中,方法包括如下的步骤:确定第一序列化数据;所述第一序列化数据是由多条第一行数据拼接得到的;所述多条第一行数据对应相同的表结构;所述多条第一行数据为行存储格式;对所述第一序列化数据执行加密操作,得到第一序列化密文;对所述多条第一行数据对应的表结构进行序列化,得到表结构序列化数据;对所述表结构序列化数据和所述第一序列化密文执行拼接操作,得到目标序列化数据。本申请实施例提供的技术方案在密文存储场景下,可节省存储资源;在密文传输场景下,可节省网络带宽资源,提高数据交互效率。

Description

数据处理方法、***、设备及存储介质
技术领域
本申请涉及计算机技术领域,尤其涉及一种数据处理方法、***、设备及存储介质。
背景技术
随着现代社会中信息数据的***式增长,每天都有大量的数据需要进行存储或交换。在进行数据存储和交换时,需要将结构化的数据转换为可以存储或传输的形式,也即需要进行序列化操作。序列化是将对象的状态信息转换为可以存储或传输的形式的过程。此外,为了确保在存储和交换过程中的数据安全,除了序列化操作,还需要对数据进行加密。
现有技术中,最终存储或交换的序列化数据存在大量的数据冗余,占用较多的存储资源或网络带宽资源,且数据交互效率低下。
发明内容
鉴于上述问题,提出了本申请以提供一种解决上述问题或至少部分地解决上述问题的数据处理方法、***、设备及存储介质。
于是,在本申请的一个实施例中,提供了一种数据处理方法。该方法包括:
确定第一序列化数据;所述第一序列化数据是由多条第一行数据拼接得到的;所述多条第一行数据对应相同的表结构信息;
对所述第一序列化数据执行加密操作,得到第一序列化密文;
对所述多条第一行数据对应的表结构信息进行序列化,得到表结构序列化数据;
对所述表结构序列化数据和所述第一序列化密文执行拼接操作,得到目标序列化数据;其中,所述表结构信息在所述目标序列化数据中仅出现一次。
在本申请的又一实施例中,提供了一种数据处理方法。该方法,包括:
获取目标序列化数据;所述目标序列化数据是对表结构序列化数据和第一序列化密文执行拼接操作后得到的;所述表结构序列化数据是对多条第一行数据对应的表结构信息进行序列化得到的;所述第一序列化密文是对第一序列化数据进行加密得到的;所述第一序列化数据是对多条第一行数据执行拼接操作后得到的;所述多条第一行数据对应相同的表结构信息;所述表结构信息在所述目标序列化数据中仅出现一次;
从所述目标序列化数据中,确定出所述表结构序列化数据和所述第一序列化密文;
对所述表结构序列化数据进行反序列化,得到所述多条第一行数据对应的表结构信息;
对所述第一序列化密文进行解密,得到所述第一序列化数据;
从所述第一序列化数据中,确定出所述多条第一行数据;
根据所述多条第一行数据对应的表结构信息以及所述多条第一行数据,生成结构化数据。
在本申请的又一实施例中,提供了一种数据处理***,其中,包括:第一设备和第二设备;
所述第一设备,用于实现上述第一个实施例中的数据处理方法;并将目标序列化数据发送给所述第二设备;
所述第二设备,用于实现上述第二个实施例中的数据处理方法。
在本申请的又一实施例中,提供了一种第一设备。该第一设备,包括:存储器和处理器,其中,
所述存储器,用于存储程序;
所述处理器,与所述存储器耦合,用于执行所述存储器中存储的所述程序,以实现上述任一项所述的数据处理方法。
在本申请的又一实施例中,提供了一种存储有计算机程序的计算机可读存储介质,所述计算机程序被计算机执行时能够实现上述任一项所述的数据处理方法。
在本申请的又一实施例中,提供了一种第二设备。该第二设备,包括:存储器和处理器,其中,
所述存储器,用于存储程序;
所述处理器,与所述存储器耦合,用于执行所述存储器中存储的所述程序,以实现上述任一项所述的数据处理方法。
在本申请的又一实施例中,提供了一种存储有计算机程序的计算机可读存储介质,所述计算机程序被计算机执行时能够实现上述任一项所述的数据处理方法。
本申请实施例提供的技术方案中,先对多条第一行数据执行拼接操作,然后再对拼接得到的第一序列化数据执行加密操作,得到第一序列化密文;拼接表结构序列化数据和第一序列化密文即可得到最终的用于存储或传输的目标序列化数据;在最终的用于存储或传输的目标序列化数据中,多条第一行数据对应的表结构信息在目标序列化数据中仅出现一次,不存在表结构信息冗余的情况,可节省存储资源和网络带宽资源,提高数据交互效率。这样,在密文存储场景下,可节省存储资源;在密文传输场景下,可节省网络带宽资源,提高数据交互效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请一实施例提供的数据处理***的方法的结构框图;
图2为本申请一实施例提供的数据处理方法的流程示意图;
图3为本申请一实施例提供的数据处理方法的流程示意图;
图4为本申请一实施例提供的数据处理示例图;
图5为本申请一实施例提供的格式转换示例图;
图6为本申请一实施例提供的电子设备的结构框图。
具体实施方式
全加密数据计算旨在消除数据在运行中任何时刻的数据泄露隐患,保证数据在传输、使用和存储全程以序列化密文形式存在,同时仍然具备完整的大数据计算引擎的能力。全加密数据计算技术能够排除云平台以及运维人员接触到明文数据的可能,保证客户对其云上数据的完全所有权,可确保:云端数据产品在提供数据服务的过程中,全程无法获得用户的明文数据;授权用户可以通过指定协议“操作”云端数据产品内的数据;未授权用户无法获得被保护用户的明文数据。
在数据计算中,不同客户可能对数据安全等级有不同的需求。目前,有如下三种加密计算方案:可信执行环境(Trusted Execution Environment,TEE);安全的虚拟机;自定义的安全沙箱容器。其中,基于可信执行环境的飞地的加密计算方案的安全等级最高,安全的虚拟机的安全等级次之,自定义的安全沙箱容器的安全等级最低。
其中,基于可信执行环境的加密计算方案中,数据的计算完全在 TEE 中完成。数据只有在TEE中才会被解密成明文,并参与计算。
在序列化密文场景中,需要对数据进行加密以及序列化。现有技术,在对数据库数据进行序列化时,采用扁平缓冲器(Flatbuffer)来封装数据库数据,其中,数据库中的每个字段值都需要采用“字段名+数据类型+字段值”的三元组方式进行表示,导致数据膨胀大。另外,扁平缓冲器带来的复杂数据结构也给解析带来很大的开销。在时间和空间上都不能满足大数据序列化密文场景中的性能要求。
为了解决或部分解决上述技术问题,本申请实施例提供了一种数据处理方案。在该方案中,先对多条第一行数据执行拼接操作,然后再对拼接得到的第一序列化数据执行加密操作,得到第一序列化密文;拼接表结构序列化数据和第一序列化密文即可得到最终的用于存储或传输的目标序列化数据;在最终的用于存储或传输的目标序列化数据中,多条第一行数据对应的表结构信息在目标序列化数据中仅出现一次,不存在表结构信息冗余的情况,可节省存储资源和网络带宽资源,提高数据交互效率。这样,在密文存储场景下,可节省存储资源;在密文传输场景下,可节省网络带宽资源,提高数据交互效率。
为了使本技术领域的人员更好地理解本申请方案,下面将根据本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
此外,在本申请的说明书、权利要求书及上述附图中描述的一些流程中,包含了按照特定顺序出现的多条操作,这些操作可以不按照其在本文中出现的顺序来执行或并行执行。操作的序号如101、102等,仅仅是用于区分各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
在介绍本申请实施例提供的技术方案之前,对本申请实施例提供的技术方案所涉及的***架构进行介绍。如图1所示,数据处理***包括:第一设备10和第二设备20。
所述第一设备10,用于:获取多条第一行数据;所述多条第一行数据对应相同的表结构信息;对所述多条第一行数据执行拼接操作,得到第一序列化数据;对所述第一序列化数据进行加密,得到第一序列化密文;对所述多条第一行数据对应的表结构信息进行序列化,得到表结构序列化数据;拼接所述表结构序列化数据和所述第一序列化密文,得到目标序列化数据;其中,所述表结构信息在所述目标序列化数据中仅出现一次;将所述目标序列化数据发送给所述第二设备20;
所述第二设备20,用于:从所述目标序列化数据中,确定出所述表结构序列化数据和所述第一序列化密文;对所述表结构序列化数据进行反序列化,得到所述多条第一行数据对应的表结构信息;对所述第一序列化密文进行解密,得到所述第一序列化数据;从所述第一序列化数据中,确定出所述多条第一行数据;根据所述多条第一行数据对应的表结构信息以及所述多条第一行数据,生成结构化数据。
在一实例中,上述第一设备10可以为客户端设备;第二设备20可以为服务端设备。其中,第一设备10可以采用本申请实施例提供的方法对数据库数据进行加密和序列化操作;第二设备20可以采用本申请实施例提供的方法对第一设备10发送来的数据进行解密和反序列化,得到数据库数据。
本申请实施例提供的技术方案中,先对多条第一行数据执行拼接操作,然后再对拼接得到的第一序列化数据执行加密操作,得到第一序列化密文;拼接表结构序列化数据和第一序列化密文即可得到最终的用于存储或传输的目标序列化数据;在最终的用于存储或传输的目标序列化数据中,多条第一行数据对应的表结构信息在目标序列化数据中仅出现一次,不存在表结构信息冗余的情况,可节省存储资源和网络带宽资源,提高数据交互效率。这样,在密文存储场景下,可节省存储资源;在密文传输场景下,可节省网络带宽资源,提高数据交互效率。
在一种可实现的方案中,上述第二设备中可设有可信执行环境TEE。可信执行环境TEE是指在设备上一个独立于不可信操作***而存在的可信的、隔离的、独立的执行环境,为不可信环境中的隐私数据和敏感计算提供了一个安全而机密的空间, 其安全性通常通过硬件相关的机制来保障。具体地,可通过软硬件方法在第二设备的中央处理器中构建一个安全区域,保证其内部加载的程序和数据在机密性和完整性上得到保护。TEE是CPU内的一个安全区域,它运行在一个独立的环境中且与操作***并行运行。CPU确保 TEE 中代码和数据的机密性和完整性都得到保护。通过同时使用硬件和软件来保护数据和代码,TEE比操作***更加安全。在 TEE 中运行的受信任应用程序可以访问设备主处理器和内存的全部功能,而硬件隔离保护这些组件不受主操作***中运行的用户安装应用程序的影响。一句话,运行在TEE中的代码和数据,是保密且不可篡改的。
上述第一设备和第二设备的具体实现以及两者之间的交互过程将在下述各实施例中介绍。
图2示出了本申请一实施例提供的数据处理方法的流程示意图。该方法的执行主体可以为上述第一设备。如图2所示,该方法包括:
201、确定第一序列化数据。
其中,所述第一序列化数据是由多条第一行数据拼接得到的;所述多条第一行数据对应相同的表结构信息。
202、对所述第一序列化数据执行加密操作,得到第一序列化密文。
203、对所述多条第一行数据对应的表结构信息进行序列化,得到表结构序列化数据。
204、对所述表结构序列化数据和所述第一序列化密文执行拼接操作,得到目标序列化数据。
上述201中,在数据库中,每条行数据对应多个字段(或称多个列)。表结构信息就是定义一个表的字段、类型、主键、外键、索引等基本属性,这些基本属性组成了数据库的表结构。也就是说,表结构(schema)信息包含:字段名、字段类型、字段长度、主键、外键、索引等信息。
每条第一行数据中包括多个字段的字段值。在一实例中,可将多条第一行数据中多个字段的字段值进行拼接,得到第一序列化数据。具体的拼接方式可根据实际需要来选择。拼接得到的第一序列化数据中包含多条第一行数据中各第一行数据中多个字段的字段值,但不包含表结构信息(也即不包含表结构信息中所包含的任意信息)。
在一种可实现的方案中,多条第一行数据可以为行存储格式,具体地,可以是不包含表结构信息的行存储格式。行存储格式指的是行数据在磁盘中的存储格式,该存储格式为二进制格式。行存储格式也可称为行格式或记录格式。
实际应用中,行存储格式包括但不限于:紧凑行格式(Compact row format)、动态行格式(Dynamic row format)、压缩行格式(Compressed row format)和可变的基于原始内存的二进制行格式(UnsafeRow)。在一实例中,上述行格式可以为UnsafeRow。
由于处于行存储格式下的多条第一行数据均为二进制数据,对处于行存储格式下的多条第一行数据执行拼接操作得到的第一序列化数据也属于二进制数据。
上述202中,对所述第一序列化数据执行加密操作,得到第一序列化密文。第一序列化密文属于序列化的数据,也即二进制数据。
需要说明的是,对数据进行加密时,是需要添加附加信息的。若对多条第一行数据分别进行加密,则每条第一行数据都需要添加一次附加信息,这会导致最终得到的数据长度较长。因此,本申请实施例的技术方案是将多条第一行数据进行拼接,拼接后再进行加密,这样只需要添加一次附加信息即可,可缩短最终得到的数据长度。并且只需要调用一次压缩函数即可完成加密操作,节省了CPU的处理时间。
上述203中,对多条第一行数据对应的表结构信息进行序列化,得到表结构序列化数据。表结构序列化数据也属于序列化的数据。实际应用中,可对表结构信息中所包含的字段名、字段类型、字段长度、主键、外键、索引等分别进行序列化,得到多个第三序列化数据;按照预设的顺序将多个第三序列化数据拼接,得到表结构序列化数据。预设的顺序可根据实际需要来确定,本申请实施例对此不作具体限定。在密文交互场景中,可由交互双方事先约定上述预设的顺序。
上述204中,表结构序列化数据和第一序列化密文均属于序列化的数据,那么,对表结构序列化数据和第一序列化密文执行拼接操作得到的目标序列化数据也属于序列化的数据。
在一种可实现的方案中,将表结构序列化数据和第一序列化密文拼接在一起,得到目标序列化数据。在目标序列化数据中,表结构序列化数据和第一序列化密文之间的排序可根据实际需要来选择。可选地,在目标序列化数据中,表结构序列化数据位于第一序列化密文之前。通常,计算机在读取序列化数据时,都是从前往后读取。当在目标序列化数据中表结构序列化数据位于第一序列化密文之前时,就可以先获取到表结构信息,然后再获取行数据。
本申请实施例提供的技术方案中,先对多条第一行数据执行拼接操作,然后再对拼接得到的第一序列化数据执行加密操作,得到第一序列化密文;拼接表结构序列化数据和第一序列化密文即可得到最终的用于存储或传输的目标序列化数据;在最终的用于存储或传输的目标序列化数据中,多条第一行数据对应的表结构信息在目标序列化数据中仅出现一次,不存在表结构信息冗余的情况,可节省存储资源和网络带宽资源,提高数据交互效率。这样,在密文存储场景下,可节省存储资源;在密文传输场景下,可节省网络带宽资源,提高数据交互效率。
在一种可实现的方案中,所述多条第一行数据为行存储格式,上述方法,还可包括:
205、拼接所述多条第一行数据,得到初始序列化数据。
206、根据所述多条第一行数据在所述初始序列化数据中的位置,确定所述多条第一行数据各自的第一偏移量。
207、对所述多条第一行数据各自的第一偏移量进行序列化,得到第一偏移量序列化数据。
208、拼接所述第一偏移量序列化数据与所述初始序列化数据,得到所述第一序列化数据。
上述206中,所述多条第一行数据在所述初始序列化数据中的位置也即所述多条第一行数据中各第一行数据整体在所述初始序列化数据中的位置。
第一行数据在拼接后数据中的位置具体可以是第一行数据的首字节在初始序列化数据中的偏移量。相应的,第一行数据的第一偏移量指的是第一行数据的首字节在初始序列化数据中的偏移量。
上述207中,具体地,可对多条第一行数据各自的第一偏移量分别进行序列化,得到多个第四序列化数据;拼接所述多个第四序列化数据,得到第一偏移量序列化数据。其中,多个第四序列化数据与多条第一行数据各自的第一偏移量一一对应。
上述208中,其中,在所述第一序列化数据中所述第一偏移量序列化数据位于所述初始序列化数据之前。这样,后续可方便地通过前面的偏移量来访问后面的数据,也就是说,无需从前到后顺序读取,可以根据偏移量将第一序列化数据中后面的数据先读取出来。
注:如果没有将上述第一偏移量序列化数据存储在第一序列化数据前方,就需要按照从前到后的顺序依次读取第一序列化数据中的数据。
为了进一步的减少传输数据量,还可对数据进行压缩。具体地,在上述步骤202之前,上述方法,还可包括:
209、对所述第一序列化数据进行压缩。
对第一序列化数据进行压缩,可减少第一序列化数据的长度。
相应的,上述步骤202中“对第一序列化数据执行加密操作”,包括:对压缩后的第一序列化数据进行压缩,得到第一序列化密文。
需要说明的是,对数据压缩的过程中,也是需要添加附加信息的。若对多条第一行数据分别进行压缩,则每条第一行数据都需要添加一次附加信息,这会导致最终得到的数据长度较长。因此,本申请实施例的技术方案是将多条第一行数据进行拼接,拼接后再进行压缩,这样只需要添加一次附加信息即可,可缩短最终得到的数据长度。并且只需要调用一次压缩函数即可完成压缩操作,节省了CPU的处理时间。
实际应用中,以TEE为例,TEE对应的内存空间较小,需要确保输入到TEE中的序列化密文的大小小于TEE对应的可用内存大小。若序列化密文的大小大于TEE对应的可用内存大小,TEE将无法处理该序列化密文。
在一种可实现的方案中,可将待处理的多条行数据进行分组,得到多个行数据组;针对每个行数据组,生成一个包含表结构序列化数据以及该行数据组对应的序列化密文的目标序列化数据。这样,可确保每个目标序列化数据的数据量较小,以满足TEE的计算要求。
但是,本申请实施例提供的技术方案依旧存在表结构冗余的问题。
举例来说:待处理的行数据有1000条,将1000条行数据分为10组,每组100条行数据,按照本实施例提供的技术方案,可生成10个目标序列化数据,每个目标序列化数据中都包含表结构序列化数据。也就是说,为了存储或传输这1000条行数据,表结构需要被重复存储或传输10次。
为了进一步减少表结构的冗余,本申请实施例提供了另一种技术方案。具体地,上述方法,还可包括:
210、确定第二序列化数据。
其中,所述第二序列化数据是由多条第一行数据拼接得到的;所述多条第二行数据对应的表结构信息与所述多条第一行数据对应的表结构信息相同。
在一实例中,所述多条第二行数据可以为不包含表结构信息的行存储格式。
注:本申请中,不包含表结构信息的行存储格式指的是不包含表结构信息中所包含的任意信息,例如:字段名、字段类型等等。
211、对所述第二序列化数据进行加密,得到第二序列化密文。
上述204中“对所述表结构序列化数据和所述第一序列化密文执行拼接操作,得到目标序列化数据”,可采用如下步骤来实现:
2041、对所述表结构序列化数据、所述第一序列化密文和所述第二序列化密文执行拼接操作,得到目标序列化数据。
上述210中,第二序列化数据的确定过程可参考上述第一序列化数据的确定过程,在此不再详述。
上述211中,对第二序列化数据进行加密的具体实现也可参考上述各实施例中有关第一序列化数据的加密过程,在此不再详述。
上述2041中,可依次拼接表结构序列化数据、第一序列化密文以及第二序列化密文,得到目标序列化数据。其中,在目标序列化数据中,表结构序列化数据可位于第一序列化密文以及第二序列化密文之前。
采用本申请实施例提供的技术方案,可将待处理的多条行数据进行分组,得到多个行数据组;针对每个行数据组,得到相应的序列化密文;然后拼接表结构序列化数据以及多个行数据组各自对应的序列化密文,进而得到目标序列化数据。由于序列化密文的数据量较小,后续需要利用TEE执行计算时,可将目标序列化数据中的序列化密文作为一个输入单元输入至TEE中。
实际应用中,在基于TEE的分布式计算场景中,一个计算任务会由多个计算节点共同来完成,也就是说,待计算的数据需要分散给不同的计算节点。采用本申请实施例提供的密文格式,可以很方便地将不同的序列化密文分发给不同的计算节点,以在不同计算节点上的TEE中进行计算。
具体的,上述方法,还可包括:
212、获取待处理的多条行数据。
其中,所述多条行数据对应相同的表结构信息;所述多条行数据为行存储格式。
213、对所述多条行数据进行分组,得到多个行数据组。
所述多个行数据组中包括:第一行数据组和第二行数据组。所述第一行数据组中包括所述多条第一行数据;所述第二行数据组中包括所述多条第二行数据。
214、获取所述多个行数据组各自对应的序列化密文。
所述第一行数据组对应的序列化密文为上述第一序列化密文;所述第二行数据组对应的序列化密文为上述第二序列化密文。
215、对表结构序列化数据、所述多个行数据组各自对应的序列化密文执行拼接操作,得到目标序列化数据。
当需要以密文形式存储或传输的行数据量较多时,可采用本申请实施例提供的技术方案,不仅能够满足TEE的计算需求,还能够减少数据冗余量。
可选地,上述2041中“对所述表结构序列化数据、所述第一序列化密文和所述第二序列化密文执行拼接操作,得到目标序列化数据”,可采用如下步骤来实现:
S11、拼接所述第一序列化密文和所述第二序列化密文,得到拼接后序列化密文。
S12、根据所述第一序列化密文和所述第二序列化密文各自在所述拼接后序列化密文中的位置,确定所述第一序列化密文和所述第二序列化密文各自的第二偏移量。
S13、对所述第一序列化密文和所述第二序列化密文各自的第二偏移量进行序列化,得到第二偏移量序列化数据。
S14、拼接所述表结构序列化数据、所述第二偏移量序列化数据以及所述拼接后序列化密文,得到目标序列化数据。
上述S12中,第一序列化密文在拼接后序列化密文中的位置指的是第一序列化密文的首字节在拼接后序列化密文中的偏移量。也就是说,第一序列化密文的第二偏移量指的是第一序列化密文的首字节在拼接后序列化密文中的偏移量。
第二序列化密文在拼接后序列化密文中的位置指的是第二序列化密文的首字节在拼接后序列化密文中的偏移量。也就是说,第二序列化密文的第二偏移量指的是第二序列化密文的首字节在拼接后序列化密文中的偏移量。
上述S13中,分别对第一序列化密文和第二序列化密文各自的第二偏移量进行序列化,得到两个第五序列化数据;拼接两个第五序列化数据得到第二偏移量序列化数据。
上述S14中,在所述目标序列化数据中,所述第二偏移量序列化数据位于所述拼接后序列化密文之前。这样,后续可方便地通过前面的偏移量来访问后面的数据,也就是说,无需从前到后顺序读取一个个的序列化密文,可以根据第二偏移量将目标序列化数据中后面的序列化密文先读取出来。
进一步的,上述方法,还可包括:
216、确定所述加密操作所涉及的密钥元数据。
217、对所述密钥元数据进行序列化,得到密钥元数据序列化数据。
相应的,上述204中“对所述表结构序列化数据和所述第一序列化密文执行拼接操作,得到目标序列化数据”,可包括:
2042、对所述表结构序列化数据、所述密钥元数据序列化数据和所述第一序列化密文执行拼接操作,得到目标序列化数据。
上述216中,密钥元数据可包括:密钥算法名称、密钥ID(Identity document,身份标识)号。其中,密钥ID号用来唯一标识密钥的。加密所使用的密钥并不包含在密钥元数据中,该密钥后续可根据密钥ID号从数据库中获取得到。
上述2042中,拼接所述表结构序列化数据、所述密钥元数据序列化数据和所述第一序列化密文,得到目标序列化数据。
在目标序列化数据中,表结构序列化数据、密钥元数据序列化数据都可位于第一序列化密文之前。
实际应用中,当第一序列化密文和第二序列化密文所涉及的密钥算法和密钥都相同时,目标序列化数据中只需要存储一份上述密钥元数据序列化数据即可。当针对第一序列化密文和第二序列化密文进行加密所使用的密钥算法和密钥不相同时,还需要针对第二序列化密文,生成另一个密钥元数据序列化数据,并在目标序列化数据中存储这另一个密钥元数据序列化数据。另一个密钥元数据序列化数据的具体生成方式可参见上述密钥元数据序列化数据的生成方式。
实际应用中,很多数据是以其他密文形式存储的,为了将其他密文转换成本申请实施例提供的密文存储方式时,可先对其他形式的密文进行解密,得到多条行数据及其对应的表结构信息;然后按照上述各实施例提供的技术方案进行序列化和加密,并存储以供后续使用。
采用本申请实施例提供的数据处理方案,能够支持嵌套的行数据,例如:行数据中包括:数组(array)、结构体(struct)、图(map),等等。
实际应用中,在不同的存储***中,数据库数据是以不同的格式存储的,例如:逗号分隔值文件格式(Comma-Separated Values,CSV)、序列文件格式(SequenceFile)、Json格式(JavaScript Object Notation, JS对象简谱)、列式存储格式(parquet),等等。上述方法,还可包括:
确定待处理的数据库数据;
当所述数据库数据对应的行数据不是不包含表结构信息的行存储格式时,对数据库数据进行格式转换,得到行存储格式下的多条第一行数据。
其中,不包含表结构信息的行存储格式指的是不包含表结构信息中任意信息的行存储格式。
图3示出了本申请又一实施例提供的数据处理方法的流程示意图。该方法的执行主体可以为第二设备。如图3所示,该方法包括:
301、获取目标序列化数据。
其中,所述目标序列化数据是对表结构序列化数据和第一序列化密文执行拼接操作后得到的;所述表结构序列化数据是对多条第一行数据对应的表结构信息进行序列化得到的;所述第一序列化密文是对第一序列化数据进行加密得到的;所述第一序列化数据是对多条第一行数据执行拼接操作后得到的;所述多条第一行数据对应相同的表结构信息;其中,所述表结构信息在所述目标序列化数据中仅出现一次。
302、从所述目标序列化数据中,确定出所述表结构序列化数据和所述第一序列化密文。
303、对所述表结构序列化数据进行反序列化,得到所述多条第一行数据对应的表结构信息。
304、对所述第一序列化密文进行解密,得到所述第一序列化数据。
305、从所述第一序列化数据中,确定出所述多条第一行数据。
306、根据所述多条第一行数据对应的表结构信息以及所述多条第一行数据,生成结构化数据。
上述301中,目标序列化数据的确定过程可参见上述各实施例中相应内容,在此不再赘述。
上述302中,从所述目标序列化数据中读取出所述表结构序列化数据和第一序列化密文。
上述303中,反序列化是序列化的逆过程。
上述304中,可利用预设的密钥算法对第一序列化密文进行解密,得到解密数据。
在一实例中,上述解密数据为第一序列化数据;在另一实例中,对解密数据进行解压缩,得到第一序列化数据。
上述305中,可从第一序列化数据中读取出多条第一行数据。
上述306中,按照表结构信息来组织每条第一行数据,得到结构化数据,例如:数据库表。
本申请实施例提供的技术方案中,先对多条第一行数据执行拼接操作,然后再对拼接得到的第一序列化数据执行加密操作,得到第一序列化密文;拼接表结构序列化数据和第一序列化密文即可得到最终的用于存储或传输的目标序列化数据;在最终的用于存储或传输的目标序列化数据中,多条第一行数据对应的表结构信息在目标序列化数据中仅出现一次,不存在表结构信息冗余的情况,可节省存储资源和网络带宽资源,提高数据交互效率。这样,在密文存储场景下,可节省存储资源;在密文传输场景下,可节省网络带宽资源,提高数据交互效率。
实际应用中,上述步骤304、305以及306是在可信执行环境TEE中执行的,这样可保证数据的安全性。
在一实例中,所述第一序列化数据是通过拼接第一偏移量序列化数据与初始序列化数据得到的;在所述第一序列化数据中所述第一偏移量序列化数据位于所述初始序列化数据之前。其中,第一偏移量序列化数据的确定方式可参见上述各实施例中相应内容,在此不再赘述。
上述305中“从所述第一序列化数据中,确定出所述多条第一行数据”,可采用如下步骤来实现:
3051、从所述第一序列化数据中,读取所述第一偏移量序列化数据。
3052、对所述第一偏移量序列化数据执行反序列化操作,得到多行第一行数据各自的第一偏移量。
3053、根据多条第一行数据各自的第一偏移量,从第一序列化数据中读取多条第一行数据。
由于可以事先能够获取到多条第一行数据各自的第一偏移量,因此,可根据实际需要来选择多条第一行数据的读取顺序,不会受限于多条第一行数据在第一序列化数据中的存储顺序。
可选地,上述目标序列化数据是对所述表结构序列化数据、所述第一序列化密文和所述第二序列化密文执行拼接操作得到的。上述第二序列化密文的确定过程可参见上述各实施例中相应内容。
上述302中“从所述目标序列化数据中,确定出所述表结构序列化数据和所述第一序列化密文”,可包括:
3021、从所述目标序列化数据中,确定出所述表结构序列化数据、所述第一序列化密文和所述第二序列化数据。
进一步的,上述目标序列化数据是对所述表结构序列化数据、第二偏移量序列化数据、所述第一序列化密文和所述第二序列化密文执行拼接操作得到的。其中,在所述目标序列化数据中,所述第二偏移量序列化数据位于第一序列化密文和第二序列化密文之前。第二偏移量序列化数据的确定过程可参见上述各实施例中相应内容,在此不再赘述。
上述3021中“从所述目标序列化数据中,确定出所述表结构序列化数据、所述第一序列化密文和所述第二序列化数据”,可采用如下步骤来实现:
S22、从所述目标序列化数据中,读取出表结构序列化数据。
S23、从所述目标序列化数据中,读取出第二偏移量序列化数据。
S24、对第二偏移量序列化数据进行反序列化,得到所述第一序列化密文和所述第二序列化密文各自的第二偏移量。
S25、根据所述第一序列化密文和所述第二序列化密文各自的第二偏移量,从所述目标序列化数据中读取出第一序列化密文和第二序列化密文。
由于第二偏移量能够事先获取,因此,可根据实际需要来选择第一序列化密文和第二序列化密文的读取顺序,不会受限于第一序列化密文和第二序列化密文的存储顺序。
可选地,目标序列化数据是对所述表结构序列化数据、所述密钥元数据序列化数据和所述第一序列化密文执行拼接操作得到的。在目标序列化数据中,表结构序列化数据、密钥元数据序列化数据都可位于第一序列化密文之前。密钥元数据序列化数据的确定过程可参见上述各实施例中相应内容。
上述302中“从所述目标序列化数据中,确定出所述表结构序列化数据和所述第一序列化密文”,具体可包括:从所述目标序列化数据中,确定出所述表结构序列化数据、所述密钥元数据序列化数据和所述第一序列化密文。相应的,上述方法,还可包括:对密钥元数据序列化数据进行反序列化,得到密钥元数据。
相应的,上述304中“对所述第一序列化密文进行解密,得到所述第一序列化数据”,可采用如下步骤来实现:
3041、根据密钥元数据,对第一序列化密文进行解密,得到第一序列化数据。
其中,密钥元数据包括密钥算法名称以及密钥ID号。可根据密钥算法名称,确定密钥算法;根据密钥ID号,获取密钥;按照密钥算法和密钥对第一序列化密文进行解密。
此外,第二设备还可从加密数据库中获取密文数据;然后对密文数据进行解密,得到数据库数据;对数据库数据进行格式转换,得到行存储格式下的多条第一行数据和/或多条第二序列化数据;后续对多条第一行数据、多条第二行数据的处理以获得目标序列化数据的过程可参见上述各实施例中相应内容。具体地,如图5所示,可在第二设备的TEE环境中设置格式转换器500,由格式转换器500将加密数据中的密文数据转换成目标序列化数据。
这里需要说明的是:本申请实施例提供的所述方法中各步骤未尽详述的内容可参见上述实施例中的相应内容,此处不再赘述。此外,本申请实施例提供的所述方法中除了上述各步骤以外,还可包括上述各实施例中其他部分或全部步骤,具体可参见上述各实施例相应内容,在此不再赘述。
下面将结合图4对本申请实施例进行举例介绍:
401、获取多条行数据。
其中,多条行数据对应相同的表结构信息;所述多条行数据为不包含表结构信息的行存储格式。
402、对多条行数据进行分组,得到第一行数据组和第二行数据组。
403、对第一行数据组中的多条第一行数据进行拼接,得到第一序列化数据;对第二行数据组中的多条第二行数据进行拼接,得到第二序列化数据。
404、对第一序列化数据进行压缩,得到第一压缩后数据;对第二序列化数据进行压缩,得到第二压缩后数据。
405、分别对第一压缩后数据和第二压缩后数据进行压缩,得到第一序列化密文和第二序列化密文。
406、拼接表结构序列化数据、密钥元数据序列化数据、第二偏移量序列化数据、第一序列化密文和第二序列化密文,得到目标序列化数据。
在目标序列化数据中,表结构序列化数据、密钥元数据序列化数据和第二偏移量序列化数据位于第一序列化密文和第二序列化密文之前。
上述表结构序列化数据、密钥元数据序列化数据、第二偏移量序列化数据的具体确定过程可参见上述各实施例中相应内容,在此不再赘述。
上述步骤401到406为加密流程,解密流程与之相反,在此不再详述。
这里需要说明的是:本申请实施例提供的所述方法中各步骤未尽详述的内容可参见上述实施例中的相应内容,此处不再赘述。此外,本申请实施例提供的所述方法中除了上述各步骤以外,还可包括上述各实施例中其他部分或全部步骤,具体可参见上述各实施例相应内容,在此不再赘述。
本申请实施例提供的技术方案能够应用在金融、互联网等领域。以互联网领域为例,第一网站平台和第二网站平台拥有各自的用户数据,第一网站平台想要知道其与第二网站平台的用户群体相似度,以确定第二网站平台与第一网站平台的关联度,进而决定是否将第二网站平台作为运营推广渠道。这个时候,就需要根据两个平台各自的用户数据来确定用户群体相似度,然而,每个平台都不希望对方获知自己的用户数据。在这种情况下,两个平台可以将自己的用户数据密文上传至可信的第二设备。第二设备中设有TEE,第二设备在TEE中对用户数据密文进行解密并计算,进而确定出用户群体相似度。其中,两个平台都可以采用本申请实施例提供的方法对多条用户数据(一条用户数据对应一行数据)进行处理,得到目标序列化数据,并将目标序列化数据上传给第二设备。
图5示出了本申请一实施例提供的电子设备的结构示意图。该电子设备可以是上述第一设备,还可以是上述第二设备。如图5所示,所述电子设备包括存储器1101以及处理器1102。存储器1101可被配置为存储其它各种数据以支持在电子设备上的操作。这些数据的示例包括用于在电子设备上操作的任何应用程序或方法的指令。存储器1101可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
所述存储器1101,用于存储程序;
所述处理器1102,与所述存储器1101耦合,用于执行所述存储器1101中存储的所述程序,以实现上述各方法实施例提供的数据处理方法。
进一步,如图5所示,电子设备还包括:通信组件1103、显示器1104、电源组件1105、音频组件1106等其它组件。图5中仅示意性给出部分组件,并不意味着电子设备只包括图5所示组件。
相应地,本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,所述计算机程序被计算机执行时能够实现上述各方法实施例提供的数据处理方法的步骤或功能。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多条网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (11)

1.一种数据处理方法,其中,包括:
确定第一序列化数据和第二序列化数据;所述第一序列化数据是由多条第一行数据拼接得到的;所述第二序列化数据是由多条第二行数据拼接得到的;所述多条第一行数据和所述多条第二行数据对应相同的表结构信息;
分别对所述第一序列化数据和所述第二序列化数据执行加密操作,得到第一序列化密文和第二序列化密文;
对所述第一序列化密文和所述第二序列化密文各自在拼接后序列化密文中的第二偏移量进行序列化,得到第二偏移量序列化数据;所述拼接后序列化密文由所述第一序列化密文和所述第二序列化密文拼接得到;
对所述多条第一行数据对应的表结构信息进行序列化,得到表结构序列化数据;
对所述表结构序列化数据、所述第二偏移量序列化数据和所述拼接后序列化密文执行拼接操作,得到目标序列化数据;其中,所述表结构信息在所述目标序列化数据中仅出现一次,在所述目标序列化数据中,所述表结构序列化数据和所述第二偏移量序列化数据位于所述拼接后序列化密文之前。
2.根据权利要求1所述的方法,其中,所述多条第一行数据为行存储格式;所述方法,还包括:
拼接所述多条第一行数据,得到初始序列化数据;
根据所述多条第一行数据在所述初始序列化数据中的位置,确定所述多条第一行数据各自的第一偏移量;
对所述多条第一行数据各自的第一偏移量进行序列化,得到第一偏移量序列化数据;
拼接所述第一偏移量序列化数据与所述初始序列化数据,得到所述第一序列化数据;其中,在所述第一序列化数据中所述第一偏移量序列化数据位于所述初始序列化数据之前。
3.根据权利要求1所述的方法,其中,在对所述第一序列化数据执行加密操作之前,所述方法,还包括:
对所述第一序列化数据进行压缩。
4.根据权利要求1至3中任一项所述的方法,其中,还包括:
确定所述加密操作所涉及的密钥元数据;
对所述密钥元数据进行序列化,得到密钥元数据序列化数据;
对所述表结构序列化数据和所述第一序列化密文执行拼接操作,得到目标序列化数据,包括:
对所述表结构序列化数据、所述密钥元数据序列化数据和所述第一序列化密文执行拼接操作,得到目标序列化数据。
5.一种数据处理方法,其中,包括:
获取目标序列化数据;所述目标序列化数据是对表结构序列化数据、第二偏移量序列化数据和拼接后序列化密文执行拼接操作后得到的;所述表结构序列化数据是对多条第一行数据对应的表结构信息进行序列化得到的;所述拼接后序列化密文由第一序列化密文和第二序列化密文拼接得到;所述第一序列化密文是对第一序列化数据进行加密得到的;所述第一序列化数据是对所述多条第一行数据执行拼接操作后得到的;所述第二序列化密文是对第二序列化数据进行加密得到的;所述第二序列化数据是对多条第二行数据执行拼接操作后得到的;所述第二偏移量序列化数据是对所述第一序列化密文和所述第二序列化密文各自在所述拼接后序列化密文中的第二偏移量进行序列化得到的;所述多条第一行数据和所述多条第二行数据对应相同的表结构信息;所述表结构信息在所述目标序列化数据中仅出现一次;
从所述目标序列化数据中,确定出所述表结构序列化数据和所述第一序列化密文;
对所述表结构序列化数据进行反序列化,得到所述多条第一行数据对应的表结构信息;
对所述第一序列化密文进行解密,得到所述第一序列化数据;
从所述第一序列化数据中,确定出所述多条第一行数据;
根据所述多条第一行数据对应的表结构信息以及所述多条第一行数据,生成结构化数据。
6.根据权利要求5所述的方法,其中,所述对所述第一序列化密文进行解密,得到所述第一序列化数据的步骤、所述从所述第一序列化数据中,获取所述多条第一行数据的步骤以及所述根据所述多条第一行数据对应的表结构信息以及所述多条第一行数据,生成结构化数据的步骤是在可信执行环境中执行的。
7.一种数据处理***,其中,包括:第一设备和第二设备;
所述第一设备,用于实现:权利要求1至4中任一项所述的数据处理方法;并将目标序列化数据发送给所述第二设备;
所述第二设备,用于实现:获取所述目标序列化数据;从所述目标序列化数据中,确定出所述表结构序列化数据和所述第一序列化密文;对所述表结构序列化数据进行反序列化,得到所述多条第一行数据对应的表结构信息;对所述第一序列化密文进行解密,得到所述第一序列化数据;从所述第一序列化数据中,确定出所述多条第一行数据;根据所述多条第一行数据对应的表结构信息以及所述多条第一行数据,生成结构化数据。
8.一种第一设备,其中,包括:存储器和处理器,其中,
所述存储器,用于存储程序;
所述处理器,与所述存储器耦合,用于执行所述存储器中存储的所述程序,以实现权利要求1至4中任一项所述的数据处理方法。
9.一种存储有计算机程序的计算机可读存储介质,其中,所述计算机程序被计算机执行时能够实现权利要求1至4中任一项所述的数据处理方法。
10.一种第二设备,其中,包括:存储器和处理器,其中,
所述存储器,用于存储程序;
所述处理器,与所述存储器耦合,用于执行所述存储器中存储的所述程序,以实现权利要求5或6所述的数据处理方法。
11.一种存储有计算机程序的计算机可读存储介质,其中,所述计算机程序被计算机执行时能够实现权利要求5或6所述的数据处理方法。
CN202211420261.XA 2022-11-15 2022-11-15 数据处理方法、***、设备及存储介质 Active CN115563638B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211420261.XA CN115563638B (zh) 2022-11-15 2022-11-15 数据处理方法、***、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211420261.XA CN115563638B (zh) 2022-11-15 2022-11-15 数据处理方法、***、设备及存储介质

Publications (2)

Publication Number Publication Date
CN115563638A CN115563638A (zh) 2023-01-03
CN115563638B true CN115563638B (zh) 2023-04-18

Family

ID=84770288

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211420261.XA Active CN115563638B (zh) 2022-11-15 2022-11-15 数据处理方法、***、设备及存储介质

Country Status (1)

Country Link
CN (1) CN115563638B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106155630A (zh) * 2015-04-14 2016-11-23 阿里巴巴集团控股有限公司 序列化方法、反序列化方法、序列化装置及反序列化装置
CN111756779A (zh) * 2019-03-26 2020-10-09 阿里巴巴集团控股有限公司 数据序列化处理方法、装置及计算机***
CN113312344A (zh) * 2021-07-28 2021-08-27 阿里云计算有限公司 数据序列化、反序列化方法、设备、***、介质及产品
CN114385139A (zh) * 2021-12-29 2022-04-22 武汉达梦数据库股份有限公司 一种flink框架运行ETL流程的消息序列化以及比较方法与装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6941316B2 (en) * 2003-10-23 2005-09-06 Microsoft Corporation System and method for object persistence in a database store
US9378237B2 (en) * 2014-04-15 2016-06-28 Google Inc. Methods for in-place access of serialized data
CN111930568A (zh) * 2020-08-05 2020-11-13 上海英方软件股份有限公司 一种基于Avro的结构化数据序列化传输方法及装置
CN112612427B (zh) * 2020-12-30 2022-11-25 北京优挂信息科技有限公司 一种车辆停靠点数据处理方法、装置、存储介质及终端
CN113553033B (zh) * 2021-06-24 2022-04-19 厦门正航软件科技有限公司 对象序列化和反序列化方法、装置及计算机可读存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106155630A (zh) * 2015-04-14 2016-11-23 阿里巴巴集团控股有限公司 序列化方法、反序列化方法、序列化装置及反序列化装置
CN111756779A (zh) * 2019-03-26 2020-10-09 阿里巴巴集团控股有限公司 数据序列化处理方法、装置及计算机***
CN113312344A (zh) * 2021-07-28 2021-08-27 阿里云计算有限公司 数据序列化、反序列化方法、设备、***、介质及产品
CN114385139A (zh) * 2021-12-29 2022-04-22 武汉达梦数据库股份有限公司 一种flink框架运行ETL流程的消息序列化以及比较方法与装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
佚名.Unity材质冗余序列化数据清理.https://zhuanlan.zhihu.com/p/366636732/utm_id=0.2021,全文. *

Also Published As

Publication number Publication date
CN115563638A (zh) 2023-01-03

Similar Documents

Publication Publication Date Title
US9489521B2 (en) Format preserving encryption methods for data strings with constraints
US8401186B2 (en) Cloud storage data access method, apparatus and system based on OTP
US10608813B1 (en) Layered encryption for long-lived data
US10476663B1 (en) Layered encryption of short-lived data
US10929402B1 (en) Secure join protocol in encrypted databases
US11722313B2 (en) State synchronization for post-quantum signing facilities
CN111950030A (zh) 基于区块链的数据共享存储方法、终端设备和存储介质
US9641328B1 (en) Generation of public-private key pairs
CN111611621A (zh) 基于区块链的分布式数据加密存储方法和电子设备
CN108170753B (zh) 一种共有云中Key-Value数据库加密与安全查询的方法
CN114443718A (zh) 一种数据查询方法及***
EP3959841B1 (en) Compression and oblivious expansion of rlwe ciphertexts
CN112182109A (zh) 基于区块链的分布式数据编码存储方法和电子设备
CN115603907A (zh) 加密存储数据的方法、装置、设备和存储介质
CN117081740B (zh) 基于密码机资源池的密钥管理方法及装置
KR102418090B1 (ko) 원본 파일을 여러개로 분할하고 분할된 파일들을 암호화하고 암호화된 파일들을 복호화하여 원본 파일을 복원하는 컴퓨터 프로그램과 그 방법
CN111931204A (zh) 用于分布式***的加密去重存储方法、终端设备
CN115563638B (zh) 数据处理方法、***、设备及存储介质
CN114374518B (zh) 具有交集计数的psi获取交集信息的方法、装置及存储介质
CN115361198A (zh) 解密方法、加密方法、装置、计算机设备和存储介质
CN112181308A (zh) 基于区块链的分布式数据存储方法和电子设备
CN114006689B (zh) 基于联邦学习的数据处理方法、装置及介质
CN116866029B (zh) 随机数加密数据传输方法、装置、计算机设备及存储介质
CN112925853B (zh) 基于区块链的可信数据交换方法、装置、终端设备和介质
CN116383803B (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