调用接口的方法及系统与流程

文档序号:25543120发布日期:2021-06-18 20:39阅读:244来源:国知局
本公开实施例涉及计算机与网络通信
技术领域
:,尤其涉及一种调用接口的方法及系统。
背景技术
::随着云计算技术的发展,以云计算为基础的场景应用而是,如游戏场景等。在以云计算为基础的场景中,服务器可以通过虚拟化技术在宿主机上虚拟出操作系统(如安卓系统),相同的软件开发工具包(softwaredevelopmentkit,sdk)在虚拟机和宿主机由不同的语言实现。在现有技术中,当虚拟机中的应用程序需要调用sdk时,可以将虚拟机的调用操作放到宿主机中实现,且具体为,针对每一种sdk的调用,根据该sdk的应用程序接口(applicationprogramminginterface,api,可以简称为接口)来定义传输格式,以便虚拟机和宿主机基于传输格式进行相应地编码和解码。然而,采用针对每一种sdk的调用(具体为对接口的调用),均定义传输格式,且进行相应地编码和解码,可能造成复杂性较高和灵活性较差的问题。技术实现要素:本公开实施例提供一种调用接口的方法及系统,以克服接口调用复杂性较高的问题。第一方面,本公开实施例提供一种调用接口的方法,包括:获取目标接口的序列化数据,其中,完成所述调用接口的方法的交互方采用不同的接口调用语言;对所述序列化数据进行反序列化处理,得到所述目标接口的属性信息;根据所述目标接口的属性信息调用并执行所述目标接口,生成并输出反馈信息,其中,所述反馈信息用于指示已调用和/或已执行所述目标接口。第二方面,本公开实施例提供一种调用接口的方法,包括:根据获取到的接口调用需求确定待调用的目标接口,并确定所述目标接口的属性信息,其中,完成所述调用接口的方法的交互方采用不同的接口调用语言;对所述目标接口的属性信息进行序列化处理,得到并输出序列化数据,其中,所述序列化数据用于指示调用并执行所述目标接口;接收反馈信息,其中,所述反馈信息用于指示已调用和/或已执行所述目标接口。第三方面,本公开实施例提供一种终端设备,包括:获取模块,用于获取目标接口的序列化数据,其中,完成所述调用接口的方法的交互方采用不同的接口调用语言;第一处理模块,用于对所述序列化数据进行反序列化处理,得到所述目标接口的属性信息;第一生成模块,用于根据所述目标接口的属性信息调用并执行所述目标接口,生成反馈信息,其中,所述反馈信息用于指示已调用和/或已执行所述目标接口;第一输出模块,用于输出所述反馈信息。第四方面,本公开实施例提供一种服务器,包括:第二确定模块,用于根据获取到的接口调用需求确定待调用的目标接口,并确定所述目标接口的属性信息,其中,完成所述调用接口的方法的交互方采用不同的接口调用语言;第二处理模块,用于对所述目标接口的属性信息进行序列化处理,得到并输出序列化数据,其中,所述序列化数据用于指示调用并执行所述目标接口;接收模块,用于接收反馈信息,其中,所述反馈信息用于指示已调用和/或已执行所述目标接口。第五方面,本公开实施例提供一种电子设备,包括:至少一个处理器和存储器;所述存储器存储计算机执行指令;所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如上第一方面以及第一方面各种可能的设计所述的方法;或者,使得所述至少一个处理器执行如上第二方面以及第二方面各种可能的设计所述的方法。第六方面,本公开实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第一方面以及第一方面各种可能的设计所述的方法;或者,实现如上第二方面以及第二方面各种可能的设计所述的方法。第七方面,提供了一种计算机程序产品,所述程序产品包括:计算机程序,所述计算机程序存储在可读存储介质中,电子设备的至少一个处理器可以从所述可读存储介质读取所述计算机程序,所述至少一个处理器执行所述计算机程序使得电子设备执行第一方面所述的方法;或者,所述至少一个处理器执行所述计算机程序使得电子设备执行第二方面以及第二方面各种可能的设计所述的方法。第八方面,提供了一种调用接口的系统,包括:如第三方面以及第三方面各种可能的设计所述的终端设备;如第四方面以及第四方面各种可能的设计所述的服务器。本实施例提供的调用接口的方法及系统,包括:获取目标接口的序列化数据,其中,完成调用接口的方法的交互方采用不同的接口调用语言,对序列化数据进行反序列化处理,得到目标接口的属性信息,根据目标接口的属性信息调用并执行目标接口,生成并输出反馈信息,其中,反馈信息用于指示已调用和/或已执行目标接口,在本实施例中,通过获取序列化数据(即对目标接口的属性信息进行序列化处理得到的序列化数据),对序列化数据进行反序列化处理(即序列化处理的逆过程),得到目标接口的属性信息,并基于目标接口的属性信息执行接口调用和执行接口的操作,通过序列化处理和反序列化处理的结合,无需对每一接口调用时的传输格式进行定义,也无需在此基础上并进行各传输格式各自对应地编码和解码,降低了接口调用的复杂性,降低了接口调用成本,提高了调用接口的灵活性。附图说明为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本公开一个实施例的调用接口的方法的流程示意图;图2为本公开另一实施例的调用接口的方法的流程示意图;图3为本公开另一实施例的调用接口的方法的流程示意图;图4为本公开一个实施例的终端设备的示意图;图5为本公开另一实施例的终端设备的示意图;图6为本公开一个实施例的服务器的示意图;图7为本公开另一实施例的服务器的示意图;图8为本公开实施例提供的电子设备的硬件结构示意图。具体实施方式为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。随着互联网技术和大数据技术的发展,云计算(或者称为网格计算)相关技术有了飞速地发展,且由于其可以在很短的时间内(如几秒钟)完成对数以万计的数据的处理,从而达到强大的网络服务,而被广泛地应用于不同的场景,如以云计算基础的游戏场景等。结合上述
背景技术
:地描述可知,相同的sdk在虚拟机和宿主机由不同的语言实现,而若针对每一种sdk的调用,都根据该sdk的应用程序接口来定义传输格式,以便虚拟机和宿主机基于传输格式进行相应地编码和解码,则很可能造成复杂性较高和灵活性较差的技术问题。为了解决上述技术问题,本公开的发明人经过创造性地劳动,得到了本公开的发明构思:由完成调用接口的方法的交互方中一方对任意接口的属性信息进行序列化处理,得到序列化数据,由交互方中的另一方对序列化数据进行反序列化处理,得到任意接口的属性信息,并基于任意接口的属性信息调用并执行接口。下面以具体地实施例对本公开的技术方案以及本公开的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本公开的实施例进行描述。请参阅图1,图1为本公开一个实施例的调用接口的方法的流程示意图。如图1所示,该方法包括:s101:获取目标接口的序列化数据。其中,完成调用接口的方法的交互方采用不同的接口调用语言。示例性地,本实施例的执行主体可以为调用接口的装置,且调用接口的装置可以为终端设备,也可以为处理器,也可以为芯片,等等,本实施例不做限定。若本实施例的执行主体为终端设备,则终端设备可以包括各种具有无线通信功能的手持设备、车载设备、可穿戴设备、计算设备或连接到无线调制解调器的其它处理设备。具体地,终端设备可以是移动终端,如移动电话(或称为“蜂窝”电话)和具有移动终端的计算机,例如,可以是便携式、袖珍式、手持式、计算机内置的或者车载的移动装置,它们与无线接入网交换语言和/或数据;终端设备还可以是个人通信业务(personalcommunicationservice,pcs)电话、无绳电话、会话发起协议(sessioninitiationprotocol,sip)话机、无线本地环路(wirelesslocalloop,wll)站、个人数字助理(personaldigitalassistant,pda),平板型电脑、无线调制解调器(modem)、手持设备(handset)、膝上型电脑(laptopcomputer)、机器类型通信(machinetypecommunication,mtc)终端等设备;终端设备也可以称为系统、订户单元(subscriberunit)、订户站(subscriberstation),移动站(mobilestation)、移动台(mobile)、远程站(remotestation)、远程终端(remoteterminal)、接入终端(accessterminal)、用户终端(userterminal)、用户代理(useragent)、用户设备(userdeviceoruserequipment),等等,在此不作限定。在一些实施例中,若本实施例的执行主体为终端设备,则终端设备包括通过进程间通信domainsocket建立与所述交互方中的另一方之间的双向全双工通信链路,并采用桌面虚拟化数据传输spice协议生成的宿主机。也即,宿主机可以作为完成调用接口的方法的交互方的一方。相应地,完成调用接口的方法的交互方的另一方可以为服务器,且服务器包括通过进程间通信建立与交互方中的另一方之间的双向全双工通信链路,并采用桌面虚拟化数据传输协议生成的虚拟机。也就是说,完成调用接口的方法的交互方可以包括两方,一方为宿主机(即终端设备),一方面为虚拟机(即服务器),宿主机和虚拟机可以通过进程间通信监理双向双工通信链路,且宿主机可以为采用桌面虚拟化数据传输协议,作为桌面虚拟化数据传输协议的客户端,虚拟机可以为采用桌面虚拟化数据传输协议和基于事件驱动的选择机制linux操作系统接口的服务端。在上述分析的基础上,本实施例可以理解为:终端设备(具体为宿主机)接收服务器(具体为虚拟机)发送的目标接口的序列化数据,终端设备与服务器之间采用不同的接口调用语言。应该理解地是,目标接口可以为接口中的任意接口,在本实施例中,为了将当前调用和非当前调用的接口进行区分,而将当前调用的接口称为目标接口,因此,目标接口不应该理解为对接口(如接口的类型等)的限定。其中,序列化(serialization)可以理解为,将对象的属性信息转换为可以存储和/或传输的形式的过程。相应地,在本实施例中,序列化数据可以理解为对目标接口的属性信息进行序列化处理后的数据。且,序列化数据具体可以理解为,传输形式的目标接口的属性信息的数据。s102:对序列化数据进行反序列化处理,得到目标接口的属性信息。其中,反序列化处理为序列化处理的逆过程。该步骤可以理解为:宿主机通过逆过程的反序列化处理,以便获取目标接口的属性信息。示例性地,目标接口的属性信息可以理解为,对目标接口的状态或特征等进行表征(或描述)的相关信息,如目标接口的类型,等等。值得说明地是,在本公开实施例中,引入了采用互为逆过程的序列化和反序列化而得到的目标接口的属性信息,如上述实施例中阐述的:宿主机接收由虚拟机发送的目标接口的序列化数据(即虚拟机对目标接口的属性信息进行序列化处理,得到的序列化数据),宿主机对序列化数据进行反序列化处理(即序列化处理的逆过程),得到目标接口的属性信息,以便基于目标接口的属性信息进行后续的s103,即进行目标接口的调用和执行,避免了针对每一接口的调用,均需定义传输格式,并进行相应地编码和解码,而造成的复杂性较高和灵活性较差的问题,实现了接口调用的灵活性,降低了调用成本的技术效果。s103:根据目标接口的属性信息调用并执行目标接口,生成并输出反馈信息。其中,反馈信息用于指示已调用和/或已执行目标接口。一个示例中,反馈信息可以用于指示已调用目标接口。例如,调用接口的装置在完成调用目标接口时,可以生成反馈信息,以便通过反馈信息指示调用接口的装置已经完成对目标接口的调用。另一个示例中,反馈信息可以用于指示已执行目标接口。例如,调用接口的装置在执行目标接口时,可以生成反馈信息,以便通过反馈信息指示调用接口的装置已经执行目标接口。当然,再一个示例中,反馈信息可以既用于指示调用接口的装置已经完成对目标接口的调用,又用于指示调用接口的装置已经执行目标接口。示例性地,结合上述实施例,且以反馈信息既用于指示已调用目标接口,且用于指示已执行目标接口为例,宿主机在对序列化数据进行反序列化处理,得到目标接口的属性信息之后,可以根据该目标接口的属性信息执行调用目标接口的操作,且可以执行目标接口的操作,并基于调用和/或执行的操作生成反馈信息,从而向虚拟机发送反馈信息。基于上述分析可知,本公开实施例提供了一种调用接口的方法,包括:获取目标接口的序列化数据,其中,完成调用接口的方法的交互方采用不同的接口调用语言,对序列化数据进行反序列化处理,得到目标接口的属性信息,根据目标接口的属性信息调用并执行目标接口,生成并输出反馈信息,其中,反馈信息用于指示已调用和/或已执行目标接口,在本实施例中,通过获取序列化数据(为对目标接口的属性信息进行序列化处理得到的序列化数据),对序列化数据进行反序列化处理(为序列化处理的逆过程),得到目标接口的属性信息,并基于目标接口的属性信息执行目标接口的调用和执行目标接口的操作,通过序列化处理和反序列化处理的结合,无需对每一接口调进行传输格式的定义,也无需在此基础上进行各传输格式各自对应地编码和解码,降低了接口调用的复杂性,降低了接口调用成本,提高了调用接口的灵活性。请参阅图2,图2为本公开另一实施例的调用接口的方法的流程示意图。如图2所示,该方法包括:s201:终端设备与服务器通过进程间通信建立彼此之间的双向全双工通信链路,且二者基于spice通信协议确定终端设备作为实现调用接口的方法的宿主机,服务器作为实现调用接口的方法的虚拟机。在一些实施例中,虚拟机可以通过代理接口(agentinterface)与宿主机建立通信,且代理接口在虚拟机中可以映射成字符串设备。s202:虚拟机根据待调用的目标接口,确定目标接口的属性信息。示例性地,虚拟机可以基于业务需求确定目标接口,并在确定出目标接口之后,获取目标接口的属性信息。具体地,虚拟机可以基于业务需求确定接口调用需求,并基于接口调用需求确定需要调用的目标接口,且获取目标接口的属性信息。例如,若虚拟机中的应用程序正在使用音视频的接口,则可以将虚拟机的操作放在宿主机来实现,以提高性能,则业务需求可以理解为对音视频推送的业务,则接口调用需求为调用完成音视频推送的业务的接口的调用需求,而确定出的目标接口为音视频的接口,即需要调用并执行音视频的接口。s203:虚拟机对目标接口的属性信息进行序列化处理,得到序列化数据。其中,序列化数据用于指示调用并执行目标接口。在一些实施例中,同一接口在交互方中具有相同的属性信息,目标接口的属性信息包括名称和参数。也即,同一接口在虚拟机和宿主机中具有相同的属性信息,属性信息可以包括名称和参数。例如,目标接口在虚拟机和宿主机中具有相同的名称,也具有相同的参数。其中,参数可以包括:句柄、结构、以及字符串指针类型等,此处不再一一列举。相应地,目标接口的属性信息包括名称和参数,则虚拟机在对目标接口的属性信息进行序列化处理时,可以对目标接口的属性信息中的名称和参数进行序列化处理,得到序列化数据。s204:虚拟机向宿主机发送序列化数据。相应地,宿主机接收由虚拟机发送的序列化数据。结合上述分析可知,虚拟机与宿主机之间可以通过代理接口建立通信,且代理接口可以在虚拟机中映射成字符串设备,则虚拟机在向宿主机发送序列化数据时,可以通过写字符串设备的方式实现,从而提高虚拟机与交互机之间的交互效率。相应地,宿主机中可以设置多个接收进程,且可以设置描述符列表,并在需要接收虚拟机发送的序列化数据时,将相应地字符串设备的描述符加入至监测的描述符列表,宿主机可以通过循环遍历的方式遍历所监测的描述符列表,当遍历完成描述符列表时,针对没有在描述符列表中的字符串设备,可以将没有在描述符列表中的字符串设备对应的接收进程进入睡眠状态,针对在描述符列表中的字符串设备,可以唤醒在描述符列表中的字符串设备对应的接收进程,以便由唤醒的接收进程执行接收任务,即接收由虚拟机发送的序列化数据。值得说明地是,在本实施例中,通过不同的接收线程执行各自对应的接收任务,可以实现非阻塞方式的异步调用,从而实现提高调用接口的效率的技术效果。s205:宿主机对序列化数据进行反序列化处理,得到目标接口的属性信息。结合上述实施例可知,序列化处理和反序列化处理互为逆过程,宿主机在接收到宿主机发送的经过序列化处理后的序列化数据时,可以基于序列化处理的逆过程,即反序列化处理对序列化数据进行处理,得到目标接口的属性信息。值得说明地是,序列化和反序列化互为逆过程,因此,宿主机和虚拟机可以预先设置序列化和反序列化的方式。例如,若虚拟机通过java的方式进行序列化处理,得到序列化数据,则宿主机也通过java的方式进行反序列化处理,得到目标接口的属性信息。又如,若虚拟机通过json的方式进行序列化处理,得到序列化数据,则宿主机也通过json的方式进行反序列化处理,得到目标接口的属性信息。s206:宿主机从预设的存储关系中确定与目标接口的属性信息对应的目标接口。其中,存储关系用于表征属性信息与接口之间的对应关系。应该说明地是,本实施例对存储关系不做限定,例如,存储关系可以为关系映射表,也可以为键值对。该步骤可以理解为:宿主机经过反序列化处理,得到目标接口的属性信息之后,可以基于目标接口的属性信息确定存储关系中的目标接口的属性信息,且从存储关系中确定与目标接口的属性信息对应的目标接口。宿主机通过结合存储关系的方式确定与目标接口的属性信息对应的目标接口,可以实现快速便捷地确定出目标接口,从而实现提高确定目标接口的效率和准确性的技术效果。基于上述分析可知,目标接口在宿主机和虚拟机中具有相同的属性信息,目标接口的属性信息包括名称和参数,存储关系可以为关系映射表,也可以为键值对,若存储关系为键值对,则s206可以包括如下步骤:步骤1:从键值对存储中确定与名称对应的键,并从键值对存储中确定与参数对应的值。其中,在对任意接口的属性信息进行键值对存储时,可以将接口的名称确定为键值对中的键,将参数确定为键值对中的值。步骤2:根据与名称对应的键、与参数对应的值,确定与目标接口的属性信息对应的目标接口。示例性地,该实施例可以理解为:宿主机中存储有键值对,键值对中的键与名称对应,键值对中的值与参数对应,若宿主机确定出目标接口的属性信息,则宿主机可以判断目标接口的属性信息是否命中键值对,如果命中,则说明宿主机中包括相应名称和参数的目标接口,则宿主机可以确定该命中的接口即为目标接口,则可以进行后续的调用和执行等操作。值得说明地是,在本实施例中,宿主机通过结合键值对的方式确定与目标接口信息的属性信息对应的目标接口,可以实现确定目标接口的准确性和可靠性,且可以提高确定目标接口的效率的技术效果。s207:宿主机调用并执行目标接口,生成反馈信息。其中,反馈信息用于指示已调用和/或已执行目标接口。需要说明地是,宿主机在调用目标接口,可能因不同的情况而产生不同的调用目标接口的结果。例如,宿主机调用目标接口时出现网络错误等异常情况,则宿主机调用目标接口的调用结果可能为调用失败,等等,此处不再一一列举。同理,宿主机在调用目标接口完成之后,在执行目标接口时,也可能因不同的情况而产生不同的执行目标接口的结果。例如,宿主机执行目标接口时出现网络错误等异常情况,则宿主机调用目标接口的执行结果可能为执行失败,等等,此处不再一一列举。在一些实施例中,反馈信息包括:对调用目标接口的调用结果进行序列化处理得到的信息、以及对执行目标接口所生成的执行结果进行序列化处理得到的信息。结合上述分析可知,虚拟机向宿主机发送的序列化数据为,经虚拟机进行序列化处理后的目标接口的属性信息,相应地,宿主机在确定出调用目标接口的调用结果时,可以对调用结果进行序列化处理,得到与调用结果对应的序列化处理后的信息,同理,宿主机在确定出执行目标接口的执行结果时,可以对执行结果进行序列化处理,得到与执行结果对应的序列化处理后的信息,从而得到反馈信息,以便向虚拟机发送反馈信息。在本实施例中,通过生成序列化处理后的反馈信息,可以提高虚拟机对反馈信息的识别效率,提高接口调用的可靠性和效率,提高用户的游戏体验和视频体验等效果。基于上述分析可知,调用目标接口和/或执行目标接口时,可能存在因网络等因素造成的失败结果,在一些实施例中,若执行结果表征执行目标接口失败,则执行结果中携带执行目标接口失败对应的异常码,异常码用于指示执行目标接口失败的原因。值得说明地是,在本实施例中,若宿主机执行目标接口失败时,生成携带执行目标接口失败的原因的异常码的执行结果,可以使得虚拟机快速精准地对执行目标接口的失败进行定位,以便进行后续执行目标接口的策略的调整,从而实现提高执行目标接口的准确性和可靠性的技术效果。其中,异常码可以为宿主机与虚拟机预先设定的,以便通过不同的异常码确定不同的失败类型。在一些实施例中,宿主机可以存储异常码与失败原因的映射关系。例如,宿主机在执行目标接口时,若执行目标接口失败,则确定失败的原因,并基于存储的异常码与识别原因之间的映射关系,确定执行目标接口识别的原因对应的异常码,并将异常码携带于执行结果中,发送给虚拟机。相应地,虚拟机也可以存储异常码与失败原因之间的映射关系。例如,虚拟机接收宿主机发送的反馈信息,确定反馈信息中是否包括异常码,若反馈信息中包括异常码,则虚拟机可以根据异常码与失败原因之间的映射关系,确定与异常码对应的失败的原因,并可以基于该失败的原因向目标接口的调用者(如用户)发送通知消息。应该理解地是,通知消息可以为虚拟机基于反馈信息生成,且用于指示目标接口的调用结果、以及执行调用的目标接口所生成的执行结果,而当反馈信息中包括异常码时,通知消息中可以包括执行调用接口的失败的原因。s208:宿主机向虚拟机发送反馈信息。相应地,虚拟机接收由宿主机发送的反馈信息。s209:虚拟机根据反馈信息生成通知消息。其中,通知消息用于指示目标接口的调用结果、以及执行调用的目标接口所生成的执行结果。也就是说,通知消息中可以包括两个维度的内容,一个维度的内容为调用目标接口的调用接口,另一个维度的内容为执行目标接口的执行结果。在一些实施例中,虚拟机可以将通知信息输出给向虚拟机发起调用请求的客户端。例如,结合上述实施例地分析可知,若本实施例的调用接口的方法应用于游戏场景,客户端可以为设置于用户终端的用于游戏的客户端,则虚拟机可以向客户端输出通知消息,相应地,客户端可以对通知消息进行适应性地显示,即客户端可以基于通知消息的具体内容在用户终端的显示器上显示相应的内容,如网络异常等。同理,若本实施例的调用接口的方法应用于音视频推送场景,客户端可以为设置于用户终端的用于推送音视频的客户端,则虚拟机可以向客户端输出通知消息,相应地,客户端可以对通知消息进行适应性地显示,即客户端可以基于通知消息的具体内容在用户终端的显示器上显示相应的内容,如网络异常等。值得说明地是,宿主机可以在完成对目标接口的调用,并在执行目标接口之后,向虚拟机发送反馈信息,也可以当存在宿主机调用目标接口失败的情况,而若宿主机没有完成对目标接口的调用时,虚拟机基于时间输出提示消息。示例性地,若虚拟机在预设时间段内没有收到反馈信息,则输出提示消息。其中,提示消息用于提示调用超时。其中,预设时间段可以由虚拟机基于需求、历史记录、以及试验等进行设置,本实施例不做限定。请参阅图3,图3为本公开另一实施例的调用接口的方法的流程示意图。如图3所示,该方法包括:s301:根据获取到的接口调用需求确定待调用的目标接口,并确定目标接口的属性信息。示例性地,本实施例的执行主体可以为服务器,且服务器包括通过进程间通信建立与交互方中的另一方之间的双向全双工通信链路,并采用桌面虚拟化数据传输协议生成的虚拟机。其中,完成调用接口的方法的交互方采用不同的接口调用语言。s302:对目标接口的属性信息进行序列化处理,得到并输出序列化数据。其中,序列化数据用于指示调用并执行目标接口。在一些实施例中,同一接口在交互方中具有相同的属性信息,目标接口的属性信息包括名称和参数;s302可以包括:对目标接口的属性信息中的名称和参数进行序列化处理,得到序列化数据。s303:接收反馈信息,其中,反馈信息用于指示已调用和/或已执行目标接口。在一些实施例中,反馈信息包括:对调用目标接口的调用结果进行序列化处理得到的信息、以及执行目标接口所生成的执行结果进行序列化处理得到的信息。s304:根据反馈信息生成并输出通知消息。其中,通知消息用于指示目标接口的调用结果、以及执行调用的目标接口所生成的执行结果。在一些实施例中,若在预设时间段内没有收到反馈信息,则输出提示消息,其中,提示消息用于提示调用超时。请参阅图4,图4为本公开一个实施例的终端设备的示意图。如图4所示,终端设备400包括:获取模块401,用于获取目标接口的序列化数据,其中,完成调用接口的方法的交互方采用不同的接口调用语言。第一处理模块402,用于对序列化数据进行反序列化处理,得到目标接口的属性信息。第一生成模块403,用于根据目标接口的属性信息调用并执行目标接口,生成反馈信息,其中,反馈信息用于指示已调用和/或已执行所述目标接口。第一输出模块404,用于输出反馈信息。请参阅图5,图5为本公开另一实施例的终端设备的示意图。如图5所示,终端设备500包括:获取模块501,用于获取目标接口的序列化数据,其中,完成调用接口的方法的交互方采用不同的接口调用语言。在一些实施例中,终端设备包括通过进程间通信domainsocket建立与交互方中的另一方之间的双向全双工通信链路,并采用spice通信协议生成的宿主机。第一处理模块502,用于对序列化数据进行反序列化处理,得到目标接口的属性信息。第一确定模块503,用于从预设的存储关系中确定与目标接口的属性信息对应的目标接口,其中,存储关系用于表征属性信息与接口之间的对应关系。在一些实施例中,同一接口在交互方中具有相同的属性信息,目标接口的属性信息包括名称和参数,第一确定模块503包括:第一确定子模块,用于从键值对存储中确定与名称对应的键,并从键值对存储中确定与参数对应的值。第二确定子模块,用于根据与名称对应的键、与参数对应的值,确定与目标接口的属性信息对应的目标接口。第一生成模块504,用于根据目标接口的属性信息调用并执行目标接口,生成反馈信息,其中,反馈信息用于指示已调用和/或已执行所述目标接口。在一些实施例中,反馈信息包括:对调用目标接口的调用结果进行序列化处理得到的信息、以及对执行目标接口所生成的执行结果进行序列化处理得到的信息。在一些实施例中,若执行结果表征执行目标接口失败,则执行结果中携带执行目标接口失败对应的异常码,异常码用于指示执行目标接口失败的原因。在一些实施例中,反馈信息用于生成通知信息,其中,通知消息用于指示目标接口的调用结果,和/或,执行调用的目标接口所生成的执行结果。第一输出模块505,用于输出反馈信息。请参阅图6,图6为本公开一个实施例的服务器的示意图。如图6所示,服务器600包括:第二确定模块601,用于根据获取到的接口调用需求确定待调用的目标接口,并确定目标接口的属性信息,其中,完成调用接口的方法的交互方采用不同的接口调用语言。第二处理模块602,用于对目标接口的属性信息进行序列化处理,得到并输出序列化数据,其中,序列化数据用于指示调用并执行目标接口。接收模块603,用于接收反馈信息,其中,反馈信息用于指示已调用和/或已执行目标接口。请参阅图7,图7为本公开另一实施例的服务器的示意图。如图7所示,服务器700包括:第二确定模块701,用于根据获取到的接口调用需求确定待调用的目标接口,并确定目标接口的属性信息,其中,完成调用接口的方法的交互方采用不同的接口调用语言。在一些实施例中,服务器包括通过进程间通信domainsocket建立与交互方中的另一方之间的双向全双工通信链路,并采用spice通信协议生成的虚拟机。第二处理模块702,用于对目标接口的属性信息进行序列化处理,得到并输出序列化数据,其中,序列化数据用于指示调用并执行目标接口。在一些实施例中,同一接口在交互方中具有相同的属性信息,目标接口的属性信息包括名称和参数,第二处理模块702用于,对目标接口的属性信息中的名称和参数进行序列化处理,得到序列化数据。接收模块703,用于接收反馈信息,其中,反馈信息用于指示已调用和/或已执行目标接口。在一些实施例中,反馈信息包括:对调用目标接口的调用结果进行序列化处理得到的信息、以及执行目标接口所生成的执行结果进行序列化处理得到的信息。第二生成模块704,用于根据反馈信息生成通知消息,其中,通知消息用于指示目标接口的调用结果、以及执行调用的目标接口所生成的执行结果。第二输出模块705,用于输出通知消息。在一些实施例中,第二输出模块705还用于,若在预设时间段内没有收到反馈信息,则输出提示消息,其中,提示消息用于提示调用超时。参考图8,其示出了适于用来实现本公开实施例的电子设备800的结构示意图,该电子设备800可以为终端设备或服务器。其中,终端设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、个人数字助理(personaldigitalassistant,简称pda)、平板电脑(portableandroiddevice,简称pad)、便携式多媒体播放器(portablemediaplayer,简称pmp)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字tv、台式计算机等等的固定终端。图8示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。如图8所示,电子设备800可以包括处理装置(例如中央处理器、图形处理器等)801,其可以根据存储在只读存储器(readonlymemory,简称rom)802中的程序或者从存储装置808加载到随机访问存储器(randomaccessmemory,简称ram)803中的程序而执行各种适当的动作和处理。在ram803中,还存储有电子设备800操作所需的各种程序和数据。处理装置801、rom802以及ram803通过总线804彼此相连。输入/输出(i/o)接口805也连接至总线804。通常,以下装置可以连接至i/o接口805:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置806;包括例如液晶显示器(liquidcrystaldisplay,简称lcd)、扬声器、振动器等的输出装置807;包括例如磁带、硬盘等的存储装置808;以及通信装置809。通信装置809可以允许电子设备800与其他设备进行无线或有线通信以交换数据。虽然图8示出了具有各种装置的电子设备800,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置809从网络上被下载和安装,或者从存储装置808被安装,或者从rom802被安装。在该计算机程序被处理装置801执行时,执行本公开实施例的方法中限定的上述功能。需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、rf(射频)等等,或者上述的任意合适的组合。上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备执行上述实施例所示的方法。可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(localareanetwork,简称lan)或广域网(wideareanetwork,简称wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定,例如,第一获取单元还可以被描述为“获取至少两个网际协议地址的单元”。本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、片上系统(soc)、复杂可编程逻辑设备(cpld)等等。在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。根据本公开实施例的另一个方面,本公开实施例提供了一种调用接口的系统,包括:如上任一实施例所述的终端设备,如图4或图5所示的终端设备;如上任一实施例所述的服务器,如图6或图7所示的服务器。第一方面,根据本公开的一个或多个实施例,提供了一种调用接口的方法,包括:获取目标接口的序列化数据,其中,完成所述调用接口的方法的交互方采用不同的接口调用语言;对所述序列化数据进行反序列化处理,得到所述目标接口的属性信息;根据所述目标接口的属性信息调用并执行所述目标接口,生成并输出反馈信息,其中,所述反馈信息用于指示已调用和/或已执行所述目标接口。根据本公开的一个或多个实施例,在根据所述目标接口的属性信息调用并执行所述目标接口之前,还包括:从预设的存储关系中确定与所述目标接口的属性信息对应的目标接口,其中,所述存储关系用于表征属性信息与接口之间的对应关系。根据本公开的一个或多个实施例,同一接口在所述交互方中具有相同的属性信息,所述目标接口的属性信息包括名称和参数,所述存储关系包括键值对存储;从预设的存储关系中确定与所述目标接口的属性信息对应的目标接口,包括:从所述键值对存储中确定与所述名称对应的键,并从所述键值对存储中确定与所述参数对应的值;根据与所述名称对应的键、与所述参数对应的值,确定与所述目标接口的属性信息对应的目标接口。根据本公开的一个或多个实施例,所述反馈信息包括:对调用所述目标接口的调用结果进行序列化处理得到的信息、以及对执行所述目标接口所生成的执行结果进行序列化处理得到的信息。根据本公开的一个或多个实施例,若所述执行结果表征执行所述目标接口失败,则所述执行结果中携带执行所述目标接口失败对应的异常码,所述异常码用于指示执行所述目标接口失败的原因。根据本公开的一个或多个实施例,所述反馈信息用于生成通知信息,其中,所述通知消息用于指示所述目标接口的调用结果,和/或,执行调用的所述目标接口所生成的执行结果。根据本公开的一个或多个实施例,若所述交互方中的一方包括终端设备,则所述终端设备包括通过进程间通信domainsocket建立与所述交互方中的另一方之间的双向全双工通信链路,并采用spice通信协议生成的宿主机。第二方面,根据本公开的一个或多个实施例,提供了一种调用接口的方法,包括:根据获取到的接口调用需求确定待调用的目标接口,并确定所述目标接口的属性信息,其中,完成所述调用接口的方法的交互方采用不同的接口调用语言;对所述目标接口的属性信息进行序列化处理,得到并输出序列化数据,其中,所述序列化数据用于指示调用并执行所述目标接口;接收反馈信息,其中,所述反馈信息用于指示已调用和已执行所述目标接口。根据本公开的一个或多个实施例,同一接口在所述交互方中具有相同的属性信息,所述目标接口的属性信息包括名称和参数;对所述目标接口的属性信息进行序列化处理,得到序列化数据,包括:对所述目标接口的属性信息中的名称和参数进行序列化处理,得到所述序列化数据。根据本公开的一个或多个实施例,所述反馈信息包括:对调用所述目标接口的调用结果进行序列化处理得到的信息、以及执行所述目标接口所生成的执行结果进行序列化处理得到的信息。根据本公开的一个或多个实施例,在接收反馈信息之后,还包括:根据所述反馈信息生成并输出通知消息,其中,所述通知消息用于指示所述目标接口的调用结果、以及执行调用的所述目标接口所生成的执行结果。根据本公开的一个或多个实施例,在输出序列化数据之后,还包括:若在预设时间段内没有收到反馈信息,则输出提示消息,其中,所述提示消息用于提示调用超时。根据本公开的一个或多个实施例,若所述交互方中的一方包括服务器,则所述服务器包括通过进程间通信domainsocket建立与所述交互方中的另一方之间的双向全双工通信链路,并采用spice通信协议生成的虚拟机。第三方面,根据本公开的一个或多个实施例,提供了一种终端设备,包括:获取模块,用于获取目标接口的序列化数据,其中,完成所述调用接口的方法的交互方采用不同的接口调用语言;第一处理模块,用于对所述序列化数据进行反序列化处理,得到所述目标接口的属性信息;第一生成模块,用于根据所述目标接口的属性信息调用并执行所述目标接口,生成反馈信息,其中,所述反馈信息用于指示已调用和已执行所述目标接口;第一输出模块,用于输出所述反馈信息。根据本公开的一个或多个实施例,还包括:第一确定模块,用于从预设的存储关系中确定与所述目标接口的属性信息对应的目标接口,其中,所述存储关系用于表征属性信息与接口之间的对应关系。根据本公开的一个或多个实施例,同一接口在所述交互方中具有相同的属性信息,所述目标接口的属性信息包括名称和参数,所述存储关系包括键值对存储;所述第一确定模块包括:第一确定子模块,用于从所述键值对存储中确定与所述名称对应的键,并从所述键值对存储中确定与所述参数对应的值;第二确定子模块,用于根据与所述名称对应的键、与所述参数对应的值,确定与所述目标接口的属性信息对应的目标接口。根据本公开的一个或多个实施例,所述反馈信息包括:对调用所述目标接口的调用结果进行序列化处理得到的信息、以及对执行所述目标接口所生成的执行结果进行序列化处理得到的信息。根据本公开的一个或多个实施例,若所述执行结果表征执行所述目标接口失败,则所述执行结果中携带执行所述目标接口失败对应的异常码,所述异常码用于指示执行所述目标接口失败的原因。根据本公开的一个或多个实施例,所述反馈信息用于生成通知信息,其中,所述通知消息用于指示所述目标接口的调用结果,和/或,执行调用的所述目标接口所生成的执行结果。根据本公开的一个或多个实施例,若所述交互方中的一方包括终端设备,则所述终端设备包括通过进程间通信domainsocket建立与所述交互方中的另一方之间的双向全双工通信链路,并采用spice通信协议生成的宿主机。第四方面,根据本公开的一个或多个实施例,提供了一种服务器,包括:第二确定模块,用于根据获取到的接口调用需求确定待调用的目标接口,并确定所述目标接口的属性信息,其中,完成所述调用接口的方法的交互方采用不同的接口调用语言;第二处理模块,用于对所述目标接口的属性信息进行序列化处理,得到并输出序列化数据,其中,所述序列化数据用于指示调用并执行所述目标接口;接收模块,用于接收反馈信息,其中,所述反馈信息用于指示已调用和已执行所述目标接口。根据本公开的一个或多个实施例,同一接口在所述交互方中具有相同的属性信息,所述目标接口的属性信息包括名称和参数;所述第二处理模块用于,对所述目标接口的属性信息中的名称和参数进行序列化处理,得到所述序列化数据。根据本公开的一个或多个实施例,所述反馈信息包括:对调用所述目标接口的调用结果进行序列化处理得到的信息、以及执行所述目标接口所生成的执行结果进行序列化处理得到的信息。根据本公开的一个或多个实施例,还包括:第二生成模块,用于根据所述反馈信息生成通知消息,其中,所述通知消息用于指示所述目标接口的调用结果、以及执行调用的所述目标接口所生成的执行结果;第二输出模块,用于输出所述通知消息。根据本公开的一个或多个实施例,第二输出模块用于,若在预设时间段内没有收到反馈信息,则输出提示消息,其中,所述提示消息用于提示调用超时。根据本公开的一个或多个实施例,若所述交互方中的一方包括服务器,则所述服务器包括通过进程间通信domainsocket建立与所述交互方中的另一方之间的双向全双工通信链路,并采用spice通信协议生成的虚拟机。第五方面,根据本公开的一个或多个实施例,提供了一种电子设备,包括:至少一个处理器和存储器;所述存储器存储计算机执行指令;所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如上第一方面以及第一方面各种可能的设计所述的方法;或者,使得所述至少一个处理器执行如上第二方面以及第二方面各种可能的设计所述的方法。第六方面,根据本公开的一个或多个实施例,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第一方面以及第一方面各种可能的设计所述的方法;或者,实现如上第二方面以及第二方面各种可能的设计所述的方法。第七方面,根据本公开的一个或多个实施例,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现如上第一方面以及第一方面各种可能的设计所述的方法;或者,所述计算机程序在被处理器执行时实现如上第二方面以及第二方面各种可能的设计所述的方法。第八方面,根据本公开的一个或多个实施例,提供了一种调用接口的系统,包括:如上第三方面以及第三方面各种可能的设计所述的终端设备;如上第四方面以及第四方面各种可能的设计所述的服务器。以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1