本申请实施例涉及计算机科学领域,特别涉及一种使用通用协议进行通信的方法、装置、计算设备与计算机可读存储介质。
背景技术:
1、现有技术中服务器端与客户端在进行网络通信时为了减少双方开发的沟通成本,需要双方事先约定好协议字段。为了提高开发效率,通常采用第三方的协议工具比如protobuf、thrift等,然后将程序中的数据序列化成二进制进行传输。不过这些工具无法根据需求将数据序列化成指定或定制的格式,例如json、msgpack等。为了解决这一问题,用户不得不另外定义一套协议满足定制化需求,增加了开发成本。因此需要一种通用的协议和使用方法,能够根据用户的需求高效生成各种格式的通信数据。
技术实现思路
1、基于上述技术难题,本发明旨在研发出一种使用通用协议进行通信的方法、装置、计算设备与计算机可读存储介质。
2、根据本实施例的第一方面,提供了一种使用通用协议进行通信的方法,包括:
3、生成自定义结构化数据;
4、解析所述自定义结构化数据,生成第一数据节点;
5、对所述第一数据节点进行解析,生成所述自定义结构化数据的元数据;
6、根据所述元数据生成目标语言代码。
7、根据本实施例的第二方面,提供了一种使用通用协议进行通信的装置,包括:
8、编辑单元,用于生成自定义结构化数据;
9、第一解析单元,用于解析所述自定义结构化数据,生成第一数据节点;
10、第二解析单元,用于对所述第一数据节点进行解析,生成所述自定义结构化数据的元数据;
11、生成单元,用于根据所述元数据生成目标语言代码。
12、根据本申请实施例的第三方面,提供了一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现前述一种使用通用协议进行通信的方法的步骤。
13、根据本申请实施例的第四方面,提供了一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述指令时实现上述一种使用通用协议进行通信的方法的步骤。
14、通过本申请的实施例,实现了复杂系统间的多种序列化数据传输的需要,首先生成了自定义结构化数据,在自定义的结构化数据中根据需求定义各种类型的数据结构,突破了不同开发语言之间的约束;进一步将自定义结构化数据转换成节点树,并对节点树解析生成了用于详细描述结构化数据的元数据。根据元数据,使得结构化数据可以灵活地转化为多种不同的序列化格式并生成相关的序列化代码;另一方面,元数据更加容易兼容其他协议格式,从而很好地实现了一种通用的通信方法。
1.一种使用通用协议进行通信的方法,其特征在于,包括以下步骤:
2.根据权利要求1所述方法,其中,所述生成自定义结构化数据包括:
3.根据权利要求1所述方法,其中,解析所述自定义结构化数据,生成第一数据节点包括:
4.根据权利要求1所述方法,其中,对所述第一数据节点进行解析,生成所述自定义结构化数据的元数据包括:
5.根据权利要求1所述方法,其中,根据所述元数据生成目标语言代码包括:
6.根据权利要求1所述的方法,其中,根据所述元数据生成目标语言代码还包括:
7.一种使用通用协议进行通信的装置,其特征在于,包括:
8.一种计算机可读存储介质,其存储有计算机指令,其特征在于,该指令被处理器执行时实现权利要求1-6任意一项所述方法的步骤。
9.一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,其特征在于,所述处理器执行所述指令时实现权利要求1-6任意一项所述方法的步骤。