可移植对象串行化制造技术

技术编号:2914782 阅读:220 留言:0更新日期:2012-04-11 18:40
本文中所公开的是用于将数据串行化和反串行化的与平台及设备无关的系统和方法。一种将存储在数据结构中的数据串行化的方法包括生成代表与该数据结构的存储器布局有关的信息的数据结构描述符并且基于该数据结构描述符将存储着的数据串行化。该数据结构描述符可包括布局数组,后者包括与该数据结构的每个成员相对应的存储器偏移量和大小。一种处理串行地接收到的数据以供存储在数据结构中的方法包括接收串行数据流,基于数据结构描述符分配用于存储此数据的存储器,以及基于该数据结构描述符将此数据流反串行化。该数据结构描述符可包括布局数组,后者包括与该数据结构的每个成员相对应的存储器偏移量和大小。

【技术实现步骤摘要】
【国外来华专利技术】根据35 U.S.C.§119的优先权要求本专利申请要求2006年4月27日提交、已被转让给本专利技术受让人并因而被明确援引纳入于此的题为“Portable Object Serialization Method for EmbeddedSystem(用于嵌入式系统的可移植对象串行化方法)”的临时申请No.60/795,842的优先权。背景I.领域本专利技术涉及用于在主机处理器与设备之间串行地转移二进制数据的系统和方法,并且尤其涉及用于以与平台无关的方式将数据流串行化以及反串行化的系统和方法。II.背景使用运行设备驱动器的主机处理器来控制远程设备并与之通信被广泛地实践于各种应用中。典型地,在主机处理器与该设备之间频繁地交换二进制数据流。二进制数据在设备驱动器端、设备端、或其两者上常常以诸如用C编程语言实现的sturct(结构)数据类型等的数据结构的形式来被组织。当设备驱动器将来自主机中的数据结构的数据传递给设备时,设备驱动器首先将此数据串行化(即,将此数据从主机存储器中串行地读出)并在随后将此串行流作为一系列比特传送给设备。设备接收经串行化的数据并随后将该数据反串行化,即,将其按字节、字、或其它分块来组织。最后,设备将此数据存储在设备存储器中分配的数据结构里。对于在另一方向上——即从设备向设备驱动器——传递的数据,发生类似的串行化-传送-反串行化程序。为了实行此串行化-传送-反串行化程序,在接收端处分配与在发送端处分配的数据结构相对应的数据结构。在接收端处实现的是用于将接收到的数据反-->串行化并正确地填充该数据结构的代码。例如,当设备驱动器向设备发送数据时,驱动器的串行化例程采纳与该数据结构的元素被添加到串行流的次序、字节或其它大小的数据块是以大尾端(endian)还是小尾端格式传送等等有关的某种惯例将该结构中的数据转换成串行形式。为此要求对此数据结构在存储器中的布局以及经串行化的数据结构在串行流中的布局有先验知识;当设备接收此流时,设备的反串行化例程必须正确地计及此数据在串行流以及在设备存储器中的组织和编排才能将此流正确地反串行化。设备的反串行化例程可能还需要正确地计及在驱动器端的数据存储的其它参数,诸如各种数据类型是被存储为字节、字、还是双字。最后,设备的反串行化例程还必须知道哪种数据结构适于恰适地分配存储器来存储接收到数据,以及设备本地数据组织方案(数据类型的长度等)。因此,在此类系统中,需要将串行化和反串行化例程编程为能正确地计及在主机端处的主机处理器或是在设备端处的设备处理器中实现的数据结构的特定参数。在获设备驱动器和/或设备支持的数据结构的数目很大的场合,要维护所有获支持的数据结构的拷贝连同用于将数据从/向这些获支持的数据结构中的每一种中串行化和反串行化的指令在设备端和驱动器端两方皆会花费不切实际的量的系统资源。例如,在此类系统中,设备或设备驱动器中有任何变化均要求重新编写和/或重新编译串行化和反串行化例程以确保它们正确地计及数据结构的组织、尾端情况和类型长度、以及其它参数。这种办法是易于出错、不可升缩的,并且若下层的处理器改变是不可移植的。概要本文中所公开的是用于将数据串行化和反串行化的与平台及设备无关的系统和方法。在一个实施例中,给出了一种用于将存储在数据结构中的数据串行化以供传输的方法,该方法包括:生成代表与该数据结构的存储器布局有关的信息的数据结构描述符,以及基于该数据结构描述符将存储在此数据结构中的数据串行化。在本方法进一步的实施例中,此数据结构包括至少一个成员,并且生成数据结构描述符包括生成与该数据结构的这至少一个成员中的每个相对应的布局数组。在本方法的又一个实施例中,与该数据结构的每个成员相-->对应的此布局数组包括该数据结构的该成员的存储器偏移量和大小。在进一步的实施例中,给出了一种处理串行地接收到的数据以供存储在数据结构中的方法,该方法包括:接收串行数据流,基于数据结构描述符分配用于存储此数据的存储器,以及基于此数据结构描述符将该数据流反串行化。在本方法进一步的实施例中,该数据结构包括至少一个成员,并且此数据结构描述符包括与该数据结构的每个成员相对应的布局数组。在方法又进一步的实施例中,与该数据结构的每个成员相对应的此布局数组包括该数据结构的该成员的存储器偏移量和大小。在进一步的实施例中,给出了一种用于将存储在数据结构中的数据串行化以供传输的系统,该系统包括配置成生成代表与该数据结构的存储器布局有关的信息的数据结构描述符、并基于该数据结构描述符将存储在此数据结构中的数据串行化的处理器。在又进一步的实施例中,该数据结构包括至少一个成员,并且此数据结构描述符包括与该数据结构的每个成员相对应的布局数组。在再一实施例中,与该数据结构的每个成员相对应的此布局数组包括该数据结构的该成员的存储器偏移量和大小。在进一步的实施例中,给出了一种用于处理串行地接收到的数据以供存储在数据结构中的系统,该系统包括配置成接收串行数据流、基于数据结构描述符分配用于该数据结构的存储器、以及基于此数据结构描述符将该数据流反串行化的处理器。在又一实施例中,该数据结构包括至少一个成员,并且此数据结构描述符包括与该数据结构的每个成员相对应的布局数组。在再一实施例中,与该数据结构的每个成员相对应的此布局数组包括该数据结构的该成员的存储器偏移量和大小。在进一步的实施例中,描述了一种携带有用于实行将存储在数据结构中的数据串行化以供传输的方法的指令的机器可读介质,其中该方法包括生成数据结构描述符——该数据结构描述符代表与该数据结构的存储器布局有关的信息,以及基于该数据结构描述符将存储在该数据结构中的数据串行化。在进一步的实施例中,该数据结构包括至少一个成员,并且生成数据结构描述符的动作包括生成与该数据结构的这至少一个成员中的每个相对应的布局数组。在再一实施例中,与该数据结构的每个成员相对应的此布局数组包括该数据结构的-->该成员的存储器偏移量和大小。在进一步的实施例中,描述了一种携带有用于实行处理串行地接收到的数据以供存储在数据结构中的方法的指令的机器可读介质,该方法包括接收串行数据流,基于数据结构描述符分配用于存储此数据的存储器,以及基于该数据结构描述符将此数据流反串行化。在又一个实施例中,该数据结构包括至少一个成员,并且此数据结构描述符包括与该数据结构的每个成员相对应的布局数组。在再一实施例中,与该数据结构的每个成员相对应本文档来自技高网...

【技术保护点】
一种将数据串行化以供传输的方法,其中所述数据被存储在数据结构中,所述方法包括: 生成数据结构描述符,所述数据结构描述符代表与所述数据结构的存储器布局有关的信息;以及 基于所述数据结构描述符将存储在所述数据结构中的所述数据串行化。

【技术特征摘要】
【国外来华专利技术】US 2006-4-27 60/795,8421.一种将数据串行化以供传输的方法,其中所述数据被存储在数据结构
中,所述方法包括:
生成数据结构描述符,所述数据结构描述符代表与所述数据结构的存储
器布局有关的信息;以及
基于所述数据结构描述符将存储在所述数据结构中的所述数据串行化。
2.如权利要求1所述的方法,其特征在于,所述数据结构包括至少一个
成员,并且其中所述生成数据结构描述符包括生成与所述数据结构的所述至少
一个成员中的每个相对应的布局数组。
3.如权利要求2所述的方法,其特征在于,所述与数据结构的每个成员
相对应的布局数组包括所述数据结构的该成员的存储器偏移量和大小。
4.一种处理串行地接收到的数据以供存储在数据结构中的方法,所述方
法包括:
接收串行数据流;
基于数据结构描述符分配用于存储所述数据的存储器;以及
基于所述数据结构描述符将所述数据流反串行化。
5.如权利要求4所述的方法,其特征在于,所述数据结构包括至少一个
成员,并且其中所述数据结构描述符包括与所述数据结构的每个成员相对应的
布局数组。
6.如权利要求5所述的方法,其特征在于,所述与数据结构的每个成员
相对应的布局数组包括所述数据结构的该成员的存储器偏移量和大小。
7.一种用于将数据串行化以供传输的系统,其中所述数据被存储在数据
结构中,所述系统包括配置成执行如下动作的处理器:
生成数据结构描述符,所述数据结构描述符代表与所述数据结构的存储
器布局有关的信息;以及
基于所述数据结构描述符将存储在所述数据结构中的所述数据串行化。
8.如权利要求7所述的系统,其特征在于,所述数据结构包括至少一个
成员,并且其中所述数据结构描述符包括与所述数据结构的每个成员相对应的
布局数组。
9.如权利要求8所述的系统,其特征在于,所述与数据结构的每个成员
相对应的布局数组包括所述数据结构的该成员的存储器偏移量和大小。
10....

【专利技术属性】
技术研发人员:傅强A克里西南R库马
申请(专利权)人:高通股份有限公司
类型:发明
国别省市:US[美国]

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

1