数据通信方法、装置及电子设备制造方法及图纸

技术编号:29594347 阅读:18 留言:0更新日期:2021-08-06 19:56
本申请公开了一种数据通信方法、装置及电子设备,涉及计算机领域,尤其涉及大数据和信息流技术领域。具体实现方案为:通过第一虚拟机获取待传输数据,待传输数据具有数据类型,根据待传输数据的数据类型,通过第一虚拟机确定所述待传输数据的传输方式,待传输数据的传输方式为直接传输方式或者地址传输方式,直接传输方式为不编码数据的传输方式,地址传输方式为指示出待传输数据的存储地址的传输方式,根据待传输数据的传输方式,通过第一虚拟机将待传输数据传输给第二虚拟机,避免了相关技术中,对待传输数据进行编码造成的数据传输效率偏低的问题,提高了数据的传输效率的技术效果。

【技术实现步骤摘要】
数据通信方法、装置及电子设备
本申请涉及计算机领域,尤其涉及大数据和信息流
,尤其涉及一种数据通信方法、装置及电子设备。
技术介绍
随着计算机技术的发展,电子设备上可以被构建并运行不同技术的虚拟机,如电子设备上可以运行基于flutter技术构建的虚拟机、以及基于native技术构建的虚拟机。在现有技术中,电子设备上的不同虚拟机之间可以进行数据传输,例如,若电子设备上运行有第一虚拟机和第二虚拟机,则第一虚拟机和第二虚拟机可以相互传输数据,且由第一虚拟机获取到待传输数据时,由第一虚拟机对待传输数据进行编码,并将编码后的待传输数据传输给第二虚拟机,由第二虚拟机对编码后的待传输数据进行解码,以便得到待传输数据。然而,采用上述编码和解码的方式传输数据,可能造成数据传输的效率偏低的技术问题。
技术实现思路
本申请提供了一种用于提高数据传输效率的数据通信方法、装置及电子设备。根据本申请的第一方面,提供了一种数据通信方法,应用于电子设备,所述电子设备中运行第一虚拟机和第二虚拟机,所述方法包括:通过所述第一虚拟机获取待传输数据,其中,所述待传输数据具有数据类型;根据所述待传输数据的数据类型,通过所述第一虚拟机确定所述待传输数据的传输方式,其中,所述待传输数据的传输方式为直接传输方式或者地址传输方式,所述直接传输方式为不编码数据的传输方式,所述地址传输方式为指示出所述待传输数据的存储地址的传输方式;根据所述待传输数据的传输方式,通过所述第一虚拟机将所述待传输数据传输给所述第二虚拟机。根据本申请的第二方面,提供了一种数据通信装置,应用于电子设备,所述电子设备中运行第一虚拟机和第二虚拟机,所述装置包括:第一获取单元,用于通过所述第一虚拟机获取待传输数据,其中,所述待传输数据具有数据类型;确定单元,用于根据所述待传输数据的数据类型,通过所述第一虚拟机确定所述待传输数据的传输方式,其中,所述待传输数据的传输方式为直接传输方式或者地址传输方式,所述直接传输方式为不编码数据的传输方式,所述地址传输方式为指示出所述待传输数据的存储地址的传输方式;传输单元,用于根据所述待传输数据的传输方式,通过所述第一虚拟机将所述待传输数据传输给所述第二虚拟机。根据本申请的第三方面,提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行第一方面所述的方法。根据本申请的第四方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行第一方面所述的方法。根据本申请的第五方面,提供了一种计算机程序产品,所述计算机程序产品包括:计算机程序,所述计算机程序存储在可读存储介质中,电子设备的至少一个处理器可以从所述可读存储介质读取所述计算机程序,所述至少一个处理器执行所述计算机程序使得电子设备执行第一方面所述的方法。应当理解,本部分所描述的内容并非旨在标识本申请的实施例的关键或重要特征,也不用于限制本申请的范围。本申请的其它特征将通过以下的说明书而变得容易理解。附图说明附图用于更好地理解本方案,不构成对本申请的限定。其中:图1是根据本申请第一实施例的示意图;图2是根据本申请第二实施例的示意图;图3是根据本申请实施例的数据通信方法的原理示意图;图4是根据本申请第三实施例的示意图;图5是根据本申请第四实施例的示意图;图6是根据本申请第五实施例的示意图;图7是根据本申请第六实施例的示意图;图8是用来实现本申请实施例的数据通信方法的电子设备的框图。具体实施方式以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。随着计算机技术和互联网技术的发展,电子设备的性能显著提高,电子设备上可运行的应用程序(application,app)的数量也显著增加。一般而言,为了使得应用程序的功能被实现,电子设备上可以运行不同技术构建的虚拟机,如基于第一技术构建的第一虚拟机,基于第二技术构建的第二虚拟机,以便基于第一虚拟机和第二虚拟机之间的交互(如数据传输与接收),实现应用程序的功能。例如,随着应用程序融入开源的flutter技术落地加快,以及纯flutter应用程序或插件项目中接入操作系统native技术的软件开发工具包(SoftwareDevelopmentKit,sdk)等应用场景越来越广,第一虚拟机可以为基于flutter技术构建的虚拟机,相应地,第二虚拟机可以为基于native技术构建的虚拟机;反之,若第一虚拟机为native技术构建的虚拟机,则第二虚拟机为基于flutter技术构建的虚拟机。在相关技术中,第一虚拟机和第二虚拟机的数据通信方法为:第一虚拟机将待传输数据进行编码处理,得到编码数据,并将编码数据传输给第二虚拟机,第二虚拟机对编码数据进行解码处理,得到待传输数据;同理,若第二虚拟机将待传输数据进行编码处理,得到编码数据,并将编码数据传输给第一虚拟机,第一虚拟机对编码数据进行解码处理,得到待传输数据。然而,采用上述相关技术中的方法实现数据通信,发送数据的发送方(如向第二虚拟机发送数据的第一虚拟机)需要对数据进行编码,相应地,接收数据的接收方(如接收第一虚拟机发送的数据的第二虚拟机)需要对编码后的数据进行解码,从而可能造成数据传输的效率偏低的技术问题。为了解决上述技术问题,本申请的专利技术人经过创造性地劳动,得到了本申请的专利技术构思:确定待传输数据的数据类型,并根据待传输数据的数据类型,选择直接传输方式,或者,地址传输方式,对待传输数据进行传输。基于上述专利技术构思,本申请提供一种数据通信方法、装置及电子设备,应用于计算机领域,尤其可以应用于大数据和信息流
,以达到提高数据传输的效率。图1是根据本申请第一实施例的示意图,如图1所示,本申请实施例提供的数据通信方法可以应用于电子设备,电子设备中运行第一虚拟机和第二虚拟机,该方法包括:S101:通过第一虚拟机获取待传输数据。其中,待传输数据具有数据类型。示例性地,本实施例的执行主体可以为数据通信装置,且当本实施例的方法应用于电子设备时,数据通信装置可以为电子设备中的处理器,也可以为电子设备中的芯片等,本实施例不做限定。需要说明地是,电子设备可以为服务器(如本地服务器,或者,云端服务器),也可以为终端设备(如移动终端)。在本实施例中,电子设备可以基于第一虚拟机对待传输数据进行获取。示例性地,以电子设本文档来自技高网
...

【技术保护点】
1.一种数据通信方法,应用于电子设备,所述电子设备中运行第一虚拟机和第二虚拟机,所述方法包括:/n通过所述第一虚拟机获取待传输数据,其中,所述待传输数据具有数据类型;/n根据所述待传输数据的数据类型,通过所述第一虚拟机确定所述待传输数据的传输方式,其中,所述待传输数据的传输方式为直接传输方式或者地址传输方式,所述直接传输方式为不编码数据的传输方式,所述地址传输方式为指示出所述待传输数据的存储地址的传输方式;/n根据所述待传输数据的传输方式,通过所述第一虚拟机将所述待传输数据传输给所述第二虚拟机。/n

【技术特征摘要】
1.一种数据通信方法,应用于电子设备,所述电子设备中运行第一虚拟机和第二虚拟机,所述方法包括:
通过所述第一虚拟机获取待传输数据,其中,所述待传输数据具有数据类型;
根据所述待传输数据的数据类型,通过所述第一虚拟机确定所述待传输数据的传输方式,其中,所述待传输数据的传输方式为直接传输方式或者地址传输方式,所述直接传输方式为不编码数据的传输方式,所述地址传输方式为指示出所述待传输数据的存储地址的传输方式;
根据所述待传输数据的传输方式,通过所述第一虚拟机将所述待传输数据传输给所述第二虚拟机。


2.根据权利要求1所述的方法,其中,根据所述待传输数据的数据类型,通过所述第一虚拟机确定所述待传输数据的传输方式,包括:
根据预设的数据类型与传输方式之间的对应关系,通过所述第一虚拟机确定所述待传输数据的传输方式。


3.根据权利要求1或2所述的方法,其中,所述地址传输方式为采用指针指示出所述待传输数据的存储地址的传输方式。


4.根据权利要求2所述的方法,其中,若所述待传输数据的数据类型为第一数据类型,则与所述待传输数据的数据类型对应的传输方式为直接传输方式;若所述待传输数据的数据类型为第二数据类型,则与所述待传输数据的数据类型对应的传输方式为地址传输方式。


5.根据权利要求4所述的方法,其中,所述第一数据类型为以下的任意一种:整数数据类型、布尔数据类型、浮点数据类型;
所述第二数据类型为非所述第一数据类型的其他数据类型。


6.根据权利要求1-5任一项所述的方法,其中,所述第一虚拟机为采用flutter技术的虚拟机,所述第二虚拟机为采用native技术的虚拟机。


7.根据权利要求6所述的方法,其中,所述第一虚拟机部署有编程语言层和内核语言层;根据所述待传输数据的传输方式,通过所述第一虚拟机将所述待传输数据传输给所述第二虚拟机,包括:
通过第一通信链路将所述待传输数据从所述编程语言层传输给所述内核语言层,其中,所述第一通信链路是采用外部函数接口建立的所述编程语言层与所述内核语言层之间的通信链路;
采用所述待传输数据的传输方式,将所述待传输数据从所述内核语言层传输给所述第二虚拟机。


8.根据权利要求7所述的方法,其中,所述第二虚拟机部署有Java语言层;由所述内核语言层采用所述待传输数据的传输方式,将所述待传输数据传输给所述第二虚拟机,包括:
根据待传输数据的传输方式,通过第二通信链路将所述待传输数据传输给所述第二虚拟机;其中,所述第二通信链路是采用本地接口协议建立的所述内核语言层与所述Java语言层之间的通信链路。


9.根据权利要求7所述的方法,其中,所述第二虚拟机部署有Objective-C语言层;由所述内核语言层采用所述待传输数据的传输方式,将所述待传输数据传输给所述第二虚拟机,包括:
根据待传输数据的传输方式,通过第三通信链路将所述待传输数据传输给所述第二虚拟机;其中,所述第三通信链路是所述内核语言层与所述Objective-C语言之间的通信链路。


10.根据权利要求1-5任一项所述的方法,其中,所述第一虚拟机为采用native技术的虚拟机,所述第二虚拟机为采用flutter技术的虚拟机。


11.根据权利要求10所述的方法,其中,所述第一虚拟机部署有Java语言层,所述第二虚拟机部署有编程语言层和内核语言层;根据所述待传输数据的传输方式,通过所述第一虚拟机将所述待传输数据传输给所述第二虚拟机,包括:
根据待传输数据的传输方式,依次通过第二通信链路和第一通信链路,将所述待传输数据从所述Java语言层传输给所述第二虚拟机,其中,所述第二通信链路是采用本地接口协议建立的所述内核语言层与所述Java语言层之间的通信链路,所述第一通信链路是采用外部函数接口建立的所述编程语言层与所述内核语言层之间的通信链路。


12.根据权利要求10所述的方法,其中,所述第一虚拟机部署有Objective-C语言层,所述第二虚拟机部署有编程语言层和内核语言层;根据所述待传输数据的传输方式,通过所述第一虚拟机将所述待传输数据传输给所述第二虚拟机,包括:
根据待传输数据的传输方式,依次通过第三通信链路和第一通信链路,将所述待传输数据从所述Objective-C语言层传输给所述第二虚拟机,其中,所述第三通信链路是所述内核语言层与所述Objective-C语言之间的通信链路,所述第一通信链路是采用外部函数接口建立的所述编程语言层与所述内核语言层之间的通信链路。


13.根据权利要求1至12中任一项所述的方法,还包括:
通过所述第一虚拟机接收所述第二虚拟机通过与目标传输数据对应的传输方式所传递的目标传输数据,其中,与所述目标传输数据对应的传输方式为依据所述目标传输数据的数据类型所确定的,与目标传输数据对应的传输方式为直接传输方式或者地址传输方式。


14.根据权利要求1至13中任一项所述的方法,其中,若所述待传输数据的数量为多个,则所述待传输数据的数据类型为集合数据类型,所述待传输数据的传输方式为地址传输方式。


15.根据权利要求1至13中任一项所述的方法,其中,若所述待传输数据的数量为多个,则每一待传输数据具有对应的传输方式;根据所述待传输数据的传输方式,通过所述第一虚拟机将所述待传输数据传输给所述第二虚拟机,包括:
为每一待传输数据分配位置标识;
根据每一待传输数据的传输方式,通过所述第一虚拟机将每一携带位置标识的待传输数据传输给所述第二虚拟机。


16.根据权利要求1至15中任一项所述的方法,若所述待传输数据的传输方式为地址传输方式,则所述方法还包括:
通过所述第二虚拟机,依据所述地址传输方式所指示的存储地址获取所述待传输数据。


17.一种数据通信装置,应用于电子设备,所述电子设备中运行第一虚拟机和第二虚拟机,所述装置包括:
第一获取单...

【专利技术属性】
技术研发人员:李俊蓉高飞曲彦辉
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1