CN117290283A - 数据共享方法、装置、车机设备、存储介质及车辆 - Google Patents
数据共享方法、装置、车机设备、存储介质及车辆 Download PDFInfo
- Publication number
- CN117290283A CN117290283A CN202311213630.2A CN202311213630A CN117290283A CN 117290283 A CN117290283 A CN 117290283A CN 202311213630 A CN202311213630 A CN 202311213630A CN 117290283 A CN117290283 A CN 117290283A
- Authority
- CN
- China
- Prior art keywords
- domain
- input
- data
- display
- vehicle
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 69
- 238000006243 chemical reaction Methods 0.000 claims abstract description 10
- 230000006870 function Effects 0.000 claims description 45
- 238000012545 processing Methods 0.000 claims description 29
- 238000004891 communication Methods 0.000 claims description 22
- 230000008569 process Effects 0.000 claims description 19
- 230000004044 response Effects 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 8
- 238000005516 engineering process Methods 0.000 description 19
- 238000002955 isolation Methods 0.000 description 19
- 230000000694 effects Effects 0.000 description 14
- 230000003993 interaction Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 230000004927 fusion Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- PPDBOQMNKNNODG-NTEUORMPSA-N (5E)-5-(4-chlorobenzylidene)-2,2-dimethyl-1-(1,2,4-triazol-1-ylmethyl)cyclopentanol Chemical compound C1=NC=NN1CC1(O)C(C)(C)CC\C1=C/C1=CC=C(Cl)C=C1 PPDBOQMNKNNODG-NTEUORMPSA-N 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000037406 food intake Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本申请涉及一种数据共享方法、装置、车机设备、存储介质及车辆,涉及汽车技术领域。该方法应用于车辆的车机设备,车机设备包括虚拟隔离的第一域和第二域,该方法包括:响应于第一域对应的输入设备的第一输入事件,控制第一域生成第一显示数据,该第一显示数据为针对第一输入事件在第一域对应的第一显示屏上显示的内容,控制第一域对第一显示数据进行格式转换,得到第二域支持的第一输入数据,并控制第一域将第一输入数据发送至第二域;控制第二域根据第一输入数据,在第二域对应的第二显示屏显示第一输入事件对应的第二显示数据。由此,实现了多域共享数据,提高了用户的操作体验。
Description
技术领域
本申请涉及车辆技术领域,尤其涉及虚拟化技术领域,具体涉及一种数据共享方法、装置、车机设备、存储介质及车辆。
背景技术
随着车辆技术的不断发展,车辆的底层硬件不再是由单一芯片提供简单的逻辑计算,而是需要复杂的多核系统级芯片(System on Chip,SOC)芯片提供更为复杂控制逻辑以及强大的算力支持。例如,可以实现多域业务。
其中,多域业务可以是指多个域(或者操作系统)共享SOC的资源。如此,可以基于同一SOC并发运行多个域。但是,每个域只能独立使用控制自己域内的数据,无法在全局内共享数据,影响用户的操作体验。
发明内容
本申请的目的之一在于提供一种数据共享方法、装置、车机设备、存储介质及车辆,以解决现有技术中多个域无法共享数据,影响用户的操作体验的问题。
为了实现上述目的,本申请采用的技术方案如下:
根据本申请涉及的第一方面,提供一种数据共享方法,应用于车辆的车机设备,车机设备包括第一域和第二域,第一域和第二域虚拟隔离。该方法包括:响应于第一域对应的输入设备的第一输入事件,控制第一域生成第一显示数据,该第一显示数据为针对第一输入事件在第一域对应的第一显示屏上显示的内容,控制第一域对第一显示数据进行格式转换,得到第二域支持的第一输入数据,并控制第一域将第一输入数据发送至第二域;控制第二域根据第一输入数据,在第二域对应的第二显示屏显示第一输入事件对应的第二显示数据。
基于上述技术手段,车机设备可以响应于第一域的输入事件,生成第一显示数据,并将第一显示数据转换成第二域支持的数据格式,并将该转换后的数据发送至第二域。如此,第二域可以识别该数据,并在第二域中的显示屏显示该数据。也即,用户可以通过第一域的输入设备控制第二域的显示屏显示的内容,实现了全局数据共享,提高了用户的操作体验。
在一种可能的实施方式中,第一域和第二域均配置有输入子系统,第一域的输入子系统和第二域的输入子系统支持的输入数据的数据格式一致。上述“控制第一域对第一显示数据进行格式转换,得到第二域支持的第一输入数据”包括:控制第一域的输入子系统对第一显示数据进行数据反向处理,得到第一输入数据,第一输入数据为第二域的输入子系统支持的输入数据。
根据上述技术手段,本申请提供的第一域和第二域均配置有输入子系统,且配置的输入子系统支持的输入数据的数据格式一致。如此,第一域中的输入子系统处理后的输入数据可以被第二域的输入子系统识别,进而在第二域中的显示屏上显示第一域中的输入事件对应的显示数据,实现了多屏互动。
在一种可能的实施方式中,第二域配置有虚拟输入节点,虚拟输入节点为基于第一域中的输入设备的配置信息构建的。
基于该技术方案,由于虚拟输入节点是基于第一域的输入设备的设备信息构建的,如此,第二域在接收到来自第一域的输入设备上传的输入数据之后,可以将输入数据由对应的虚拟输入节点进行处理,实现了对第一域中的输入设备的输入数据的识别及精准处理。
在一种可能的实施方式中,上述“控制第二域根据第一输入数据,在第二显示屏显示第一输入数据对应的第二显示数据”包括:控制第二域根据第一输入数据,生成虚拟输入节点对应的第二输入事件,并控制第二域根据第二输入事件,显示第二显示数据。
基于该技术方案,车机设备可以在第一域中将第一输入数据转换为第二域中的虚拟输入节点支持的第二输入数据,如此,便可以控制第二域根据第二输入数据,显示第二显示数据。
在一种可能的实施方式中,第二显示屏包括多个显示区域,该多个显示区域与第二域的多个虚拟输入节点一一对应,该多个虚拟输入节点的类型不同。上述“控制第二域根据第一输入数据,在第二显示屏显示第一输入事件对应的第二显示数据”包括:控制第二域按照虚拟输入节点的类型,将第一输入数据拆分为多个子输入数据,一个子输入数据对应一个虚拟输入节点;控制第二域针对每个子输入数据,生成各自对应的第二输入事件;针对每个第二输入事件,控制第二域在第二输入事件对应的显示区域内,显示第二输入事件对应的显示数据。
基于该技术方案,在一个显示器具有多个显示区域的场景下,车机设备可以基于虚拟输入节点的类型,将来自第一域的输入数据拆分为多个子输入数据,如此,针对每个子输入数据,可以基于该子输入数据对应的输入事件,在对应的显示区域上显示数据。从而实现了一屏多显示的效果,进一步提高了用户的操作体验。
在一种可能的实施方式中,该方法还包括:控制第二域根据预设的配置信息,确定第二域,该配置信息用于指示与不同输入设备关联的域。
基于该技术方案,针对多域业务,在不同的输入设备可以控制不同域显示的数据的情况下,可以根据配置信息,确定输入设备控制/关联的域,如此,第一域可以响应于输入设备的输入事件,控制与输入设备关联的域显示的内容,更加灵活准确。
在一种可能的实施方式中,上述“响应于输入设备的第一输入事件,控制第一域生成第一显示数据”包括:响应第一输入事件,控制第一域调用目标函数对第一输入事件对应的第二输入数据进行处理,得到第一显示数据。目标函数与第一输入事件相匹配。
基于该技术方案,车机设备可以响应于输入设备的输入事件,控制第一域调用与该输入事件匹配的函数对输入事件产生的输入数据进行解析,得到能够在显示屏上显示的数据,实现了输入设备的输入数据在显示屏上显示的效果。同时,不同的输入设备的输入事件产生的输入数据不同,因此,基于输入事件的函数可以针对性对该输入事件进行解析,更加灵活准确。
在一种可能的实施方式中,第一域为车机设备的仪表域,第二域为车机设备的IVI域,第一域和第二域通过网络虚拟化通信协议进行通信。
基于该技术方案,对于车机的IC域和IVI域,通过网络通讯协议进行通信,实现了仪表域和IVI域的互动。
根据本申请提供的第二方面,提供一种数据共享装置,应用于车辆的车机设备,该车机设备包括第一域和第二域,第一域和第二域虚拟隔离。该数据共享装置包括控制单元和显示单元。控制单元,用于响应于第一域对应的输入设备的第一输入事件,控制第一域生成第一显示数据,该第一显示数据为针对第一输入事件在第一域对应的第一显示屏上显示的内容。控制单元,还用于控制第一域对第一显示数据进行格式转换,得到第二域支持的第一输入数据,并控制第一域将第一输入数据发送至第二域。控制单元,还用于通过显示单元控制第二域根据第一输入数据,在第二域对应的第二显示屏显示第一输入事件对应的第二显示数据。
在一种可能的实施方式中,第一域和第二域均配置有输入子系统,第一域的输入子系统和第二域的输入子系统支持的输入数据的数据格式一致。控制单元,具体用于:控制第一域的输入子系统对第一显示数据进行数据反向处理,得到第一输入数据,第一输入数据为第二域的输入子系统支持的输入数据。
在一种可能的实施方式中,第二域配置有虚拟输入节点,虚拟输入节点为基于第一域中的输入设备的配置信息构建的。
在一种可能的实施方式中,控制单元,具体用于:控制第二域根据第一输入数据,生成虚拟输入节点对应的第二输入事件,并控制第二域根据第二输入事件,显示第二显示数据。
在一种可能的实施方式中,第二显示屏包括多个显示区域,该多个显示区域与第二域的多个虚拟输入节点一一对应,该多个虚拟输入节点的类型不同。控制单元,具体用于:控制第二域按照虚拟输入节点的类型,将第一输入数据拆分为多个子输入数据,一个子输入数据对应一个虚拟输入节点;控制第二域针对每个子输入数据,生成各自对应的第二输入事件;针对每个第二输入事件,控制第二域在第二输入事件对应的显示区域内,显示第二输入事件对应的显示数据。
在一种可能的实施方式中,控制单元,还用于:控制第二域根据预设的配置信息,确定第二域,该配置信息用于指示与不同输入设备关联的域。
在一种可能的实施方式中,控制单元,具体用于:响应第一输入事件,控制第一域调用目标函数对第一输入事件对应的第二输入数据进行处理,得到第一显示数据。目标函数与第一输入事件相匹配。
在一种可能的实施方式中,第一域为车机设备的IC域,第二域为车机设备的IVI域,第一域和第二域通过网络虚拟化通信协议进行通信。
根据本申请提供的第三方面,提供一种车机设备,应用于车辆,包括存储器和处理器,存储器和处理器耦合;存储器用于存储计算机程序代码,计算机程序代码包括计算机指令;当处理器执行计算机指令时,车机设备执行上述第一方面及其任一种可能的实施方式提供的数据共享方法。
根据本申请提供的第四方面,提供一种计算机可读存储介质,计算机可读存储介质中存储有指令,当指令在车机设备上运行时,使得车机设备执行上述第一方面及其任一种可能的实施方式提供的数据共享方法。
根据本申请提供的第五方面,提供一种车辆,包括上述第三方面提供的车机设备。
根据本申请提供的第六方面,提供一种计算机程序产品,计算机程序产品包括计算机指令,当计算机指令在在车机设备上运行时,使得车机设备执行上述第一方面及其任一种可能的实施方式提供的数据共享方法。
由此,本申请的上述技术特征具有以下有益效果:
(1)车机设备可以响应于第一域的输入事件,生成第一显示数据,并将第一显示数据转换成第二域支持的数据格式,并将该转换后的数据发送至第二域。如此,第二域可以识别该数据,并在第二域中的显示屏显示该数据。也即,用户可以通过第一域的输入设备控制第二域的显示屏显示的内容,实现了全局数据共享,提高了用户的操作体验。
(2)第一域中的输入子系统处理后的输入数据可以被第二域的输入子系统识别,进而在第二域中的显示屏上显示第一域中的输入事件对应的显示数据,实现了多屏互动。
(3)由于虚拟输入节点是基于第一域的输入设备的设备信息构建的,如此,第二域在接收到来自第一域的输入设备上传的输入数据之后,可以将输入数据由对应的虚拟输入节点进行处理,实现了对第一域中的输入设备的输入数据的识别及精准处理。
(4)车机设备可以在第一域中将第一输入数据转换为第二域中的虚拟输入节点支持的第二输入数据,如此,便可以控制第二域根据第二输入数据,显示第二显示数据。
(5)在一个显示器具有多个显示区域的场景下,车机设备可以基于虚拟输入节点的类型,将来自第一域的输入数据拆分为多个子输入数据,如此,针对每个子输入数据,可以基于该子输入数据对应的输入事件,在对应的显示区域上显示数据。从而实现了一屏多显示的效果,进一步提高了用户的操作体验。
(6)针对多域业务,在不同的输入设备可以控制不同域显示的数据的情况下,可以根据配置信息,确定输入设备控制/关联的域,如此,第一域可以响应于输入设备的输入事件,控制与输入设备关联的域显示的内容,更加灵活准确。
(7)车机设备可以响应于输入设备的输入事件,控制第一域调用与该输入事件匹配的函数对输入事件产生的输入数据进行解析,得到能够在显示屏上显示的数据,实现了输入设备的输入数据在显示屏上显示的效果。同时,不同的输入设备的输入事件产生的输入数据不同,因此,基于输入事件的函数可以针对性对该输入事件进行解析,更加灵活准确。
(8)对于车机的IC域和IVI域,通过网络通讯协议进行通信,实现了仪表域和IVI域的互动。
需要说明的是,第二方面至第六方面中的任一种实现方式所带来的技术效果可参见第一方面中对应实现方式所带来的技术效果,此处不再赘述。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
图1是根据一示例性实施例示出的一种多域系统的结构示意图;
图2是根据一示例性实施例示出的车机系统控制多个显示屏的显示内容的示意图;
图3是根据一示例性实施例示出的另一种车机系统的结构示意图;
图4是根据一示例性实施例示出的一种数据共享方法的流程图;
图5是根据一示例性实施例示出的一种输入数据的拆分方法的示意图;
图6是根据一示例性实施例示出的一种数据反向处理的的示意图;
图7是根据一示例性实施例示出的一种数据共享装置的框图;
图8是根据一示例性实施例示出的一种车机设备的框图。
具体实施方式
以下将参照附图和优选实施例来说明本申请的实施方式,本领域技术人员可由本说明书中所揭露的内容轻易地了解本申请的其他优点与功效。本申请还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本申请的精神下进行各种修饰或改变。应当理解,优选实施例仅为了说明本申请,而不是为了限制本申请的保护范围。
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本申请的基本构想,遂图式中仅显示与本申请中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
在实施例的描述中,除非另有说明,“/”表示“或”的意思,例如,A/B可以表示A或B。本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。此外,“至少一个”“多个”是指两个或两个以上。“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
随着车辆技术的发展,多域业务也逐渐得到应用。但不同域业务具有不同的技术需求。例如,座舱域IVI业务主要强调交互体验,应用生态丰富,比较适合的操作系统可以为安卓(Android)。仪表盘等辅助驾驶域的业务要求实时性、可靠性,比较适合的操作系统可以为RTLinux、RTOS。智驾域业务主要强调算力融合感知、推演规划,也要求实时性、可靠性,比较适合的操作系统可以为RTLinux、RTOS。
由于不同域业务具有不同的技术需求,在实现域融合的同时,要保证关键业务的安全性及可靠性,也要考虑应用生态的可持续兼容,这就需要基于资源隔离技术隔离将多个域。如此,可以实现多个域并发运行多种操作系统,且多个域互不干扰。
资源隔离技术有多种,从硬件底层逐层向上的资源隔离技术可以包括硬件隔离技术、虚拟化隔离技术、容器隔离技术、进程隔离技术等。其中,硬件隔离技术的隔离性最好,单隔离域的性能、安全可靠性最好,但灵活性、可配置性差,不能实现硬件共享,导致整个系统的资源利用率差,不能充分达到软件定义汽车的目标。容器隔离技术、进程隔离技术可以更轻量级地实现业务隔离,但还是在同一个操作系统内,存在着资源干扰、相互安全攻击的隐患,并且无法支持异构操作系统业务域融合,影响传统业务继承,不利于生态发展。在众多的资源隔离技术中,虚拟化隔离技术是安全可靠、弹性灵活的优选方案,是软件定义汽车的重要支撑技术。
通过虚拟化隔离技术的多个域,各个域只能独立操作域内的资源,无法在全局内共享资源,阻碍用户层面的操作体验。基于虚拟化隔离技术可以在用户层面对多域系统无感,实现多屏互动中触控部分,结合显示融合可以实现如一窗跨屏,跨屏跟手,动效跨屏等效果。
随着采用虚拟化技术的操作系统的越来越多,并逐渐形成一种趋势,汽车域的虚拟化技术将使不同需求的汽车控制域保持实时性成为可能,每个汽车控制域都可以被隔离,多种操作系统并行,保障互不干扰,并且不会影响可能存在漏洞的其他域。
虚拟化隔离技术可以隔离多个域,但随之也带来了上层应用软件的不兼容的问题。虽然多个域是基于同一芯片,但实际跟多个芯片上运行多个操作系统无差别,各个域的相互独立无法实现数据共享,因此,并没有带来用户体验上的提升。
一种示例中,车辆的多个域可以构成多域系统,该多域系统共享一个芯片。该芯片与每个域的显示屏和输入设备连接。由于每个域的显示屏和输入设备的配置文件需要提前配置好,无法动态修改,因此不够灵活。
例如,对于用户而言,希望可以灵活操作车内各个显示屏、仪表应用、安全警报、车载导航和娱乐设备等,可以独立在各个显示屏显示,也可以数据共享。例如,可以实现多屏多音区播放、多屏幕同步播放。比如,可以实现跨屏跟手、开机动效跨屏、图像统一缩放、跨屏推挤等效果,提高了用户体验。
鉴于此,本申请提供了一种数据共享方法,用于提升用户体验,该方法应用于包括车辆的车机设备,该车机设备设置有多个域(例如,可以包括两个域,分别为第一域和第二域),该多个域之间通过虚拟化隔离技术隔离(简称为虚拟隔离)。车机设备可以响应于第一域中的输入设备的输入事件,生成显示数据,并对该显示数据进行格式转换,得到第二域支持的输入数据,并通过第一域向第二域发送该输入数据,如此,第二域可以基于该输入数据,在第二域的显示屏上显示输入事件对应的显示数据。
基于该方法,车机设备基于第一域的输入事件,生成显示数据,并在第一域将该显示数据转换成第二域支持的数据。然后,车机设备可以将转换后的输入数据发送给第二域。由于转换后的输入数据为第二域支持的输入数据,如此,第二域可以基于该输入数据,在显示屏显示该输入数据对应的显示数据。也即,第一域中的输入事件可以控制第二域在显示屏上显示该输入事件对应的显示数据,也即,实现了多个域之间的数据共享,从而提升了用户体验。
本申请中,第一域和第二域是以输入子系统为基础,并使用频率较高的输入设备(如触摸屏、按键、陀螺仪)的数据抽象化/虚拟化,通过基于共享内存的虚拟化技术上述抽象化/虚拟化的数据发送至操作系统中,用于实现低速数据的多域共享。本申请中,车机设备为支持使用输入子系统的数据格式的设备。
一种应用场景下,第一域为Host OS域,第二域为gurstOS域。位于HostOS的后端驱动和位于GuestOS的前端驱动使用的统一数据结构。前端驱动要能够通过后端驱动传过来的设备属性,确定需要创建的虚拟输入节点的类型,例如,虚拟按键、虚拟鼠标、虚拟触摸屏,以及虚拟触摸屏是否支持多点触摸等。除此之外,前端系统还需要设备id值,这个id值由上述常用的设备厂商id组合。上述的设备属性跟input-event相关,但需要最小化,能表征设备即可,又不浪费内存空间。如此,当前端驱动识别到是virtio-input,那么structvirtio_input包含的属性都需要被创建。
本申请中,输入数据在转发给前端驱动的时候,可以做进一步处理。例如,后端驱动在数据反向处理的时候已经把数据按照设备类型进行拆分,这样发给前端驱动的数据已按照设备流处理,可以在此基础上让数据流流向不同的设备,实现一个触摸设备可以同时操作前端两个独立的设备,可以实现跨屏互动。具体的,可以参照下述图4所示的技术方案。
图1示出一种车机系统的架构。如图1所示,该车机系统(也可以称为中控系统、多域系统)可以包括多个域(图1中仅示出了两个域,当然还可以包括更多的域),该多个域之间虚拟隔离,且该多个域之间可以通过网络虚拟化通讯协议进行通信。例如,可以通过virtio通讯协议进行通信。本申请中,车机系统可以为alios系统。也即,本申请的技术方案应用于alios系统。该系统可以包括多个域。
其中,该多个域可以共享相同的硬件资源。例如,可以共享同一芯片/中央处理器(Central Processing Unit,CPU)。为了实现各域的功能控制,车机设备的硬件资源可以划分多个部分,每个部分对应一个域。每个域可以配置有显示屏和摄入设备。该多个显示屏可以通过数据总线与车机设备连接。输入设备可以为触摸屏、按键、陀螺仪等。如此,各域可以独立使用分配的资源进行数据处理、数据显示等。
在一些场景中,由于主域侧的业务较多,因此,为了保障主域侧的业务的正常处理,主域配置的资源可以大于/优于从域配置的资源。例如,主域配置的CPU资源大于从域配置的CPU资源。
例如,以输入设备为触摸设备为例,相较于陀螺仪和按键,触摸设备上报的数据复杂性较高,且包括的事件类型最大,在一些情况下,触摸设备上报的数据还包括按键采集的数据。因此,主域需要使用较多的资源处理数据。
进一步的,为了减少主域的资源使用量,主域中的输入数据向从域传输时,可以将输入数据缓存至从域配置的内存中。如此,可以节省主域的内存,尽可能保证主域侧的正常运行。
一种示例中,为了实现多个域之间的交互,多个域可以分为主域(如主操作系统(Host Operating System,host OS)域)和从域(从(guest)OS域)。主域可以控制从域的显示屏显示的数据。比如,主域的输入设备可以控制从域的显示屏显示的数据。相应的,从域可以基于主域的输入事件,在显示器上显示该输入事件对应的显示数据。也即,主域的输入事件可以控制从域的显示屏显示的数据。
一种应用场景中,车机系统的多个域可以包括车载信息娱乐系统(In-VehicleInfotainment,IVI)域和仪表域(也可以称为IC域)。IVI域可以参照上述描述。IC域则注重实时性和稳定性。
一种示例中,仪表域和IVI域均设置有显示屏。仪表域侧的显示屏(为了便于描述,称为第一显示屏)可以设置在车辆的中控位置,IVI域侧的显示屏(为了便于描述,称为第二显示屏)可以在车辆的副驾驶位置或者车辆的后排位置。
一种可能的实现方式中,响应于用户在第一显示屏的操作(如点击操作、按压操作),车机设备可以控制第一显示屏和第二显示屏同步显示该操作对应的数据。
一种应用场景中,在车辆上电的情况下,响应于用户开启显示屏的操作,第一显示屏和第二显示屏均可以显示开机动画。第一显示屏和第二显示屏的开机动画可以相同,也可以不同,不予限制。
又一种应用场景中,如图2所示,第一显示屏和第二显示屏均播放多媒体(如视频、音频等)。响应于用户点击播放多媒体的操作,第一显示屏可以播放该操作对应的多媒体数据。车机设备可以将该多媒体数据进行数据反向处理,得到第一输入数据,并控制第二域对第一输入数据进行解析,并在第二显示屏显示用户的操作对应的多媒体数据。
又一种应用场景,结合图2,第一显示屏和第二显示屏均播放多媒体数据。响应于用户对第一显示屏对应的控件(如音量控件、播放进度控件)的操作,车机设备可以控制第二显示屏显示该操作对应的控制事件。
又一种应用场景中,第一显示屏和第二显示屏均显示第一图像。响应于用户将第一显示屏显示的第一图像切换为第二图像,车机设备可以控制第二显示屏将显示的第一图像切换为第二图像。该第二图像可以为第一域传输给第二域的。一种可能的实现方式中,每个域可以划分为用户层和内核层。如图3所示,内核层可以设置有第一输入子系统,该第一输入子系统可以用于检测输入设备的输入事件。用户层可以设置有图形显示模块、第二输入子系统。图像显示模块可以生成显示数据。第二输入子系统可以对输入数据进行数据反向化处理,得到其他域支持的输入数据。其中,每个域的输入子系统支持的数据格式一致。例如,该数据格式可以为内核的输入子系统的标准格式,比如可以为输入事件(input_event)格式。
又一种可能的实现方式中,如图3所示,车机系统还可以包括硬件层。硬件层可以包括各域配置的输入设备。硬件层与域之间设置有软件层(如Hypervisor)。Hypervisor是虚拟化技术的核心,具体的,可以参照现有技术,不予赘述。
又一种可能的实现方式中,如图3所示,各个域之间基于虚拟化通讯协议通讯可以是指各个域之间共享环形队列virtio通讯。virtio通讯是以共享内存为基础,以中断要求(Interupt ReQuest,irq)和hycall方式通知前后端系统数据已经准备好,可以进行数据读取。
又一种可能的实现方式中,车机设备可以配置有驱动(可以称为后端驱动)。该驱动位于HostOS域中。后端驱动主要用于获取输入设备的驱动程序上报的输入数据,并对输入数据进行处理后,发送给guestOS域。
下面结合图3的车机系统对本申请提供的数据共享方法进行说明。
如图4所示,为本申请根据一些示例性实施例示出的一种数据共享方法,该方法包括S401~S404。
S401、响应于第一域对应的输入设备的第一输入事件,控制第一域生成第一显示数据。
其中,第一显示数据为针对第一输入事件在第一显示屏显示的内容,第一显示屏为第一域对应的显示屏或者为第一域配置/控制的显示屏。第一域对应的输入设备可以包括触摸设备、按键、陀螺仪等。本申请中,第一显示屏可以为驾驶员所处位置的显示屏,如可以为车辆的主控显示屏。
本申请中,车机设备可以通过后端驱动控制第一域或者,车机设备控制第一域的操作可以描述为第一域基于后端驱动实现操作。比如,车机设备控制第一域生成第一显示数据可以描述为后端驱动控制第一域生成第一显示数据,或者第一域通过后端驱动生成第一显示数据。后续的有关控制域的相关操作均可以参照此次描述,不予赘述。
一种可能的实现方式中,响应于第一域中的输入设备的输入事件,车机设备控制第一域调用目标函数对输入事件对应的第二输入数据进行处理,得到第一显示数据。
其中,目标函数与输入事件相匹配。第一域可以配置有多个函数。该多个函数可以包括目标函数,一个函数对应一个输入事件。输入事件可以包括手指触摸事件、手指按下事件、手指抬起事件、手指滑动事件等。
一种示例中,结合图3,以第一域为host OS域为例,响应于输入设备被触发/按压的操作,车机设备可以通过第一域生成对应的输入事件,并向图形处理模块发送该输入事件。图形处理模块可以基于该输入事件,调用目标函数生成显示数据。
其中,目标函数可以用于处理图像显示模块获取的与图形相匹配的触摸数据。触摸数据包括四类。具体的,输入数据可以包括:
1、HWM_INPUT_EVENT_DOWN、HWM_INPUT_EVENT_UP、HWM_INPUT_EVENT_MOVE、HWM_INPUT_EVENT_SYNC(分别对应手指触摸事件),HWM_INPUT_EVENT_DOWN(对应手指按下事件)。
2、HWM_INPUT_EVENT_UP(对应手指抬起事件)与HWM_INPUT_EVENT_SYNC表示所有手指都抬起事件。
3、HWM_INPUT_EVENT_MOVE(对应手指滑动事件)与HWM_INPUT_EVENT_SYNC表示所有硬件上报触摸数据的频率,或者多个手指本次更新结束事件。
4、HWM_INPUT_EVENT_SYNC:用来表示一次硬件上报的触摸数据结束事件或者手指抬起事件。
S402、控制第一域度第一显示数据进行格式转换,得到第二域支持的第一输入数据。
其中,格式转换是指将第一显示数据转换为第二域支持的数据格式。该数据格式可以参照上述描述。
一种示例中,第一域和第二域均配置有输入子系统,第一域的输入子系统与所述第二域的输入子系统支持的输入数据的数据格式一致。
一种可能的实现方式中,车机设备可以控制第一域的输入子系统对第一显示数据进行数据反向处理,得到第一输入数据。第一输入数据为第二域的输入子系统支持的输入数据。
其中,数据反向处理可以是指将获取的输入数据(如坐标数据、按键数据)解析成输入子系统支持的数据格式。输入子系统指出的数据可以包括event类型如按键(KEY)、相对坐标(REL)、绝对坐标(ABS)、开关(switch)、杂散(misc)等。
一种示例中,车机设备可以控制第一域将图像显示模块解析的手指状态信息(如手指ID、手指动作类型、手指坐标值、手指同步信息)转换成input数据类型。
例如,图像显示模块可以调用函数按照指ID进行数据处理,并按帧逐条处理每个手指数据以及按照触摸类型获取手指的坐标数据,并手指的坐标数据类型从浮点类型转换为整型数据。如此,图像显示模块可以将手指的坐标数据进行数据反向处理,得到input输入数据。
需要说明的是,本申请中,Host OS域的输入子系统可以通过预设方式加载。如,通过输入系统服务(input-system.servive)方式加载,该输入子系统的加载时间位于图形显示模块的加载时间。如此,输入子系统可以将支持的数据格式传递给图形显示模块。图形显示模块可以通过Host OS侧的weston.service将输入设备的设备驱动上报的输入数据解析成一组信息。
其中,weston.service可以遍历Host OS中创建的/dev/input/目录下所有事件(event)节点,每个节点创建一个对应的文件描述符(Filedescriptor,fd)。如此,weston.service可以从车机设备的开机到关机一直监控所有fd上报的数据。例如,触摸设备(/dev/input/event3)的输入数据包括:设备名字、设备类型、设备id、插槽(slot)_id、x/y/z坐标,事件类型。
例如,输入子系统的数据反向化的原理可以如表1所示。
表1
/>
结合表1,第一域的输入操作为手指在按压触摸设备的操作,手指在触摸设备的位置数据为(100,200,80),则该输入操作对应的输入事件可以为EV_KEY BTN_TOUCHDOWN,对应的输入数据包括EV_SYN SYN_PEPORT 00000000、EV_ABSABS_MT_PRESSURE00000050、EV_SYN SYN_PEPORT 00000000。
进一步的,第一域可以在获取输入设备的输入数据之后,可以根据输入设备的设备ID确定是否将输入数据发送至第一域的用户层中的应用程序(Application,APP)。
一种示例中,若输入设备的ID用于指示该输入设备属于第一域使用(或者属于第一域),则需要将输入数据发送至用户层中的APP。若输入设备的ID用于指示该输入设备还输入其他域,则车机设备可以控制第一域根据预设的配置信息,确定第二域。其中,配置信息用于指示与不同输入设备关联的域。
本申请中,输入设备的配置文件(如设备树dts)中可以预先配置有属性OS=(host/guest)。如此,设备驱动可以基于该属性,确定输入设备的设备信息和属于哪个OS的信息写入设备配置文件。该设备配置文件为能够读写的目录,且在设备掉电时不丢失。例如,该目录可以为/etc/目录。如此,图形显示模块可以基于该设备配置文件,确定将哪些输入设备的数据转发给guestOS域。
S403、控制第一域将第一输入数据发送至第二域。
其中,由于第一域和第二域之间虚拟隔离,如此,第一域和第二域之间可以通过网络虚拟化通信协议进行通信。
S404、控制第二域根据第一输入数据,在第二显示屏显示第一输入事件对应的第二显示数据。
其中,第二显示屏为第二域对应的显示屏。例如,第二显示屏可以为乘客所处位置的设置的显示屏。例如,可以车辆的副驾驶位置的显示屏,车辆后排座位设置的显示屏等。
一种示例中,第二域配置有虚拟输入节点,虚拟输入节点为基于输入设备的配置信息构建的。虚拟输入设备为virtio-input的虚拟设备。虚拟输入设备的具体的构建过程可以参照下述的描述,此次不予赘述。
一种可能的实现方式中,车机设备控制第二域根据第一输入数据,生成虚拟输入节点对应的第二输入事件,并控制第二域根据第二输入事件,显示第二显示数据。例如,可以控制第二域根据第二输入事件,生成第二显示数据,并通过用户层的APP在第二显示屏上显示该第二显示数据。例如,第二域可以将生成的第二显示数据发生至第二输入事件对应的APP,如此,该APP可以在第二显示屏显示第二显示数据。
一种可能的应用场景中,第二显示屏包括多个显示区域,该多个显示区域与第二域的多个虚拟输入节点一一对应,多个虚拟输入节点的类型不同。
在该应用场景中,车机设备可以控制第二域按照虚拟输入节点的类型,将第一输入数据拆分为多个子输入数据;一个子输入数据对应一个虚拟输入节点。如此,车机设备可以控制第二域针对每个子输入数据,生成各自对应的第二输入事件。针对每个第二输入事件,车机设备可以控制第二域在第二输入事件对应的显示区域内,显示第二输入事件对应的显示数据。
一种示例中,第二域可以设置有设备配置文件,该设备配置文件可以用于确定是否需要对输入数据进行拆分。如图5所示,第二区域中的前端驱动可以读取设备配置文件,在确定需要对输入数据进行拆分时,可以根据配置文件中设定的边界坐标进行拆分,并按帧追条处理每个手指的触摸数据以及跨边界的触摸数据。然后将拆分后的数据,基于设备类型发送给对应的虚拟输入节点。由虚拟输入节点通过图像子系统在显示屏对应的显示区域上显示数据。
本申请中,第二域的输入子系统对应的代码与第一域中的后端驱动的代码相对应。第二域的输入子系统可以用于接收第一域的后端驱动转发过来的输入数据,并将输入数据按照统一的标识转往给对应的虚拟输入节点,这样虚拟输入节点就可以将输入数据发到指定的APP。在APP中,输入数据与显示屏数据在weston软件中融合,进而可以实现多域触摸屏互动效果。
需要指出的是,上述方案使用于将一个显示屏划分为不同的显示区域的应用场景。例如,可以将显示屏划分为两个显示区域的应用场景。该显示区域可以为显示屏的上下两个区域或者为显示屏的左右两个区域。比如,一个显示区域可以显示电子地图,另一个显示区域可以显示多媒体播放界面。在该场景下,第一域的输入设备的输入事件可以包括触发电子地图以及触发多媒体的事件。
基于图4的技术方案,车机设备可以响应于第一域的输入事件,生成第一显示数据,并将第一显示数据转换成第二域支持的数据格式,并将该转换后的数据发送至第二域。如此,第二域可以识别该数据,并在第二域中的显示屏显示该数据。也即,用户可以通过第一域的输入设备控制第二域的显示屏显示的内容,实现了全局数据共享,提高了用户的操作体验。
一些实施例中,如图6所示,本申请中,对于第一域中的后端驱动,后端驱动的数据处理过程可以包括:读取第一域中的设备配置文件,并基于该设备配置文件确定是否需要对显示数据进行数据反向处理。在确定需要对显示数据进行数据反向处理的情况下,后端驱动可以通过图形显示模块调用目标函数按手指ID处理数据,并按帧主体处理每个手指的触摸数据,并根据触摸类型存储手指的坐标数据。然后,将手指的坐标数据转化成整型数据,进而实现数据反向处理,得到输入子系统支持的数据格式,并向第二域发送处理后的数据。
一些实施例中,本申请中,第一域的输入子系统的后端驱动可以通过输入系统服务(input-system.service)加载起来。输入子系统可以执行虚拟输入节点的初始化、为图形显示模块提供回调函数、建立虚拟化通讯接口等操作。下面分别对这些操作进行说明。
一、虚拟输入节点的初始化。
其中,虚拟输入节点的初始化是指创建虚拟输入设备的过程。例如,车机设备可以为第二域创建多个虚拟输入设备,该多个虚拟输入设备的类型与第一域中的输入设备的类型相同。
一种示例中,以第一域为host OS域,第二于为guest OS域为例,guest OS域的输入子系统的前端驱动可以通过virtio-platform驱动框架识别到后端设备,进而加载本侧的驱动程序,并在驱动程序中通过读取HostOS侧创建的virtio-input设备的属性值,确定需要创建的虚拟输入节点。
例如,以输入设备为触摸设备为例,在HostOS侧,触摸设备创建的虚拟输入节点(/dev/input/event3),在GuestOS侧的输入子系统的前端驱动读取virtio-input设备的属性值dev_id=3后,查看virtio_input_devids,可以确定该输入设备为触摸设备,对应的虚拟输入节点为event3。
进一步的,由于触摸设备的差异化特性,还可以获取触摸设备的触摸屏的分辨率,以及触摸屏需要控制的图象的数量、是否需要进行分屏操作等信息,前端驱动通过virtio通讯机制去读取HostOS侧/dev/input/event3设备的设备信息,并通过标准open、read、close等函数获取event3设备的分辨率、触摸按键、所属总线、是否分屏等设备属性。如此,便可以创建具有相同设备属性的触摸设备eventx。也即,在GuestOS侧可以完全复制一个同样的设备event3(也即虚拟触摸节点)。GuestOS域可以使用此虚拟触摸节点来接收HostOS侧的输入设备发来的输入数据。
二、为图形显示模块提供回调函数。
其中,图形显示模块可以通过回调函数获取输入设备上报的输入数据。回调函数的具体类型可以参照上述S401中的相关描述,此处不再赘述。
三、建立虚拟化通讯接口。
其中,建立虚拟化通讯接口可以是指建立以input数据结构为基础的虚拟化通讯接口。
本申请中,virtio通讯机制是以共享内存为基础,以irq和hycall来通知前端驱动以及后端驱动数据已经准备好,可以进行读取。本申请中,前端驱动可以是指Host OS域的驱动,后端驱动可以是指Guest OS域的驱动。
需要指出的是,输入子系统支持的数据通常包括event类型如按键(KEY),相对坐标(REL),绝对坐标(ABS),开关(switch),杂散(misc)等,这些类型需要专门的接口来处理,每个类型的数据需要创建一组函数,每组函数支持的事件不一样。例如,按键对应的键值就有几百个,并且数值互相重复。
一种示例中,为了获取Host OS域侧的输入设的设备参数(比如evbits和propbits参数),可以通过包装输入子系统提供的ioctl接口实现。例如,可以通过调用函数等实现获取输入设备的设备参数,并将hostOS侧的配置信息(如输入设备的设备参数)发送给GuestOS侧的前端驱动。函数可以为ioctl的EVIOCGBIT(),EVIOCGPROP()等。
本申请中,函数可以包括:virtio_input_get_bitmap()、virtio_input_get_propbits()、virtio_input_get_evbits()、virtio_input_get_absinfo()、virtio_input_get_config()等。
一些实施例中,前端驱动主要用于将HostOS侧的输入设备创建的设备节点复制到GuestOS侧。如果两侧的设备的属性参数不一致,会导致接收到另一侧的event事件无法通过本侧设备上报到上层的app。
为了解决该问题,前端驱动可以根据后端驱动创建的virtio-input设备携带的属性值,确定需要创建的虚拟输入节点的特征值,并根据这些特征值加上头文件中对设备的定义就可以创建相同的虚拟输入节点。当然,上述特征值还可以包括用户自定义的参数。
一种示例中,一个触摸设备可以映射到GuestOS侧两个设备,但是分辨率总和是相等的,这种应用场景适合一个较长的显示屏要划分不同的显示区域。前端驱动创建的虚拟输入节点的流程使用的主要函数是input_register_device函数,设备属性是通过virtio通讯获取的,使用的接口函数是内核common接口。
又一种示例中,前端驱动需要缓存(buff)给后端驱动使用。后端驱动可以将输入存储至buff后,通过irq通知前端驱动进行读取。如果数据量较大,则后端驱动还可以传递多个buff的地址给后端驱动。
通过本方案可以有效解决两个OS对一个硬件设备的共享问题,通过system.service加载输入子系统后端程序传入的参数可以动态控制开关。只需要设备配置后重启就可以实现对应目标。同时又可以支持多种使用input子系统的设备,兼容性较强。
一些实施例中,前端驱动可以用于接收后端驱动转发过来的数据,并将数据按照统一的标识转往给指定的input设备节,这样指定input的数据发到指定应用层序上,跟显示屏数据在weston软件出融合可以实现如多域触摸屏互动效果。
本部分驱动实现主要分为如下几步:
一、识别virtio通信通道(在HostOS系统中配置)并初始化,等待后端设备注册,通过后端设备注册的信息识别应该创建的虚拟输入节点的类型以及同一类型的虚拟输入节点的数量及属性。需要创建触摸设备对应的虚拟输入节点,惯性传感器对应的虚拟输入节点,还是按键设备对应的虚拟输入节点。
二、根据设备属性,在指定的目录创建设备对应的配置文件,将设备参数写入该配置文件中,用于后续weston服务读取并将其与指定的显示屏绑定。
三、数据的转发,用于将HostOS系统中的输入数据发给GuestOS系统内输入设备。
其中,输入数据在转发给前端驱动的时候,可以做进一步处理,例如,后端驱动在数据反向解析的时候可以数据按照设备类型进行拆分,这样发给前端的数据已按照设备流处理,可以在此基础上让数据流流向不同的虚拟输入节点,实现一个触摸设备可以同时操作前端两个独立的设备,可以实现跨屏互动。
上述主要从方法的角度对本申请实施例提供的方案进行了介绍。为了实现上述功能,数据共享装置或者车机设备包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法,示例性的对数据共享装置或车机设备进行功能模块的划分,例如,数据共享装置或车机设备可以包括对应各个功能划分的各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
图7为本申请实施例提供的一种数据共享装置结构示意图。该数据共享装置用于执行上述数据共享方法。如图7所示,数据共享装置70包括控制单元701以及显示单元702。
控制单元701,用于响应于第一域对应的输入设备的第一输入事件,控制第一域生成第一显示数据,该第一显示数据为针对第一输入事件在第一域对应的第一显示屏上显示的内容。控制单元701,还用于控制第一域对第一显示数据进行格式转换,得到第二域支持的第一输入数据,并控制第一域将第一输入数据发送至第二域。控制单元701,还用于通过显示单元702控制第二域根据第一输入数据,在第二域对应的第二显示屏显示第一输入事件对应的第二显示数据。第一域和第二域虚拟隔离。
在一种可能的实施方式中,第一域和第二域均配置有输入子系统,第一域的输入子系统和第二域的输入子系统支持的输入数据的数据格式一致。控制单元701,具体用于:控制第一域的输入子系统对第一显示数据进行数据反向处理,得到第一输入数据,第一输入数据为第二域的输入子系统支持的输入数据。
在一种可能的实施方式中,第二域配置有虚拟输入节点,虚拟输入节点为基于第一域中的输入设备的配置信息构建的。
在一种可能的实施方式中,控制单元701,具体用于:控制第二域根据第一输入数据,生成虚拟输入节点对应的第二输入事件,并控制第二域根据第二输入事件,显示第二显示数据。
在一种可能的实施方式中,第二显示屏包括多个显示区域,该多个显示区域与第二域的多个虚拟输入节点一一对应,该多个虚拟输入节点的类型不同。控制单元701,具体用于:控制第二域按照虚拟输入节点的类型,将第一输入数据拆分为多个子输入数据,一个子输入数据对应一个虚拟输入节点;控制第二域针对每个子输入数据,生成各自对应的第二输入事件;针对每个第二输入事件,控制第二域在第二输入事件对应的显示区域内,显示第二输入事件对应的显示数据。
在一种可能的实施方式中,控制单元701,还用于:控制第二域根据预设的配置信息,确定第二域,该配置信息用于指示与不同输入设备关联的域。
在一种可能的实施方式中,控制单元701,具体用于:响应第一输入事件,控制第一域调用目标函数对第一输入事件对应的第二输入数据进行处理,得到第一显示数据。目标函数与第一输入事件相匹配。
在一种可能的实施方式中,第一域为车机设备的IC域,第二域为车机设备的IVI域,第一域和第二域通过网络虚拟化通信协议进行通信。
图8是根据一示例性实施例示出的一种车机设备的框图。如图8所示,车机设备包括但不限于:处理器801和存储器802。
其中,上述的存储器802,用于存储上述处理器801的可执行指令。可以理解的是,上述处理器801被配置为执行指令,以实现上述实施例中的数据共享方法。
需要说明的是,本领域技术人员可以理解,图8中示出的车机设备的结构并不构成对车机设备的限定,车机设备可以包括比图8所示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
处理器801是车机设备的控制中心,利用各种接口和线路连接整个车机设备的各个部分,通过运行或执行存储在存储器802内的软件程序和/或模块,以及调用存储在存储器802内的数据,执行车机设备的各种功能和处理数据,从而对车机设备进行整体监控。处理器801可包括一个或多个处理单元。可选的,处理器801可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器801中。
存储器802可用于存储软件程序以及各种数据。存储器802可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能模块所需的应用程序(比如确定单元、处理单元等)等。此外,存储器802可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
在示例性实施例中,还提供了一种包括指令的计算机可读存储介质,例如包括指令的存储器802,上述指令可由车机设备80的处理器801执行以实现上述实施例中的数据共享方法。
在实际实现时,图7中的控制单元701、显示单元702的功能均可以由图8中的处理器801调用存储器802中存储的计算机程序实现。其具体的执行过程可参考上实施例中的数据共享方法部分的描述,这里不再赘述。
可选地,计算机可读存储介质可以是非临时性计算机可读存储介质,例如,该非临时性计算机可读存储介质可以是只读存储器(Read-Only Memory,ROM)、随机存储存储器(Random Access Memory,RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
在示例性实施例中,本申请实施例还提供了一种包括上述车机设备的车辆。
在示例性实施例中,本申请实施例还提供了一种包括一条或多条指令的计算机程序产品,该一条或多条指令可以由车机设备的处理器801执行以完成上述实施例中的数据共享方法。
需要说明的是,上述计算机可读存储介质中的指令或计算机程序产品中的一条或多条指令被车机设备的处理器执行时实现上述数据共享方法实施例的各个过程,且能达到与上述数据共享方法相同的技术效果,为避免重复,这里不再赘述。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全分类部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全分类部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全分类部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例方法的全分类部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (13)
1.一种数据共享方法,其特征在于,应用于车辆的车机设备,所述车机设备包括第一域和第二域;所述第一域与所述第二域虚拟隔离,所述方法包括:
响应于所述第一域对应的输入设备的第一输入事件,控制所述第一域生成第一显示数据;所述第一显示数据为针对所述第一输入事件在第一显示屏上显示的内容;所述第一显示屏为所述第一域对应的显示屏;
控制所述第一域对所述第一显示数据进行格式转换,得到所述第二域支持的第一输入数据;
控制所述第一域将所述第一输入数据发送至所述第二域;
控制所述第二域根据所述第一输入数据,在第二显示屏显示所述第一输入事件对应的第二显示数据;所述第二显示屏为所述第二域对应的显示屏。
2.根据权利要求1所述的方法,其特征在于,所述第一域和所述第二域均配置有输入子系统,所述第一域的输入子系统与所述第二域的输入子系统支持的输入数据的数据格式一致;
所述控制所述第一域对所述第一显示数据进行格式转换,得到所述第二域支持的第一输入数据,包括:
控制所述第一域的输入子系统对所述第一显示数据进行数据反向处理,得到所述第一输入数据;所述第一输入数据为所述第二域的输入子系统支持的输入数据。
3.根据权利要求1所述的方法,其特征在于,所述第二域配置有虚拟输入节点,所述虚拟输入节点为基于所述第一域中的输入设备的设备信息构建的。
4.根据权利要求3所述的方法,其特征在于,所述控制所述第二域根据所述第一输入数据,在第二显示屏显示所述第一输入事件对应的第二显示数据,包括:
控制所述第二域根据所述第一输入数据,生成所述虚拟输入节点对应的第二输入事件;
控制所述第二域根据所述第二输入事件,显示所述第二显示数据。
5.根据权利要求3所述的方法,其特征在于,所述第二显示屏包括多个显示区域,所述多个显示区域与所述第二域的多个虚拟输入节点一一对应,所述多个虚拟输入节点的类型不同;
所述控制所述第二域根据所述第一输入数据,在第二显示屏显示所述第一输入事件对应的第二显示数据,包括:
控制所述第二域按照虚拟输入节点的类型,将所述第一输入数据拆分为多个子输入数据;一个子输入数据对应一个虚拟输入节点;
控制所述第二域针对每个子输入数据,生成各自对应的第二输入事件;
针对每个第二输入事件,控制所述第二域在所述第二输入事件对应的显示区域内,显示所述第二输入事件对应的显示数据。
6.根据权利要求1-5中任一项所述的方法,其特征在于,所述方法还包括:
控制所述第一域根据预设的配置信息,确定所述第二域;所述配置信息用于指示与不同输入设备关联的域。
7.根据权利要求1-5中任一项所述的方法,其特征在于,所述响应于输入设备的第一输入事件,控制所述第一域生成第一显示数据,包括:
响应于所述第一输入事件,控制所述第一域调用目标函数对所述第一输入事件对应的第二输入数据进行处理,得到所述第一显示数据,所述目标函数与所述第一输入事件相匹配。
8.根据权利要求1-5中任一项所述的方法,其特征在于,所述第一域为所述车机设备的仪表域,所述第二域为所述车机设备的车载信息娱乐系统域,所述第一域与所述第二域通过网络虚拟化通讯协议进行通信。
9.一种数据共享装置,其特征在于,应用于车辆的电机设备,所述车机设备包括第一域和第二域;所述第一域与所述第二域虚拟隔离;所述数据共享装置包括控制单元以及显示单元;
所述控制单元,用于响应于所述第一域对应的输入设备的第一输入事件,控制所述第一域生成第一显示数据;所述第一显示数据为针对所述第一输入事件在第一显示屏上显示的内容;所述第一显示屏为所述第一域对应的显示屏;
所述控制单元,还用于控制所述第一域对所述第一显示数据进行格式转换,得到所述第二域支持的第一输入数据;
所述控制单元,还用于控制所述第一域将所述第一输入数据发送至所述第二域;
所述控制单元,还用于通过所述显示单元控制所述第二域根据所述第一输入数据,在第二显示屏显示所述第一输入事件对应的第二显示数据;所述第二显示屏为所述第二域对应的显示屏。
10.根据权利要求9所述的装置,其特征在于,所述第一域和所述第二域均配置有输入子系统,所述第一域的输入子系统与所述第二域的输入子系统支持的输入数据的数据格式一致;所述控制单元,具体用于:
控制所述第一域的输入子系统对所述第一显示数据进行数据反向处理,得到所述第一输入数据;所述第一输入数据为所述第二域的输入子系统支持的输入数据。
11.一种车机设备,其特征在于,应用于车辆,包括存储器和处理器;
所述存储器和所述处理器耦合;
所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令;
当所述处理器执行所述计算机指令时,所述车机设备执行如权利要求1-8中任意一项所述的方法。
12.一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,其特征在于,当所述指令在车辆的车机设备上运行时,使得所述车机设备执行如权利要求1-8中任意一项所述的方法。
13.一种车辆,其特征在于,包括如权利要求11所述的车机设备。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311213630.2A CN117290283A (zh) | 2023-09-19 | 2023-09-19 | 数据共享方法、装置、车机设备、存储介质及车辆 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311213630.2A CN117290283A (zh) | 2023-09-19 | 2023-09-19 | 数据共享方法、装置、车机设备、存储介质及车辆 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117290283A true CN117290283A (zh) | 2023-12-26 |
Family
ID=89243719
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311213630.2A Pending CN117290283A (zh) | 2023-09-19 | 2023-09-19 | 数据共享方法、装置、车机设备、存储介质及车辆 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117290283A (zh) |
-
2023
- 2023-09-19 CN CN202311213630.2A patent/CN117290283A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3092566B1 (en) | Vehicle with multiple user interface operating domains | |
EP3092560B1 (en) | Vehicle with multiple user interface operating domains | |
US9063793B2 (en) | Virtual server and virtual machine management method for supporting zero client by providing host interfaces from classified resource pools through emulation or direct connection modes | |
US20070300223A1 (en) | Virtual machine system and method for switching hardware devices thereof | |
US9286094B2 (en) | Human interface device virtualization using paravirtual USB system | |
CN107256188B (zh) | 安卓设备的控制方法、装置、终端及存储介质 | |
CN111414249B (zh) | 一种车载主机系统 | |
US20240152370A1 (en) | Signal processing device and display apparatus for vehicles including the same | |
KR101239290B1 (ko) | 제로 클라이언트를 지원하는 가상화 서버의 가상 머신 설정을 위한 시스템 및 방법 | |
CN110955399B (zh) | 车载显示系统、图像显示方法、存储介质和主机 | |
Usorac et al. | Linux container solution for running Android applications on an automotive platform | |
CN117290283A (zh) | 数据共享方法、装置、车机设备、存储介质及车辆 | |
CN116088784B (zh) | 图像投屏方法、装置、电子设备、芯片、存储介质及车辆 | |
CN115373618B (zh) | 一种多屏显示方法、装置、车机及存储介质 | |
CN115185594B (zh) | 基于虚拟显示的数据交互方法、装置、电子设备及介质 | |
CN110347475B (zh) | 服务调用方法、服务调用装置及服务调用系统 | |
CN115396478B (zh) | 用户域与设备的通信方法、装置以及汽车 | |
CN105227622B (zh) | HyperV平台中虚拟机VNC协议接入方法与系统 | |
WO2020005984A1 (en) | Virtualization under multiple levels of security protections | |
CN115793949B (zh) | 车机系统、共享触摸设备的方法、车辆和存储介质 | |
CN117992157A (zh) | 一种虚拟机的图像显示方法及装置 | |
US20240134675A1 (en) | Display apparatus for vehicle | |
CN116279208B (zh) | 数据处理子系统、域控制器和车辆 | |
EP4328737A1 (en) | Display device for vehicle | |
CN115098264A (zh) | 一种虚拟化管理下的相机调用方法、装置、车辆及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |