欢迎来到知嘟嘟! 联系电话:13095918853 卖家免费入驻,海量在线求购! 卖家免费入驻,海量在线求购!
知嘟嘟
我要发布
联系电话:13095918853
知嘟嘟经纪人
收藏
专利号: 2017105240611
申请人: 武汉斗鱼网络科技有限公司
专利类型:发明专利
专利状态:已下证
专利领域: 电通信技术
更新日期:2024-02-29
缴费截止日期: 暂无
价格&联系人
年费信息
委托购买

摘要:

权利要求书:

1.一种在远程过程调用中的信息封装方法,其特征在于,包括:

在调用端进行远程过程调用时,确定用于调用所述远程过程的调用信息的数据结构,所述数据结构中包含预设字段,所述预设字段具体为args字段,所述args字段代表所述调用端所提供的所有调用参数;

获取用于调用所述远程过程的调用参数;

对所述调用参数进行序列化,获得序列化调用参数,所述调用参数的数据类型,包括:

整数类型、或字节类型、或浮点类型、或美国信息交换标准码ASCII字符串类型、或统一的字符编码标准Unicode字符串类型、或数组类型、或对象类型;

所述对所述调用参数进行序列化,获得序列化调用参数,包括:

确定所述调用参数的数据类型;

将所述调用参数的数据类型转化为远程过程调用参数IRpcArgument类型,获得所述序列化调用参数,包括:在所述调用参数的数据类型为整数类型时,将所述调用参数的整数值设置到所述序列化调用参数的m_intValue字段中,并将所述序列化调用参数的m_type字段设置为RAT_I32类型;

在所述调用参数的数据类型为字节类型时,将所述调用参数的字节数值设置到所述序列化调用参数的m_i8Value字段中,并将所述序列化调用参数的m_type字段设置为RAT_I8类型;

在所述调用参数的数据类型为浮点类型时,将所述调用参数的浮点值设置到所述序列化调用参数的m_singleValue字段中,并将所述序列化调用参数的m_type字段设置为RAT_SINGLE类型;

在所述调用参数的数据类型为ASCII字符串类型时,将所述调用参数的ASCII字符串复制到所述序列化调用参数的m_charBuffer字段中,并将所述序列化调用参数的m_type字段设置为RAT_STRING类型;

在所述调用参数的数据类型为Unicode字符串类型时,将所述调用参数的Unicode字符串复制到所述序列化调用参数的m_wcharBuffer字段中,并将所述序列化调用参数的m_type字段设置为RAT_WSTRING类型;

在所述调用参数的数据类型为数组类型时,将所述调用参数的数组元素设置到所述序列化调用参数的m_elementNum字段中,并将所述序列化调用参数的m_type字段设置为RAT_BLOB类型;

在所述调用参数的数据类型为对象类型时,将所述调用参数的结构体元素设置到所述序列化调用参数的m_elementNum字段中,并将所述序列化调用参数的m_type字段设置为RAT_OBJECT类型;

基于所述调用参数的数据类型,将所述序列化调用参数写入所述预设字段中,获得所述调用信息,包括:在所述调用参数的数据类型为非对象类型时,所述基于所述调用参数的数据类型,将所述序列化调用参数写入所述预设字段中,包括:若所述调用参数的数据类型为非数组类型,则在所述预设字段中依次加入第一字节和第二字节,所述第一字节用于保存所述序列化调用参数的m_type字段中的信息,所述第二字节用于保存所述调用参数的参数值;

若所述调用参数的数据类型为数组类型,则在所述预设字段中依次加入第一字节、第三字节和第二字节,所述第一字节用于保存所述序列化调用参数的m_type字段中的信息,所述第三字节用于所述调用参数中的数组元素的个数,所述第二字节用于保存所述调用参数的参数值。

2.一种在远程过程调用中的信息封装装置,其特征在于,包括:

确定单元,用于在调用端进行远程过程调用时,确定用于调用所述远程过程的调用信息的数据结构,所述数据结构中包含预设字段,所述预设字段具体为args字段,所述args字段代表所述调用端所提供的所有调用参数;

获取单元,用于获取用于调用所述远程过程的调用参数;

序列化单元,用于对所述调用参数进行序列化,获得序列化调用参数,所述调用参数的数据类型,包括:整数类型、或字节类型、或浮点类型、或美国信息交换标准码ASCII字符串类型、或统一的字符编码标准Unicode字符串类型、或数组类型、或对象类型;

所述序列化单元,具体用于:确定所述调用参数的数据类型;将所述调用参数的数据类型转化为远程过程调用参数IRpcArgument类型,获得所述序列化调用参数,包括:在所述调用参数的数据类型为整数类型时,将所述调用参数的整数值设置到所述序列化调用参数的m_intValue字段中,并将所述序列化调用参数的m_type字段设置为RAT_I32类型;

在所述调用参数的数据类型为字节类型时,将所述调用参数的字节数值设置到所述序列化调用参数的m_i8Value字段中,并将所述序列化调用参数的m_type字段设置为RAT_I8类型;

在所述调用参数的数据类型为浮点类型时,将所述调用参数的浮点值设置到所述序列化调用参数的m_singleValue字段中,并将所述序列化调用参数的m_type字段设置为RAT_SINGLE类型;

在所述调用参数的数据类型为ASCII字符串类型时,将所述调用参数的ASCII字符串复制到所述序列化调用参数的m_charBuffer字段中,并将所述序列化调用参数的m_type字段设置为RAT_STRING类型;

在所述调用参数的数据类型为Unicode字符串类型时,将所述调用参数的Unicode字符串复制到所述序列化调用参数的m_wcharBuffer字段中,并将所述序列化调用参数的m_type字段设置为RAT_WSTRING类型;

在所述调用参数的数据类型为数组类型时,将所述调用参数的数组元素设置到所述序列化调用参数的m_elementNum字段中,并将所述序列化调用参数的m_type字段设置为RAT_BLOB类型;

在所述调用参数的数据类型为对象类型时,将所述调用参数的结构体元素设置到所述序列化调用参数的m_elementNum字段中,并将所述序列化调用参数的m_type字段设置为RAT_OBJECT类型;

写入单元,用于基于所述调用参数的数据类型,将所述序列化调用参数写入所述预设字段中,获得所述调用信息;

所述写入单元,用于在所述调用参数的数据类型为非对象类型时,所述基于所述调用参数的数据类型,将所述序列化调用参数写入所述预设字段中;

所述写入单元,用于在所述调用参数的数据类型为非对象类型时,若所述调用参数的数据类型为非数组类型,则在所述预设字段中依次加入第一字节和第二字节,所述第一字节用于保存所述序列化调用参数的m_type字段中的信息,所述第二字节用于保存所述调用参数的参数值;

所述写入单元,用于在所述调用参数的数据类型为非对象类型时,若所述调用参数的数据类型为数组类型,则在所述预设字段中依次加入第一字节、第三字节和第二字节,所述第一字节用于保存所述序列化调用参数的m_type字段中的信息,所述第三字节用于所述调用参数中的数组元素的个数,所述第二字节用于保存所述调用参数的参数值。

3.一种在远程过程调用中的信息封装装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现以下步骤:在调用端进行远程过程调用时,确定用于调用所述远程过程的调用信息的数据结构,所述数据结构中包含预设字段,所述预设字段具体为args字段,所述args字段代表所述调用端所提供的所有调用参数;获取用于调用所述远程过程的调用参数;对所述调用参数进行序列化,获得序列化调用参数,所述调用参数的数据类型,包括:整数类型、或字节类型、或浮点类型、或美国信息交换标准码ASCII字符串类型、或统一的字符编码标准Unicode字符串类型、或数组类型、或对象类型;

所述对所述调用参数进行序列化,获得序列化调用参数,包括:

确定所述调用参数的数据类型;

将所述调用参数的数据类型转化为远程过程调用参数IRpcArgument类型,获得所述序列化调用参数,包括:在所述调用参数的数据类型为整数类型时,将所述调用参数的整数值设置到所述序列化调用参数的m_intValue字段中,并将所述序列化调用参数的m_type字段设置为RAT_I32类型;

在所述调用参数的数据类型为字节类型时,将所述调用参数的字节数值设置到所述序列化调用参数的m_i8Value字段中,并将所述序列化调用参数的m_type字段设置为RAT_I8类型;

在所述调用参数的数据类型为浮点类型时,将所述调用参数的浮点值设置到所述序列化调用参数的m_singleValue字段中,并将所述序列化调用参数的m_type字段设置为RAT_SINGLE类型;

在所述调用参数的数据类型为ASCII字符串类型时,将所述调用参数的ASCII字符串复制到所述序列化调用参数的m_charBuffer字段中,并将所述序列化调用参数的m_type字段设置为RAT_STRING类型;

在所述调用参数的数据类型为Unicode字符串类型时,将所述调用参数的Unicode字符串复制到所述序列化调用参数的m_wcharBuffer字段中,并将所述序列化调用参数的m_type字段设置为RAT_WSTRING类型;

在所述调用参数的数据类型为数组类型时,将所述调用参数的数组元素设置到所述序列化调用参数的m_elementNum字段中,并将所述序列化调用参数的m_type字段设置为RAT_BLOB类型;

在所述调用参数的数据类型为对象类型时,将所述调用参数的结构体元素设置到所述序列化调用参数的m_elementNum字段中,并将所述序列化调用参数的m_type字段设置为RAT_OBJECT类型;

基于所述调用参数的数据类型,将所述序列化调用参数写入所述预设字段中,获得所述调用信息,包括:在所述调用参数的数据类型为非对象类型时,所述基于所述调用参数的数据类型,将所述序列化调用参数写入所述预设字段中,包括:若所述调用参数的数据类型为非数组类型,则在所述预设字段中依次加入第一字节和第二字节,所述第一字节用于保存所述序列化调用参数的m_type字段中的信息,所述第二字节用于保存所述调用参数的参数值;

若所述调用参数的数据类型为数组类型,则在所述预设字段中依次加入第一字节、第三字节和第二字节,所述第一字节用于保存所述序列化调用参数的m_type字段中的信息,所述第三字节用于所述调用参数中的数组元素的个数,所述第二字节用于保存所述调用参数的参数值。

4.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现以下步骤:在调用端进行远程过程调用时,确定用于调用所述远程过程的调用信息的数据结构,所述数据结构中包含预设字段,所述预设字段具体为args字段,所述args字段代表所述调用端所提供的所有调用参数;

获取用于调用所述远程过程的调用参数;

对所述调用参数进行序列化,获得序列化调用参数,所述调用参数的数据类型,包括:

整数类型、或字节类型、或浮点类型、或美国信息交换标准码ASCII字符串类型、或统一的字符编码标准Unicode字符串类型、或数组类型、或对象类型;

所述对所述调用参数进行序列化,获得序列化调用参数,包括:

确定所述调用参数的数据类型;

将所述调用参数的数据类型转化为远程过程调用参数IRpcArgument类型,获得所述序列化调用参数,包括:在所述调用参数的数据类型为整数类型时,将所述调用参数的整数值设置到所述序列化调用参数的m_intValue字段中,并将所述序列化调用参数的m_type字段设置为RAT_I32类型;

在所述调用参数的数据类型为字节类型时,将所述调用参数的字节数值设置到所述序列化调用参数的m_i8Value字段中,并将所述序列化调用参数的m_type字段设置为RAT_I8类型;

在所述调用参数的数据类型为浮点类型时,将所述调用参数的浮点值设置到所述序列化调用参数的m_singleValue字段中,并将所述序列化调用参数的m_type字段设置为RAT_SINGLE类型;

在所述调用参数的数据类型为ASCII字符串类型时,将所述调用参数的ASCII字符串复制到所述序列化调用参数的m_charBuffer字段中,并将所述序列化调用参数的m_type字段设置为RAT_STRING类型;

在所述调用参数的数据类型为Unicode字符串类型时,将所述调用参数的Unicode字符串复制到所述序列化调用参数的m_wcharBuffer字段中,并将所述序列化调用参数的m_type字段设置为RAT_WSTRING类型;

在所述调用参数的数据类型为数组类型时,将所述调用参数的数组元素设置到所述序列化调用参数的m_elementNum字段中,并将所述序列化调用参数的m_type字段设置为RAT_BLOB类型;

在所述调用参数的数据类型为对象类型时,将所述调用参数的结构体元素设置到所述序列化调用参数的m_elementNum字段中,并将所述序列化调用参数的m_type字段设置为RAT_OBJECT类型;

基于所述调用参数的数据类型,将所述序列化调用参数写入所述预设字段中,获得所述调用信息,包括:在所述调用参数的数据类型为非对象类型时,所述基于所述调用参数的数据类型,将所述序列化调用参数写入所述预设字段中,包括:若所述调用参数的数据类型为非数组类型,则在所述预设字段中依次加入第一字节和第二字节,所述第一字节用于保存所述序列化调用参数的m_type字段中的信息,所述第二字节用于保存所述调用参数的参数值;

若所述调用参数的数据类型为数组类型,则在所述预设字段中依次加入第一字节、第三字节和第二字节,所述第一字节用于保存所述序列化调用参数的m_type字段中的信息,所述第三字节用于所述调用参数中的数组元素的个数,所述第二字节用于保存所述调用参数的参数值。