【技术实现步骤摘要】
一种业务功能执行方法、装置、电子设备及存储介质
本公开涉及计算机
,具体而言,涉及一种业务功能执行方法、装置、电子设备及存储介质。
技术介绍
JS对象简谱(JavaScriptObjectNotation,JSON)是一种轻量级的数据交换格式,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得JSON成为理想的数据交换语言,易于用户阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。一般地,可以在服务器通过JSON对实现业务功能(业务功能比如及时通信、视频播放、小游戏、新闻浏览等任何在客户端侧执行的功能)的Java函数进行描述得到JSON文件,然后JSON文件发送至客户端,客户端用户在接收到JSON文件后,通过对JSON文件进行解析得到Java函数进行执行,JSON的种种便捷提高了Java函数传输的灵活性。客户端在解析JSON文件时,如果不知道相应Java函数中参数信息对应的数据类型,将会出现解析错误、导致业务功能无法执行的情况。
技术实现思路
有 ...
【技术保护点】
1.一种业务功能执行方法,其特征在于,所述业务功能对应的代码是由服务器通过JSON文件描述的,所述业务功能执行方法应用于客户端,包括:/n接收服务器发送的待执行业务功能对应的JSON文件,并从所述JSON文件中解析得到至少一个Java方法名和JSON参数信息;/n基于所述JSON参数信息,确定在将所述JSON文件转换成Java函数时,与所述JSON参数信息对应的数据类型查找方式;所述数据类型为Java函数中的数据类型;/n根据所述Java方法名和所述JSON参数信息,采用确定的所述查找方式,在本地查找所述JSON参数信息所属的所述数据类型;/n基于所述Java方法名和所述数 ...
【技术特征摘要】
1.一种业务功能执行方法,其特征在于,所述业务功能对应的代码是由服务器通过JSON文件描述的,所述业务功能执行方法应用于客户端,包括:
接收服务器发送的待执行业务功能对应的JSON文件,并从所述JSON文件中解析得到至少一个Java方法名和JSON参数信息;
基于所述JSON参数信息,确定在将所述JSON文件转换成Java函数时,与所述JSON参数信息对应的数据类型查找方式;所述数据类型为Java函数中的数据类型;
根据所述Java方法名和所述JSON参数信息,采用确定的所述查找方式,在本地查找所述JSON参数信息所属的所述数据类型;
基于所述Java方法名和所述数据类型,得到所述Java函数,并执行该Java函数,以实现对应的业务功能。
2.根据权利要求1所述的业务功能执行方法,其特征在于,基于所述JSON参数信息,确定在将所述JSON文件转换成Java函数时,与所述JSON参数信息对应的数据类型查找方式,包括:
若所述JSON参数信息属于预设的JSON基本类型,则确定所述数据类型查找方式为基于JSON基本类型与Java函数中数据类型之间的映射关系表进行查找;
所述根据所述Java方法名和所述JSON参数信息,采用确定的所述查找方式,查找所述JSON参数信息所属的所述数据类型,包括:
根据所述JSON参数信息,在所述映射关系表中查找与该JSON参数信息对应的候选数据类型集;所述候选数据类型集包括Java函数中至少一个数据类型;
根据所述Java方法名,确定本地存储的与该Java方法名对应的已声明的合法数据类型集;
确定所述候选数据类型集中属于所述合法数据类型集的目标数据类型,将确定的目标数据类型作为所述JSON参数信息所属的数据类型。
3.根据权利要求2所述的业务功能执行方法,其特征在于,将确定的目标数据类型作为所述JSON参数信息所属的数据类型,包括:
若确定的目标数据类型为多个,则根据预先设置的各种数据类型的优先级顺序,将确定的目标数据类型中优先级最高的目标数据类型作为所述JSON参数信息所属的数据类型。
4.根据权利要求1所述的业务功能执行方法,其特征在于,基于所述JSON参数信息,确定在将所述JSON文件转换成Java函数时,与所述JSON参数信息对应的数据类型查找方式,包括:
若所述JSON参数信息属于JSON对象类型,则确定与所述JSON参数信息对应的数据类型查找方式为父类查找方式;
所述根据所述Java方法名和所述JSON参数信息,采用确定的所述查找方式,查找所述JSON参数信息所属的所述数据类型,包括:
根据所述JSON参数信息,确定所述JSON参数信息对应的至少一个父节点信息;
根据所述Java方法名,确定本地存储的与该Java方法名对应的已声明的合法数据类型集;
在所述至少一个父节点信息中,确定出属于所述合法数据类型集的父节点信息,将确定出的父节点信息作为所述JSON参数信息所属的所述数据类型。
5.根据权利要求4所述的业务功能执行方法,其特征在于,将确定出的父节点信息作为所述JSON参数信息所属的所述数据类型,包括:
若确定出的父节点信息为多个,则根据预先设置的各种数据类型的优先级顺序,将所述父节点信息中对应的优先级最高的父节点信息作为所述JSON参数信息所属的数据类型。
6.根据权利要求1所述的业务功能执行方法,其特征在于,基于所述JSON参数信息,确定在将所述JSON文件转换成Java函数时,与所述JSON参数信息对应的数据类型查找方式,包括:
若所述JSON参数信息属于JSON数组类型,则确定所述数据类型查找方式为基于元素遍历的方式进行查找;
所述根据所述Java方法名和所述JSON参数信息,采用确定的所述查找方式,查找所述JSON参数信息所属的所述数据类型,包括:
所述根据所述Java方法名和所述JSON参数信息中多个元素,确定所述多个元素中每个元素所属的所述数据类型;
将多个元素对应的数据类型的交集作为所述JSON参数信息所属的所述数据类型。
7.根据权利要求1所述的业务功能执行方法,其特征在于,所述JSON文件中还包括Java对象信息,在确定所述Java函数后,按照以下方式执行所述Java函数:
在确定所述Java函数后,根据预存的Java函数与调用方式的映射关系表,确定所述Java函数对应的调用方式;
基于Java函数对应的调用方式和所述Java对象信息,判断所述Java函数是否能够被执行;
在确定所述Java函数能够被执行时,执行所述Java函数。
8.根据权利要求7所述的业务功能执行方法,其特征在于,所述调用方式包含非静态函数调用方式,所述基于Java函数对应的调用方式和所述Java对象信息,判断所述Java函数是否能够被执行,包括:
若所述Java函数对应的调用方式为非静态函数调用方式,查询所述Java对象信息中是否包含实例名信息;
若所述Java对象信息中不包含实例名信息,确定所述Java函数不能够被执行。
9.根据权利要求7所述的业务功能执行方法,其特征在于,所述JSON文件中包含多个Java函数以及每个Java函数对应的线程信息,所述执行所述Java函数,包括:
基于每个Java函数对应的调用方式以及该Java函数对应的线程信息,执行该Java函数。
10.一种业务功能执行装置,其特征在于,所述业务功能对应的代码是由服务器通过JSON文件描述的,所述业务功能执行装置应用于客户端,包括:
接收模块,用于接收服务器发送的待执行业务功能对应的JSON文件,并从所述JSON文件中解析得到至少一个Java方法名和JSON参数信息;
确定模块,用于基于所述JSON参数信息,确定在将所述JSON文件转换成Ja...
【专利技术属性】
技术研发人员:时康凯,
申请(专利权)人:北京字节跳动网络技术有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。