本发明涉及数据处理,具体涉及一种应用于大规模网络数据传输的方法。
背景技术:
1、在计算机系统中,需要将数据存储在文件、数据库或网络中,并在不同的系统之间传输。序列化和反序列化提供了一种使数据在存储和传输过程中保持完整性的方式,先进的序列化和反序列化技术能够大幅提升数据传输效率。
2、序列化和反序列化技术在分布式系统、网络数据传输和持久化等领域起到了重要的作用,提供了灵活、高效的数据交换和存储方式。通用的网络数据序列化和反序列化技术包括:
3、1、json序列化
4、使用json(javascript object notation)格式将对象序列化为字符串,常用于web应用程序和跨平台通信。缺点:1)数据冗余,字符串数据比原始数据占用更多的存储空间;2)解析耗时,在进行反序列化将字符串数据解析为相对应的数据结构时耗时较长;
5、2、xml序列化
6、使用xml(extensible markup language)格式将对象序列化为字符串,常用于数据交换和配置文件。缺点:1)增加数据体积和传输开销,降低数据存储的效率;2)可调式性差,在处理大型或复杂结构的数据时,对数据的理解和调试更加困难;
7、3、protocol序列化
8、google开发的二进制序列化格式,具有高效的编解码性能和较小的数据体积。缺点:1)开发和维护复杂,需要使用对应的编译器进行编写和维护,需要开发者专门学习使用,提高了开发门槛;2)不适用动态数据传递,因为protocol数据定义和编译过程是静态的,不太适用需要动态生成和操作的数据结构场景;3)可扩展性差,每一个数据类都会生成对应proto文件,如果某个类发生修改,需要重新编写和生成文件,不利于系统快速更新和调整;
9、4、java的序列化
10、java语言提供的一种将对象序列化和反序列化为字节流的机制。缺点:1)数据冗余,且传输效率低;2)兼容性差,其他计算机语言无法识别和对接,无法满足跨系统通信需求。
技术实现思路
1、本发明的目的是针对现有技术存在的不足,提供一种应用于大规模网络数据传输的方法。
2、为实现上述目的,本发明提供了一种应用于大规模网络数据传输的方法,包括:
3、通过定义的动态语言运行时完成待传输数据的存取和类型识别绑定;
4、对所述待传输数据进行结构分析,以确定所述待传输数据中的每个数据项的大小和位序;
5、对所述待传输数据进行位存储编码,以将所述待传输数据分割为多个独立的位,每个位由0或1进行表示,并将多个独立的位经过位操作、位压缩、位序列处理后形成位序列,并存储在介质中,且以8个位存储为一个字节;
6、将所述位序列组成字节序列,并将由位序列组成的字节序列传输至目标系统中;
7、从所述目标系统的存储介质或传输的字节流中读取由位序列组成的字节序列;
8、将字节序列转化为位序列,每一字节的位序列拆分为组成其的8个位,然后将位解码为原始的表示形式;
9、将解码后的位重新组合成待传输数据的定义和顺序,并保存在缓存地址中。
10、进一步的,所述动态语言运行时通过以下方式完成待传输数据的存取和类型识别绑定:
11、创建表达式树,以使用树形结构的表达式树来表示语言语义,扩展表达式树,使其包含控制流、分配和其他语言建模节点;
12、创建并调用站点缓存,并根据缓存记录数据类型和有关操作数据建立站点位置;
13、创建一组表示动态对象和操作的类和接口,便于通过api直接快速识别和绑定对象类型。
14、进一步的,所述位压缩的具体方式为:
15、采用二进制中的一位来表示数据中一个状态。
16、进一步的,所述位操作的具体方式为:
17、通过位的与、或、非、异或、左移、右移在位级别上对多个独立的位进行处理、控制和优化。
18、进一步的,所述位序列处理的具体方式为:
19、采用自左向右顺序将位记录的数据依次逐位的存放在缓存地址单元中,以组成顺序序列,用以表示各种类型的数据。
20、进一步的,采用大端序将位序列组合成字节序列和将读取后的字节序列拆分成位序列,并使用网络套接字库发送、接收和读取由位序列组成的字节序列。
21、有益效果:1、本发明开发出的fast极速序列化和fast反序列化技术,适用于大规模网络数据传输,可直接通过api(应用程序编程接口)调用而不需要使用额外的编译器,就将数据对象序列化成二进制格式,以二进制形式进行数据流传输,其内部采用动态语法支持动态编译指定的数据类型,不仅适用于网络通信和数据传输,也适用于分布式异构系统、远程过程调用、数据缓存和持久化等应用场景;
22、2、数据体积小,传输效率高;
23、3、解析时间短,响应速度快;
24、4、支持跨系统和多语言应用,满足异构系统通信需求;
25、5、可扩展性和兼容性强,可通过api直接调用;
26、6、采取dynamic动态语言运行时来识别数据类型,避免在对相同类型的数据对象,连续执行相同代码时进行大量消耗资源的绑定计算。
1.一种应用于大规模网络数据传输的方法,其特征在于,包括:
2.根据权利要求1所述的一种应用于大规模网络数据传输的方法,其特征在于,所述动态语言运行时通过以下方式完成待传输数据的存取和类型识别绑定:
3.根据权利要求1所述的一种应用于大规模网络数据传输的方法,其特征在于,所述位压缩的具体方式为:
4.根据权利要求1所述的一种应用于大规模网络数据传输的方法,其特征在于,所述位操作的具体方式为:
5.根据权利要求1所述的一种应用于大规模网络数据传输的方法,其特征在于,所述位序列处理的具体方式为:
6.根据权利要求1所述的一种应用于大规模网络数据传输的方法,其特征在于,采用大端序将位序列组合成字节序列和将读取后的字节序列拆分成位序列,并使用网络套接字库发送、接收和读取由位序列组成的字节序列。