CN106528259A - 数据发送、接收方法及其装置 - Google Patents
数据发送、接收方法及其装置 Download PDFInfo
- Publication number
- CN106528259A CN106528259A CN201610971842.0A CN201610971842A CN106528259A CN 106528259 A CN106528259 A CN 106528259A CN 201610971842 A CN201610971842 A CN 201610971842A CN 106528259 A CN106528259 A CN 106528259A
- Authority
- CN
- China
- Prior art keywords
- data
- bytecode
- constant array
- constant
- stack
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/443—Optimisation
- G06F8/4441—Reducing the execution time required by the program code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/447—Target code generation
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了数据发送、接收方法及其装置。其中,该方法包括:将数据转换为字节码;向接收方发送字节码。通过本发明实施例现有技术中接收方将数据文本编译成可执行的字节码再还原数据所存在的问题,提高了接收方还原出原数据的速度。
Description
技术领域
本发明涉及数据处理领域,具体而言,涉及数据发送、接收方法及其装置。
背景技术
目前,Table是Lua脚本语言中表现力最丰富的数据结构。在应用中可以使用table来表示数据,例如,在游戏进程中可以用如下一个table来表示玩家的数据:
当要在服务器与客户端或不同的服务器(简称为跨服)之间传输数据的时候,例如,传输key-value(名-值)形式的数据时,在相关技术中是发送方将table序列化(Serialize)成文本,接收方再将文本编译成字节码,执行还原出table。使用这种传输方式时,在table较大的情况下,接收方编译会有不小的CPU开销,还原速度不快。下面以一个例子来进行说明。
如下数据{Name=”A”,Gold=8135},序列化成字符串:
{ | N | a | m | e | = | “ | A | “ | , |
7B | 4E | 61 | 6D | 65 | 3D | 22 | 41 | 22 | 2C |
G | o | l | d | = | 8 | 1 | 3 | 5 | } |
47 | 6F | 6C | 64 | 3D | 38 | 31 | 33 | 35 | 7D |
当使用上述table来表示玩家完整的数据时,在跨服玩法中就会碰到如何将A进程中的table传输到B进程的问题。此时的处理时将A进程内存中的table序列化成文本,通过网络发送给B进程,B进程将文本先编译成字符码,然后执行,在内存中还原出A中的table。
普通玩家数据序列化成文本后有70-80K,有的跨服玩法短时间内会有大量玩家从不同的服务器涌入同一台服务器进行PK,目标服务器短时间要对大量的文本进行反序列化,CPU压力巨大,玩家经常在传送过程中出现卡顿掉线用户体验不好。
针对现有技术中发送方发送序列化成文本的数据,接收方再将文本编译成字节码再还原为数据所存在的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了数据发送、接收方法及其装置,以解决现有技术中接收方将数据文本编译成可执行的字节码再还原数据所存在的问题。
根据本发明实施例的一个方面,提供给了一种数据发送方法,包括:将数据转换为字节码;向接收方发送所述字节码。
进一步地,将所述数据转换为所述字节码包括:将所述数据构造成为常量数组,其中,所述数据每一条为’名称=值’格式,所述数据中的每一条数据中名称和值分别作为所述常量数组中的一个数值,所述数据中的每一条数据出现的顺序作为所述常量数组的下标;至少根据所述常量数组构造所述字节码,其中,所述常量数组的下标表示所述常量数组中的数值在栈中的位置。
进一步地,将所述数据构造成为常量数组包括:确定在所述常量数组中的成员个数是否超过允许的阈值;在超过允许的阈值的情况下,将超过阈值的数据加载到栈上;将所述栈上的数据加载到所述常量数组中。
进一步地,所述数据包括Table格式的数据。
进一步地,将所述数据转换为所述字节码包括:在所述Table格式的数据包括嵌套数据的情况下,遍历所述数据;将遍历得到的数据构造成为所述常量数组,使用所述常量数组构造所述字节码。
根据本发明实施例的另一个方面,还提供了一种数据接收方法,包括:接收来自发送方的字节码;使用所述字节码获得所述发送方发送的数据。
根据本发明实施例的另一个方面,还提供了一种数据发送装置,包括:转换模块,用于将数据转换为字节码;发送模块,用于向接收方发送所述字节码。
进一步地,所述转换模块用于,将所述数据构造成为常量数组,其中,所述数据每一条为’名称=值’格式,所述数据中的每一条数据中名称和值分别作为所述常量数组中的一个数值,所述数据中的每一条数据出现的顺序作为所述常量数组的下标;根据所述常量数组构造所述字节码,其中,所述常量数组的下标表示所述常量数组中的数值在栈中的位置。
进一步地,所述转换模块用于:确定在所述常量数组中的成员个数是否超过允许的阈值;在超过允许的阈值的情况下,将超过阈值的数据加载到栈上;将所述栈上的数据加载到所述常量数组中。
根据本发明实施例的另一个方面,提供了一种数据接收装置,包括:接收模块,用于接收来自发送方的字节码;获得模块,用于使用所述字节码获得所述发送方发送的数据。
通过上述实施例,采用了将数据转换为字节码;向接收方发送所述字节码。通过本发明实施例现有技术中接收方将数据文本编译成可执行的字节码再还原数据所存在的问题,提高了接收方还原出原数据的速度。
附图说明
构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种数据发送方法的流程图;
图2是根据本发明实施例的一种数据接收方法的流程图;
图3是根据本发明实施例的一种数据发送装置的示意图;
图4是根据本发明实施例的一种数据接收装置的示意图;以及,
图5是根据本发明实施例的构造常量数组的示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本实施例提供了一种数据发送方法,图1是根据本发明实施例的一种数据发送方法的流程图,如图1所示,该数据发送方法方法包括步骤如下:
步骤S102,将数据转换为字节码,这种转换也可以称为序列化;
步骤S104,向接收方发送字节码。
通过上述步骤,在发送方将数据直接序列化为字节码,而不同于现有技术中先将数据序列化成文本,接收方再将文本编译成字节码,由于本实施例是直接发送的字节码,所以不需要将文本执行还原出数据这样的步骤,从而解决了现有技术中还原出数据时编译耗费CPU,数据又占用内存速度过慢的问题。同时对于发送方而言,将数据转换为文本格式也需要消耗资源,而将数据转换为字节码的资源消耗与转换为文本的资源消耗相仿,因此,对于发送方而言,其资源的消耗也没有太大变化,但是,对于接收方而言其处理速度以及对资源的消耗就会得到优化。
上述步骤中的转换为字节码的方法可以应用到各种编程语言中,转换成字节码的方式有很多中,在以下的可选的实施方式中,采用了常量数组以及栈的方式来进行转换。这种方式仅仅是一种比较优的实施例,采用其他转换方式也能够实现本发明的技术效果,例如,可以自定义一个函数来实现该功能。下面对本发明实施例的可选实施方式进行说明。
作为另一种可选的实施方式,可以将数据构造成为常量数组,设定常量数组的长度,其中,数据每一条为‘名称=值’格式,数据中的每一条数据中名称和值分别作为常量数组中的一个数值,数据中的每一条数据出现的顺序作为常量数组的下标;然后,根据常量数组构造字节码,其中,常量数组的下标表示常量数组中的数值在栈中的位置。这种数据处理方式相对较优。
在某些语言中,在定义了常量数组之后,可以通过指令来对常量数组进行处理,例如,Lua语言中,其并没有直接将数据转换为字节码的函数,在一个可选的实施例中,利用了编程语言中生成单个指令的函数来构造指令数组的方式来实现字节码的转换。
例如,在Lua脚本语言中,与构造table(数据)相关的字节码函数有3个:OP_NEWTABLE,OP_SETTABLE,OP_LOADK;通过构建指令数组编码每个函数的参数。OP_NEW TABLE用于设置table和子table在栈上的位置,为常量数组分配栈上位置;OP_SETTABLE用于指示常量数组的成员(每个常量值)依次加载到上述分配的栈上;所构造的常量数组的第一位表示是栈上的位置或是常量数组的下标;其他成员放在栈上的预分配的剩余位置,如果超出了预分配的位置(超出了阈值),则需要用OP_LOADK指令常量先加载到栈的新位置上。
例如:常量数组余留有9位,第1位表示栈上的位置或是常量数组的下标,其他8位最多可以表示256个不同的值。预分配的剩余栈上位置不超过256,但是常量数组的大小超过256是很常见的事,当常量的总数超过256时,则使用OP_LOADK将常量先加载到新栈上。
图5是根据本发明实施例的构造常量数组的示意图,如图5所示,可以根据常量数组构造字节码,其中,常量数组的下标表示常量数组中的数值在栈中的位置。通过这种格式及使用下标标注数值在栈中的位置,可以简便的不重复的记载常量数组的信息,并且清楚的找到各个数值在在栈中的位置。
在本实施例中,作为一个可选的实施方式,还可以构造指令数组(即OP_NEWTABLE,OP_SETTABLE存放的地方),其中,指令数组用于指示常量数组在栈上的初始位置及常量数组在栈上的初始容量大小(OP_NEWTABLE);指令数组用于指示常量数组的成员依次加载到上述分配的栈上(OP_SETTABLE);构造指令数组的长度,然后根据根据上述常量数组和上述指令数组构造字节码。
由于本实施例构造字符串‘return{Name=”Apple”,Grade=95,…}’所对应的字节码序列时没有使用嵌套函数、局部变量、upvalue和参数,只构造了指令数组以及存放key、value的常量数组,(key为常量的值,value为该常量在常量数组中的下标)根据常量值-下标映射表对常量数组进行构造,上述实施方式在相同的常量在常量数组中只出现一次,同时减少了参数、变量、和嵌套函数的使用,仅构造了指令数组和常量数组使得不再耗费CPU、还原出原数据的速度得到提高。
在一个可选的实施方式中,在常量数组中的成员个数超过OP_SETTABLE的参数允许的阈值的情况下,指令数组中增加用于指示将超出阈值的常量加载到栈上的指令,(OP_LOADK)。这样可以将超过阈值的常量首先加载在栈上,然后,再通过OP_SETTABLE操作栈上已经加载好的常量。通过本实施例,可以在超量数组的成员个数超出范围时,分配栈,从而解决了在数据量庞大时数据的暂存问题。
以图5为例,OP_SETTABLE的指令参数与常量数组下标的关系可以如下Name=“Apple”,此时需要生成相应的指令:OP_SETTABLE“Name”“Apple”,“Name”在常量数组中的下标是1,“Apple”下标是2,OP_SETTABLE的两个参数规定正数表示栈上的位置,负数的绝对值表示在常量数组中的位置,所以Name=“Apple”最终生成的指令是OP_SETTABLE-1-2。当常量数目比较多,假设OS=“Linux”,“OS”在常量数组中的下标是500,“Linux”是503,都超出了OP_SETTABLE参数允许的范围,这时需要用OP_LOADK先把常量加载到栈上:
OP_LOADK N-500//加载“OS”
OP_LOADK N+1-503//加载“Linux”
OP_SETTABLEN N+1//OS=“Linux”。
在一个可选的实施方式中,当遇到有嵌套的table(数据)时,也可以使用上述方法进行构造字节码,只需要根据遍历得到的数据进行构造即可,该方法可以包括如下步骤:
1)设定初始值;
2)遍历原table;遍历结束后,栈的容量变为常量数组中常量的总数;回到原table的分配的栈的位置;
4)如果没有遍历原table,则增加常量数组中常量的总数;
5)判断是否是嵌套子table;
6)如果不是嵌套子table则判断常量数组中常量的总数是否到阈值
7)如果常量总数没有增加到阈值,则直接将增加的常量值加到常量数组中,如果常量总数增加到了阈值,则将超出阈值的常量加载到栈上;
8)如果是嵌套子table;分配新table的栈的位置;执行7);
9)输出。
其中在递归遍历源table的过程中,使用一个变量,当碰到嵌套子table时,变量加1,当遍历完该子table时,变量减1回退,这个过程就相当于当碰到嵌套子table时,分配新table的栈的位置,当遍历完该子table时,回到原table的分配的栈的位置,反复循环利用栈上的位置,而不占用内存。结合一个例子进行说明。
例如:
子table和原table反复利用R(2)和R(1)的位置,R(A)代表要改变的table,A代表在栈上分配A位置的table。
通过上述的方法,在数据序列化遍历原table阶段,本实施例直接生成字符码而不是文本,实现了在服务器之间(跨服)传输table时,发送方开销不变,接收方还原构造出源table时,只要直接执行字符码来反序列化即可,节省了编译的开销,使得整个过程的处理速度大大提升。
验证实验:
将一个table(数据)序列化成文本、从文本反序列化各执行2000次;再将此table(数据)序列化为字节码(OPCode)、从字节码(OPCode)反序列化执行2000次;
下表是将一个table序列化和反序列化各执行2000次的时空复杂度实验结果对比表:
由上表可知,将一个table(数据)序列化成字节码(OPCode)还原速度比常规方法序列化为文本省去了编译分析时间,速度提升了近5倍。
对于接收方而言,图2是根据本发明实施例的一种数据接收方法的流程图。如图2所示,该一种数据接收方法包括步骤如下:
步骤S202,接收来自发送方的字节码;
步骤S204,使用字节码获得发送方发送的数据。
使用上述方法,接收方还原构造出源数据(例如,table)的速度大大提升。本实施例还提供了一种数据发送装置。该装置可以通过转换模块实现其功能。需要说明的是,本实施例的数据发送装置可以用于执行本实施例所提供一种数据发送方法,本实施例的一种数据发送方法也可以通过本发明实施例所提供的数据发送装置来执行。
图3是根据本发明实施例的数据发送装置的示意图。如图3所示,包括:
转换模块32,用于将数据转换为字节码;
发送模块34,用于向接收方发送字节码。
作为一个可选的实施方式,转换模块32用于,调用脚本语言中的字节码函数将数据转换为字节码,其中,字节码函数用于将数据转换为字节码。
作为一个可选的实施方式,转换模块32用于,将数据构造成为常量数组,其中,数据每一条为’名称=值’格式,数据中的每一条数据中名称和值分别作为常量数组中的一个数值,数据中的每一条数据出现的顺序作为常量数组的下标;然后,根据常量数组构造字节码,其中,常量数组的下标表示常量数组中的数值在栈中的位置。
本实施例还提供了一种数据接收装置。该装置可以通过接收模块实现其功能。需要说明的是,本实施例的数据接收装置可以用于执行本实施例所提供的数据接收方法,本实施例的数据接收方法也可以通过本实施例所提供的数据接收装置来执行。
图4是根据本发明实施例的数据接收装置的示意图。如图4所示,包括:
接收模块42,用于接收来自发送方的字节码;
获得模块44,用于使用字节码获得发送方发送的数据。
上述数据发送和接收装置的实施例是与数据发送和接受方法相对应的,所以对于有益效果不再赘述。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、移动终端、服务器或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种数据发送方法,其特征在于,包括:
将数据转换为字节码;
向接收方发送所述字节码。
2.根据权利要求1所述的方法,其特征在于,将所述数据转换为所述字节码包括:
将所述数据构造成为常量数组,其中,所述数据每一条为‘名称=值’格式,所述数据中的每一条数据中名称和值分别作为所述常量数组中的一个数值,所述数据中的每一条数据出现的顺序作为所述常量数组的下标;
至少根据所述常量数组构造所述字节码,其中,所述常量数组的下标表示所述常量数组中的数值在栈中的位置。
3.根据权利要求2所述的方法,其特征在于,将所述数据构造成为常量数组包括:
确定在所述常量数组中的成员个数是否超过允许的阈值;
在超过允许的阈值的情况下,将超过阈值的数据加载到栈上;
将所述栈上的数据加载到所述常量数组中。
4.根据权利要求2或3所述的方法,其特征在于,
所述数据包括Table格式的数据。
5.根据权利要求4所述的方法,其特征在于,将所述数据转换为所述字节码包括:
在所述Table格式的数据包括嵌套数据的情况下,遍历所述数据;
将遍历得到的数据构造成为所述常量数组,
使用所述常量数组构造所述字节码。
6.一种数据接收方法,其特征在于,包括:
接收来自发送方的字节码;
使用所述字节码获得所述发送方发送的数据。
7.一种数据发送装置,其特征在于,包括:
转换模块,用于将数据转换为字节码;
发送模块,用于向接收方发送所述字节码。
8.根据权利要求7所述的装置,其特征在于,所述转换模块用于,
将所述数据构造成为常量数组,其中,所述数据每一条为’名称=值’格式,所述数据中的每一条数据中名称和值分别作为所述常量数组中的一个数值,所述数据中的每一条数据出现的顺序作为所述常量数组的下标;
根据所述常量数组构造所述字节码,其中,所述常量数组的下标表示所述常量数组中的数值在栈中的位置。
9.根据权利要求8所述的装置,其特征在于,所述转换模块用于:
确定在所述常量数组中的成员个数是否超过允许的阈值;
在超过允许的阈值的情况下,将超过阈值的数据加载到栈上;
将所述栈上的数据加载到所述常量数组中。
10.一种数据接收装置,其特征在于,包括:
接收模块,用于接收来自发送方的字节码;
获得模块,用于使用所述字节码获得所述发送方发送的数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610971842.0A CN106528259B (zh) | 2016-11-04 | 2016-11-04 | 数据发送、接收方法及其装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610971842.0A CN106528259B (zh) | 2016-11-04 | 2016-11-04 | 数据发送、接收方法及其装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106528259A true CN106528259A (zh) | 2017-03-22 |
CN106528259B CN106528259B (zh) | 2019-07-09 |
Family
ID=58326076
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610971842.0A Active CN106528259B (zh) | 2016-11-04 | 2016-11-04 | 数据发送、接收方法及其装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106528259B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107526644A (zh) * | 2017-08-18 | 2017-12-29 | 北京北信源软件股份有限公司 | 一种进程间通信系统、方法、可读介质和存储控制器 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040210879A1 (en) * | 2003-04-21 | 2004-10-21 | International Business Machines Corporation | Method, system and program product for transferring program code between computer processes |
CN1571955A (zh) * | 2001-10-19 | 2005-01-26 | 皇家飞利浦电子股份有限公司 | 将字节码编译成原码的方法 |
CN101094227A (zh) * | 2007-07-18 | 2007-12-26 | 中山大学 | 一种基于cs架构的移动平台联网游戏消息交互协议 |
CN104298534A (zh) * | 2014-10-23 | 2015-01-21 | 广州华多网络科技有限公司 | 基于Lua语言的编程方法和装置 |
CN104486396A (zh) * | 2014-12-10 | 2015-04-01 | 中国电信集团系统集成有限责任公司 | 一种跨平台的网络数据的传输方法 |
CN105573956A (zh) * | 2015-12-10 | 2016-05-11 | 盛趣信息技术(上海)有限公司 | 序列化方法以及基于序列化的网络通信方法 |
-
2016
- 2016-11-04 CN CN201610971842.0A patent/CN106528259B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1571955A (zh) * | 2001-10-19 | 2005-01-26 | 皇家飞利浦电子股份有限公司 | 将字节码编译成原码的方法 |
US20040210879A1 (en) * | 2003-04-21 | 2004-10-21 | International Business Machines Corporation | Method, system and program product for transferring program code between computer processes |
CN101094227A (zh) * | 2007-07-18 | 2007-12-26 | 中山大学 | 一种基于cs架构的移动平台联网游戏消息交互协议 |
CN104298534A (zh) * | 2014-10-23 | 2015-01-21 | 广州华多网络科技有限公司 | 基于Lua语言的编程方法和装置 |
CN104486396A (zh) * | 2014-12-10 | 2015-04-01 | 中国电信集团系统集成有限责任公司 | 一种跨平台的网络数据的传输方法 |
CN105573956A (zh) * | 2015-12-10 | 2016-05-11 | 盛趣信息技术(上海)有限公司 | 序列化方法以及基于序列化的网络通信方法 |
Non-Patent Citations (1)
Title |
---|
STEPHEN LIU: ""Step By Step(Lua数据持久化)"", 《HTTP://WWW.CNBLOGS.COM/STEPHEN-LIU74/ARCHIVE/2012/03/26/2418572.HTML》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107526644A (zh) * | 2017-08-18 | 2017-12-29 | 北京北信源软件股份有限公司 | 一种进程间通信系统、方法、可读介质和存储控制器 |
Also Published As
Publication number | Publication date |
---|---|
CN106528259B (zh) | 2019-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110298035B (zh) | 基于人工智能的字向量定义方法、装置、设备及存储介质 | |
CN107015853A (zh) | 多阶段任务的实现方法和装置 | |
CN111353303B (zh) | 词向量构建方法、装置、电子设备及存储介质 | |
JP6661754B2 (ja) | コンテンツ配信方法および装置 | |
CN114564509B (zh) | 序列化方法、反序列化方法、设备、芯片以及介质 | |
CN104182234A (zh) | 一种业务处理方法和业务系统 | |
CN109754072A (zh) | 网络离线模型的处理方法、人工智能处理装置及相关产品 | |
CN109842652A (zh) | 一种文件的上传方法、终端、云服务器和计算机存储介质 | |
CN103299300A (zh) | 提供输入建议的方法和装置 | |
CN105468793A (zh) | 一种仿真模型数据的自动化管理方法 | |
CN117521625A (zh) | 问答方法、装置、电子设备及介质 | |
CN106570153A (zh) | 一种海量url的数据提取方法及系统 | |
CN108965450A (zh) | 业务请求响应方法、装置、计算机设备和存储介质 | |
CN108153585B (zh) | 一种基于局部性表达函数优化MapReduce框架的运行效率的方法和装置 | |
CN106528259A (zh) | 数据发送、接收方法及其装置 | |
CN104645610A (zh) | 一种游戏对象标识码的编码方法及系统 | |
CN114117992A (zh) | 一种序列化和反序列化方法、装置和电子设备 | |
CN109388406A (zh) | 转换java代码的方法及装置、存储介质、电子装置 | |
CN112559760A (zh) | 一种面向文本描述的cps资源能力知识图谱构建方法 | |
CN117236467A (zh) | 用于生成语言模型的方法、装置、电子设备和介质 | |
CN115510203B (zh) | 问题答案确定方法、装置、设备、存储介质及程序产品 | |
CN104199656A (zh) | 一种定制信息添加方法及装置 | |
CN104023056B (zh) | 更新数据的方法和相关设备 | |
CN113792232B (zh) | 页面特征计算方法、装置、电子设备、介质及程序产品 | |
CN113590348B (zh) | 基于树状结构的参数传递方法、装置、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | 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 |