一种数据处理方法和装置与流程

文档序号:27095789发布日期:2021-10-27 16:53阅读:81来源:国知局
一种数据处理方法和装置与流程

1.本发明涉及数据处理技术领域,尤其涉及一种数据处理方法、装置和系统。


背景技术:

2.现有技术中,安卓系统配置有特定的系统输入结构,所有的第三方应用软件都必须通过该系统输入结构,以获取到硬件输入数据。在该系统输入结构的处理流程中,底层数据需要经过一层复杂的系统处理,再由系统派发到对应应用层的activity模块,然后再到具体的子view。
3.然而,在实施本发明过程中,发明人发现现有技术至少存在如下问题:该系统输入结构的数据处理流程耗时且繁杂,并且应用层只能被动的接收按一定的标准去封装好的数据。对于书写类软件、做手势处理以及做一些特殊触摸识别的软件来说,按系统制定的标准封装好的数据根本不能承载复杂的信息。并且,上层应用只能单向被动接收该输入结构输出的数据,而无法通过这个输入结构去做相应的控制功能。如果要实现控制功能,则上层应用必须自己增加一个控制模块。因此,该系统输入结果无法较好地满足应用层对硬件输入数据的获取和控制的需求。


技术实现要素:

4.本发明实施例的目的是提供一种数据处理方法、装置和系统,能有效满足应用层对设备数据的获取和控制的需求,且能提高数据传输的效率。
5.本技术实施例提供了一种数据处理方法,包括:
6.获取硬件驱动模块发送的设备数据,并将所述设备数据转化成标准格式的数据;
7.对转化成标准格式的所述设备数据进行解析后,将所述设备数据划分为触摸事件数据和控制协议数据;
8.根据预设的第一数据封装格式,将所述触摸事件数据封装成触摸事件;
9.按照操作系统的事件分发机制,将所述触摸事件分发到相应的应用软件;
10.对所述控制协议数据进行解析,并将解析后的控制协议数据发送至相应的应用软件。
11.作为上述方案的改进,所述按照操作系统的事件分发机制,将所述触摸事件分发到相应的应用软件,具体为:
12.按照操作系统的事件分发机制,将所述触摸事件分发到处于系统最上层的应用软件。
13.作为上述方案的改进,所述方法还包括:
14.当确定接收到白板应用软件发送的询问数据包,将所述触摸事件发送至所述白板应用软件;
15.所述白板应用软件接收到所述触摸事件后进行响应,且不再响应根据系统的事件分发机制所接收到的触摸事件。
16.作为上述方案的改进,所述将所述设备数据划分为触摸事件数据和控制协议数据,具体为:
17.获取所述设备数据的数据包头格式;
18.根据所述数据包头格式,将所述设备数据划分为触摸事件数据和控制协议数据。
19.作为上述方案的改进,所述数据处理方法还包括:
20.获取应用软件发送的应用数据;
21.根据预设的第一数据封装格式,对所述应用数据进行格式封装;
22.将封装后的应用数据发送至所述硬件驱动模块。
23.本技术实施例还提供了一种数据处理方法,包括:
24.硬件抽象层获取硬件驱动模块发送的设备数据,并将所述设备数据转化成标准格式的数据;
25.硬件抽象层对转化成标准格式的所述设备数据进行解析后,将所述设备数据划分为触摸事件数据和控制协议数据;
26.硬件抽象层将所述触摸事件数据发送至应用框架层;
27.所述应用框架层根据预设的第一数据封装格式,将所述触摸事件数据封装成触摸事件;
28.所述应用框架层将所述触摸事件发送至触摸事件分发模块;
29.所述触摸事件分发模块按照操作系统的事件分发机制,将所述触摸事件分发到相应的应用软件;
30.所述硬件抽象层将所述控制协议数据发送至协议控制模块;
31.所述协议控制模块对所述控制协议数据进行解析,并将解析后的控制协议数据发送相应的至应用软件。
32.作为上述方案的改进,所述触摸事件分发模块按照操作系统的事件分发机制,将所述触摸事件分发到相应的应用软件,具体为:
33.所述触摸事件分发模块按照操作系统的事件分发机制,将所述触摸事件分发到处于系统最上层的应用软件。
34.作为上述方案的改进,所述方法还包括:
35.当确定接收到白板应用软件发送的询问数据包,所述应用框架层将所述触摸事件发送至所述白板应用软件;
36.所述白板应用软件接收到所述触摸事件后进行响应,且不再响应所述触摸事件分发模块所分发的触摸事件。
37.作为上述方案的改进,所述硬件驱动模块为触摸装置的驱动模块,所述设备数据为触摸装置的触摸数据,所述硬件抽象层获取硬件驱动模块发送的设备数据,并将所述设备数据转化成标准格式的数据,其具体为:
38.硬件抽象层获取触摸装置的驱动模块发送的触摸数据,根据所述触摸数据计算获得触摸坐标后,将所述触摸坐标转化成标准格式的数据。
39.作为上述方案的改进,所述将所述设备数据划分为触摸事件数据和控制协议数据,具体为:
40.获取所述设备数据的数据包头格式;
41.根据所述数据包头格式,将所述设备数据划分为触摸事件数据和控制协议数据。
42.作为上述方案的改进,所述数据处理方法还包括:
43.获取应用软件发送的应用数据;
44.根据预设的第一数据封装格式,对所述应用数据进行格式封装;
45.将封装后的应用数据发送至所述硬件驱动模块。
46.本技术实施例还提供了一种数据处理装置,包括硬件驱动模块、硬件设备和数据处理系统,所述硬件设备通过所述硬件驱动模块与所述数据处理系统连接,所述数据处理系统包括硬件抽象层、应用框架层、触摸事件分发模块和协议控制模块,所述硬件驱动模块用于上报所述硬件设备的设备数据,所述硬件抽象层分别与所述应用框架层和所述协议控制模块连接,所述应用框架层与触摸事件分发模块连接;
47.硬件抽象层用于:
48.获取硬件驱动模块发送的设备数据,并将所述设备数据转化成标准格式的数据;
49.对转化成标准格式的所述设备数据进行解析后,将所述设备数据划分为触摸事件数据和控制协议数据;以及
50.将所述触摸事件数据发送至应用框架层;
51.所述应用框架层,用于根据预设的第一数据封装格式,将所述触摸事件数据封装成触摸事件;以及
52.将所述触摸事件发送至触摸事件分发模块;
53.所述触摸事件分发模块,用于按照操作系统的事件分发机制,将所述触摸事件分发到相应的应用软件;
54.所述硬件抽象层还用于将所述控制协议数据发送至协议控制模块;
55.所述协议控制模块,用于对所述控制协议数据进行解析,并将解析后的控制协议数据发送至应用软件。
56.作为上述方案的改进,所述应用框架层还用于:
57.当确定接收到白板应用软件发送的询问数据包,将所述触摸事件发送至所述白板应用软件;使得所述白板应用软件接收到所述触摸事件后进行响应,且不再响应所述触摸事件分发模块所分发的触摸事件。
58.本技术实施例还提供了一种数据处理装置,包括触摸驱动模块、触摸装置和数据处理系统,所述触摸装置通过所述触摸驱动模块与所述数据处理系统连接,所述数据处理系统包括硬件抽象层、应用框架层、触摸事件分发模块和协议控制模块,所述触摸驱动模块用于上报所述触摸装置的触摸数据,所述硬件抽象层分别与所述应用框架层和所述协议控制模块连接,所述应用框架层与触摸事件分发模块连接;
59.硬件抽象层用于:
60.获取触摸驱动模块发送的触摸数据,根据所述触摸数据计算获得触摸坐标后,将所述触摸坐标转化成标准格式的数据;
61.对转化成标准格式的所述触摸数据进行解析后,将所述触摸数据划分为触摸事件数据和控制协议数据;以及
62.将所述触摸事件数据发送至应用框架层;
63.所述应用框架层,用于根据预设的第一数据封装格式,将所述触摸事件数据封装
成触摸事件;
64.将所述触摸事件发送至触摸事件分发模块;以及
65.当确定接收到白板应用软件发送的询问数据包,将所述触摸事件发送至所述白板应用软件;
66.所述触摸事件分发模块,用于按照操作系统的事件分发机制,将所述触摸事件分发到相应的应用软件;
67.所述硬件抽象层还用于将所述控制协议数据发送至协议控制模块;
68.所述协议控制模块,用于对所述控制协议数据进行解析,并将解析后的控制协议数据发送至应用软件。
69.与现有技术相比,本发明公开的一种数据处理方法、装置和系统,通过硬件抽象层获取硬件驱动模块发送的设备数据,并将所述设备数据转化成标准格式的数据后,对转化成标准格式的所述设备数据进行解析后,将所述设备数据划分为触摸事件数据和控制协议数据,将所述设备数据划分为触摸事件数据和控制协议数据;应用框架层根据预设的第一数据封装格式,将所述触摸事件数据封装成触摸事件,并将所述触摸事件发送至触摸事件分发模块,触摸事件分发模块按照操作系统的事件分发机制,将所述触摸事件分发到相应的应用软件,以及通过协议控制模块对所述控制协议数据进行解析,并将解析后的控制协议数据发送相应的至应用软件,能够实现应用软件和硬件设备之间的有效通信,在应用软件获取硬件设备输入的设备数据的过程中,有效地提高了数据处理的效率,保证了数据传输的及时性。并且由于本发明支持应用软件与硬件设备之间数据的双向交互,使得应用软件不再是单向被动地接收硬件设备输入的数据,能够实现对硬件设备的控制功能。
附图说明
70.下面结合附图和实施例对本发明进一步地说明;
71.图1是现有技术中的操作系统的系统输入结构的示意图;
72.图2是本发明实施例一提供的一种数据处理方法的步骤示意图;
73.图3是本发明实施例二提供的一种数据处理方法的步骤示意图;
74.图4是本发明实施例三提供的一种数据处理装置的结构示意图。
具体实施方式
75.下面详细描述本发明的实施方式,实施方式的示例在附图中示出,其中相同或类似的标号自始至终表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
76.在本发明的描述中,需要理解的是,涉及到方位描述,例如上、下、前、后、左、右等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
77.在本发明的描述中,若干的含义是一个或者多个,多个的含义是两个以上,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。如果有描述到第一、第二只是用于区分技术特征为目的,而不能理解为指示或暗示相对重要性或者隐含指明所
指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。
78.此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”以及“第二”的特征可以明示或者隐含地包括一个或者更多个特征。
79.在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“连接”应做广义理解,例如,可以是固定连接或活动连接,也可以是可拆卸连接或不可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接或可以相互通信;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通、间接连通或两个元件的相互作用关系。
80.参见图1,是现有技术中的操作系统的系统输入结构的示意图。需要说明的是,所述操作系统包括但不限于安卓系统、linux系统。在现有技术中,usb鼠标、键盘或触摸屏等硬件设备都有相应的驱动支持,这些驱动为了能让硬件设备与操作系统中应用软件交互,都会生成相应的设备节点。第三方应用软件必须通过操作系统预设的系统输入结构,以获取到各个硬件驱动中由对应的硬件设备输入的底层数据。然而,该系统输入结构的数据处理流程耗时且繁杂,并且应用层只能单向地、被动地接收按一定的标准去封装好的数据,无法通过这个输入结构去做相应的控制功能。
81.为了解决上述技术问题,本发明实施例一提供了一种数据处理方法。参见图2,是本发明实施例一提供的一种数据处理方法的步骤示意图。在本发明实施例中,通过在操作系统中设置另一数据处理结构,以实现硬件设备到应用软件之间的交互。为方便说明,本发明实施例以数据处理装置作为执行主体进行说明。
82.所述数据处理方法,具体通过步骤s11至s14执行:
83.s11、获取硬件驱动模块发送的设备数据,并将所述设备数据转化成标准格式的数据;本步骤由系统的硬件抽象层执行,硬件抽象层首先将设备数据转化成标准格式的数据后,再进行后续处理,通过将不同硬件驱动模块发送的硬件设备的设备数据转换成标准格式的数据,可以实现对不同硬件设备的数据格式的统一,从而上层应用软件可以统一进行响应,无需针对每个硬件设备均进行私有化协议的解读。硬件抽象层可以实现安卓系统的权限限制,满足安卓系统中应用软件与硬件设备的隔离要求。
84.s12、对转化成标准格式的所述设备数据进行解析后,将所述设备数据划分为触摸事件数据和控制协议数据;本步骤由系统的硬件抽象层执行,基于硬件抽象层进行数据解析、分发,可以快速进行数据处理,降低系统的资源消耗。
85.s13、根据预设的第一数据封装格式,将所述触摸事件数据封装成触摸事件;
86.s14、按照操作系统的事件分发机制,将所述触摸事件分发到相应的应用软件;
87.s15、对所述控制协议数据进行解析,并将解析后的控制协议数据发送至相应的应用软件。本步骤中,控制协议数据所分发至的应用软件,与步骤s14中触摸事件所分发的引用软件可以为相同的应用软件,也可以为不同的应用软件。
88.在本发明实施例中,所述数据处理装置通过所述硬件驱动模块与硬件设备连接,以直接通过所述硬件驱动模块获取到外设的硬件设备输入的设备数据。接着,并将所述设备数据转化成标准格式的数据后,对转化成标准格式的所述设备数据进行解析,将所述设备数据划分为触摸事件数据和控制协议数据,并进行不同的数据处理。其中,所述触摸事件数据包括鼠标、键盘、触摸屏、串口或蓝牙设备等硬件设备输入的触发事件等数据;所述控
制协议数据包括鼠标、键盘、触摸屏、串口或蓝牙设备等硬件设备输入的控制指令等数据。
89.优选地,步骤s12具体通过步骤s121至s122执行:
90.s121、获取所述设备数据的数据包头格式;
91.s122、根据所述数据包头格式,将所述设备数据划分为触摸事件数据和控制协议数据。
92.在将所述设备数据划分为触摸事件数据和控制协议数据之后,为了保证触摸事件数据的统一性,减少上层的应用软件的解析工作,在本发明实施例中,参照操作系统中原有的系统输入结构中对触摸事件数据的封装格式,对所述触摸事件数据进行格式封装,得到动作事件类型(motion event)数据,从而使得上层的应用软件能够使用原有的系统数据结构提供的motion event数据,也可以使用本发明实施例提供的motion event数据。进一步地,本发明实施例还能对设备数据中的控制协议数据进行封包和发包的处理,并传输至应用软件。
93.本技术实施例中,步骤s14中按照操作系统的事件分发机制,将所述触摸事件分发到相应的应用软件,具体为:
94.按照操作系统的事件分发机制,将所述触摸事件分发到处于系统最上层的应用软件。
95.更具体的,分发过程中,触摸事件分发模块按照操作系统的事件分发机制,将触摸事件分发到处于系统最上层的应用软件的ui焦点,各ui焦点判断是否要消费触摸事件。具体的,触摸事件分发模块按照操作系统的事件分发机制,通过dispatchtouchevent将触摸事件分发到处于系统最上层的应用软件的ui焦点,应用软件可能会有很多个ui焦点,例如控件、元素等,触摸事件分发模分发的过程一般是从activity的dispatchtouchevent开始的,执行super.dispatchtouchevent(ev),事件向下分发。当某个ui焦点对触摸时间进行响应,ontouchevent返回true时,表示触摸事件已经被该ui焦点消费,从而触摸事件分发模块无需再向下分发。
96.作为上述方案的改进,所述方法还包括:
97.s16、当确定接收到白板应用软件发送的询问数据包,将所述触摸事件发送至所述白板应用软件;所述询问数据包用于请求所述应用框架层直接将触摸事件发送到白板应用软件,而无需通过系统的触摸事件分发机制进行分发。
98.s17、所述白板应用软件接收到所述触摸事件后进行响应,且不再响应根据系统的事件分发机制所接收到的触摸事件。
99.白板应用指供用户进行书写、展示等操作的应用,可以用于根据用户在白板应用的界面的书写操作生成书写笔迹,也可以用于在白板应用的界面插入和显示多媒体元素,所述多媒体元素可以包括图形、图像、表格、文档、音频文件和/或视频文件。在白板应用的界面中,用户可以实现与实体黑板类似的写、画、擦除等操作,并进一步有更好的移动、保存、缩放、插入图片、颜色调整、笔画粗细设置等数字化功能。在实际应用中,白板应用也可以命名为书写应用、电子白板应用、协同白板应用等名称,不管名称如何改变,只要用于实现上述功能的应用,均等同于本技术的白板应用。
100.白板应用软件可以直接读取触摸事件并进行相应,因此白板应用软件可以发送询问数据包,请求直接发送触摸事件。从而本方法无需通过系统的触摸事件分发机制进行触
摸事件的分发,直接将触摸事件发送到白板应用软件,从而白板应用软件接收到所述触摸事件后进行响应,且不再响应根据系统的事件分发机制所接收到的触摸事件,可以节约根据系统的事件分发机制进行触摸事件分发所额外消耗的时间,从而白板应用软件可以更加快速地响应触摸事件,提升了数据反应效率。
101.步骤s15中,协议控制模块对所述控制协议数据进行解析,并将解析后的控制协议数据发送相应的至应用软件。具体的,协议控制模块与应用软件建立通信,获取应用软件所需要的控制协议数据,从而在对所述控制协议数据进行解析后,将解析后的控制协议数据发送到相应的应用软件。不同应用软件所需要的控制协议数据可以不同,例如,解析得到的控制协议数据为快捷键操作ctrl+a,而应用软件a事先与协议控制模块通信,表示需要该数据,则将快捷键操作ctrl+a发送至应用软件a。
102.相比于现有技术中的系统输入结构,本发明实施例能够提供硬件设备与应用软件之间的控制指令的传输功能,提高操作系统中数据处理的灵活性。
103.作为优选的实施方式,本发明实施例二在实施例一的基础上进一步实施,所述数据处理方法,还包括步骤s181至s183:
104.s181、获取应用软件发送的应用数据;
105.s182、根据预设的第二数据封装协议,对所述应用数据进行格式封装;
106.s183、将封装后的应用数据发送至所述硬件驱动模块。
107.在本发明实施例中,本方法还能获取应用软件发送的应用数据,并按照预设设置好的硬件设备与应用软件之间的数据协议,对所述应用数据进行协议封装,并下发到硬件设备。所述应用数据包括所述应用软件根据从硬件设备获取到的设备数据进行计算处理等操作后生成的结果数据,或是应用软件生成的对硬件设备的控制指令等。
108.采用本发明实施例,能够通过所述数据处理装置实现应用软件对硬件设备的数据传输,实现应用软件与硬件设备之间的双向交互,从而在不需要额外添加控制模块的基础上,实现应用软件到硬件设备的控制功能。
109.在一种可选的实施方式下,以所述应用软件为电子白板书写软件,所述硬件设备为触摸屏为例,以实现触摸画线、手势控制、形状识别的功能。用户通过所述触摸屏触摸滑动出相应的几何形状,或进行手势运动等操作。所述电子白板书写软件根据触摸屏上用户的触摸滑动轨迹快速绘出相应的几何形状,还能根据触摸物在平面上的位置关系、各手指的面积关系,以及手指的运动趋势实现对应的手势识别和控制功能。或根据触摸物面积、触摸点坐标计算出触摸物的形状。这些功能的实现要求触摸数据实时性高、并且需要双向的数据交互和数据定制。
110.基于此,通过本发明实施例提供的数据处理方法,白板应用软件可以高效率地获取到触摸屏输入的触摸事件数据,然后将触摸事件数据直接给到应用软件的绘制层。另外,对于形状识别所需的复杂数据,白板应用软件生成相应的控制指令,并根据白板应用软件与触摸屏之间预设的协议,对控制指令进行协议封装,下发到触摸屏硬件设备。进而,触摸屏通过本发明实施例将相应的数据返回到白板应用软件,即可达到形状识别所需的双向交互、数据定制和数据安全的要求。
111.本发明实施例提供了一种数据处理方法,通过获取硬件驱动模块发送的设备数据,并将所述设备数据转化成标准格式的数据后,对转化成标准格式的所述设备数据进行
解析后,将所述设备数据划分为触摸事件数据和控制协议数据,将所述设备数据划分为触摸事件数据和控制协议数据;根据预设的第一数据封装格式,将所述触摸事件数据封装成触摸事件,并按照操作系统的事件分发机制,将所述触摸事件分发到相应的应用软件,以及通过对所述控制协议数据进行解析,并将解析后的控制协议数据发送相应的至应用软件。采用本发明实施例,在应用软件获取硬件设备输入的底层数据的过程中,有效地提高了数据处理的效率,保证了数据传输的及时性。并且应用软件和硬件设备之间存在双向交互的数据传输链路,应用软件不再是单向被动地接收硬件设备输入的数据,还能实现对硬件设备的控制功能。
112.参见图3,是本发明实施例二提供的一种数据处理方法的步骤示意图。实施例二是对实施例一的进一步细化,包括:
113.s21、硬件抽象层获取硬件驱动模块发送的设备数据,并将所述设备数据转化成标准格式的数据;
114.硬件抽象层是位于操作系统内核与硬件电路之间的接口层,其目的在于将硬件抽象化。它隐藏了特定平台的硬件接口细节,为操作系统提供虚拟硬件平台,使其具有硬件无关性,可在多种平台上进行移植。硬件抽象层首先将设备数据转化成标准格式的数据后,再进行后续处理,通过将不同硬件驱动模块发送的硬件设备的设备数据转换成标准格式的数据,可以实现对不同硬件设备的数据格式的统一,从而上层应用软件可以统一进行响应,无需针对每个硬件设备均进行私有化协议的解读。硬件抽象层可以实现安卓系统的权限限制,满足安卓系统中应用软件与硬件设备的隔离要求。
115.s22、硬件抽象层对转化成标准格式的所述设备数据进行解析后,将所述设备数据划分为触摸事件数据和控制协议数据;基于硬件抽象层进行数据解析、分发,可以快速进行数据处理,降低系统的资源消耗。
116.s23、硬件抽象层将所述触摸事件数据发送至应用框架层;
117.s24、所述应用框架层根据预设的第一数据封装格式,将所述触摸事件数据封装成触摸事件;应用框架层是指android的framework层,通过framework层,可以将触摸时间封装成android应用软件能识别的触摸事件;
118.s25、所述应用框架层将所述触摸事件发送至触摸事件分发模块;
119.s26、所述触摸事件分发模块按照操作系统的事件分发机制,将所述触摸事件分发到相应的应用软件;
120.s27、所述硬件抽象层将所述控制协议数据发送至协议控制模块;
121.s28、所述协议控制模块对所述控制协议数据进行解析,并将解析后的控制协议数据发送相应的至应用软件。
122.作为上述方案的改进,所述步骤s26中触摸事件分发模块按照操作系统的事件分发机制,将所述触摸事件分发到相应的应用软件,具体为:
123.所述触摸事件分发模块按照操作系统的事件分发机制,将所述触摸事件分发到处于系统最上层的应用软件。
124.更具体的,分发过程中,触摸事件分发模块按照操作系统的事件分发机制,将触摸事件分发到处于系统最上层的应用软件的ui焦点,各ui焦点判断是否要消费触摸事件。具体的,触摸事件分发模块按照操作系统的事件分发机制,通过dispatchtouchevent将触摸
事件分发到处于系统最上层的应用软件的ui焦点,应用软件可能会有很多个ui焦点,例如控件、元素等,触摸事件分发模分发的过程一般是从activity的dispatchtouchevent开始的,执行super.dispatchtouchevent(ev),事件向下分发。当某个ui焦点对触摸时间进行响应,ontouchevent返回true时,表示触摸事件已经被该ui焦点消费,从而触摸事件分发模块无需再向下分发。
125.作为上述方案的改进,所述方法还包括:
126.s29、当确定接收到白板应用软件发送的询问数据包,所述应用框架层将所述触摸事件发送至所述白板应用软件;
127.s30、所述白板应用软件接收到所述触摸事件后进行响应,且不再响应所述触摸事件分发模块所分发的触摸事件。
128.白板应用软件可以直接读取触摸事件并进行相应,因此白板应用软件可以发送询问数据包,请求直接发送触摸事件。从而本方法无需通过系统的触摸事件分发机制进行触摸事件的分发,直接将触摸事件发送到白板应用软件,从而白板应用软件接收到所述触摸事件后进行响应,且不再响应根据系统的事件分发机制所接收到的触摸事件,可以节约根据系统的事件分发机制进行触摸事件分发所额外消耗的时间,从而白板应用软件可以更加快速地响应触摸事件,提升了数据反应效率。
129.作为上述方案的改进,所述硬件驱动模块为触摸装置的驱动模块,所述设备数据为触摸装置的触摸数据,所述硬件抽象层获取硬件驱动模块发送的设备数据,并将所述设备数据转化成标准格式的数据,其具体为:
130.硬件抽象层获取触摸装置的驱动模块发送的触摸数据,根据所述触摸数据计算获得触摸坐标后,将所述触摸坐标转化成标准格式的数据。传统触摸设备在采集到原始的触摸数据后,进行触摸坐标的计算,再通过硬件驱动模块发送到硬件抽象层,当触摸数据的计算量较大时,触摸设备进行触摸坐标的计算需要消耗较多的设备资源,从而影响触摸设备的响应速度,本实施例中,将触摸数据发送到硬件抽象层进行触摸坐标的计算,可以降低对触摸设备的设备资源的消耗,从而提升触摸设备的响应速度。对于操作系统来说,硬件抽象层的计算能力较强,通过硬件抽象层进行触摸坐标的计算,可以快速地获得计算结果,相比硬件设备计算触摸坐标的方案,响应速度更快,数据处理效率更高。
131.作为上述方案的改进,所述将所述设备数据划分为触摸事件数据和控制协议数据,具体为:
132.获取所述设备数据的数据包头格式;
133.根据所述数据包头格式,将所述设备数据划分为触摸事件数据和控制协议数据。
134.作为上述方案的改进,所述数据处理方法还包括:
135.获取应用软件发送的应用数据;
136.根据预设的第一数据封装格式,对所述应用数据进行格式封装;
137.将封装后的应用数据发送至所述硬件驱动模块。
138.本实施例中,通过硬件抽象层获取硬件驱动模块发送的设备数据,并将所述设备数据转化成标准格式的数据后,对转化成标准格式的所述设备数据进行解析后,将所述设备数据划分为触摸事件数据和控制协议数据,将所述设备数据划分为触摸事件数据和控制协议数据;应用框架层根据预设的第一数据封装格式,将所述触摸事件数据封装成触摸事
件,并将所述触摸事件发送至触摸事件分发模块,触摸事件分发模块按照操作系统的事件分发机制,将所述触摸事件分发到相应的应用软件,以及通过协议控制模块对所述控制协议数据进行解析,并将解析后的控制协议数据发送相应的至应用软件,能够实现应用软件和硬件设备之间的有效通信,在应用软件获取硬件设备输入的设备数据的过程中,有效地提高了数据处理的效率,保证了数据传输的及时性。并且由于本发明支持应用软件与硬件设备之间数据的双向交互,使得应用软件不再是单向被动地接收硬件设备输入的数据,能够实现对硬件设备的控制功能。
139.需要说明的是,本实施例是对实施例一的进一步细化,具备与实施例一的流程步骤的工作原理和有益效果,因而对相同的细节,不再赘述。
140.本技术实施例三,提供了一种数据处理系统,包括:
141.数据获取模块,用于获取硬件驱动模块发送的设备数据,并将所述设备数据转化成标准格式的数据;
142.数据分发模块,用于对转化成标准格式的所述设备数据进行解析后,将所述设备数据划分为触摸事件数据和控制协议数据;
143.事件封装模块,用于根据预设的第一数据封装格式,将所述触摸事件数据封装成触摸事件;
144.事件分发模块,用于按照操作系统的事件分发机制,将所述触摸事件分发到相应的应用软件;
145.协议处理模块,用于对所述控制协议数据进行解析,并将解析后的控制协议数据发送至相应的应用软件。
146.在本发明实施例中,所述数据获取模块与各硬件设备的硬件驱动模块连接,所述数据分发模块与所述数据获取模块双向连接。所述数据分发模块与所述协议处理模块双向连接,所述协议处理模块与所述应用软件双向连接;所述数据分发模块的输出端与所述事件封装模块的输入端连接;所述事件封装模块的输出端与所述应用软件的输入端连接。
147.所述数据获取模块用于实现与硬件驱动模块的通讯,从而直接通过所述硬件驱动模块获取到外设的硬件设备输入的设备数据。
148.所述数据分发模块将所述设备数据划分为触摸事件数据和控制协议数据,并进行不同的数据处理。其中,所述触摸事件数据包括鼠标、键盘、触摸屏、串口或蓝牙设备等硬件设备输入的触发事件等数据;所述控制协议数据包括鼠标、键盘、触摸屏、串口或蓝牙设备等硬件设备输入的控制指令等数据。
149.作为优选的实施方式,所述数据分发模块,具体用于:
150.获取所述设备数据的数据包头格式;根据所述数据包头格式,将所述设备数据划分为触摸事件数据和控制协议数据;将所述触摸事件数据发送至所述事件封装模块,并将所述控制协议数据发送至所述协议处理模块。
151.进一步地,在所述数据分发模块将所述设备数据划分为触摸事件数据和控制协议数据之后,为了保证触摸事件数据的统一性,减少上层的应用软件的解析工作,在本发明实施例中,所述事件封装模块参照操作系统中原有的系统输入结构中对触摸事件数据的封装格式,对所述触摸事件数据进行格式封装,得到动作事件类型(motion event)数据,从而使得上层的应用软件技能使用原有的系统数据结构提供的motion event数据,也可以使用本
发明实施例提供的motion event数据。所述协议处理模块用于对控制协议数据进行封包和发包的处理,并传输至应用软件。相比于现有技术中的系统输入结构,本发明实施例能够提供硬件设备与应用软件之间的控制指令的传输功能,提高操作系统中数据处理的灵活性。
152.作为优选的实施方式,所述数据分发模块还用于:在判断所述事件封装模块或所述协议处理模块未满足预设的数据处理条件时,对所述设备数据进行缓存。
153.具体地,在获取到设备数据之后,上层应用由于系统界面刷新率以及处理能力的问题,可能不会马上消耗这些数据。为了让获取到的设备数据能够在被上层应用识别之前不会丢失,在本发明实施例中,所述数据分发模块在接收到所述数据获取模块发送的设备数据之后,若判断所述事件封装模块或所述协议处理模块当前的处理能力未满足预设条件,则对所述设备数据进行缓存,直到所述事件封装模块或所述协议处理模块当前的处理能力满足预设条件后,再将划分后得到的触摸事件数据和控制协议数据进行分发。
154.优选地,在所述数据分发模块中,主要用到环形缓冲队列来缓存数据,同时将缓存的数据转换成指针,以减少内存的消耗。
155.作为优选的实施方式,所述协议处理模块还用于:
156.获取应用软件发送的应用数据;
157.根据预设的第二数据封装协议,对所述应用数据进行格式封装;
158.将封装后的应用数据发送至所述数据分发模块,以使所述数据分发模块将所述封装后的应用数据发送所述硬件交互模块后,由所述硬件交互模块发送至所述硬件驱动模块。
159.在本发明实施例中,所述协议处理模块还能获取应用软件发送的应用数据,并按照预设设置好的硬件设备与应用软件之间的数据协议,对所述应用数据进行协议封装,并下发到硬件设备。所述应用数据包括应用软件根据从硬件设备获取到的设备数据进行计算处理等操作后生成的结果数据,或是应用软件生成的对硬件设备的控制指令等。
160.采用本发明实施例,能够通过所述数据处理装置实现应用软件对硬件设备的数据传输,实现应用软件与硬件设备之间的双向交互,从而在不需要额外添加控制模块的基础上,实现应用软件到硬件设备的控制功能。
161.作为优选的实施方式,所述数据分发模块,还用于:对所述解析后的控制协议数据或所述封装后的应用数据进行加密处理。
162.在本发明实施例中,为了提高数据传输的安全性,当所述数据分发模块对接收到的所述控制协议数据进行解析后,还进一步对所述控制协议数据进行加密处理再转发;可以理解地,当所述数据分发模块对接收到的所述应用数据进行封装后,还进一步对所述应用数据进行加密处理再转发。同时,还可以通过所述数据分发模块实现对已加密的数据的解密处理。
163.本发明实施例提供了一种数据处理装置,包括硬件交互模块、数据分发模块、事件封装模块和协议处理模块。通过硬件交互模块获取硬件驱动模块发送的设备数据;数据分发模块将所述设备数据划分为触摸事件数据和控制协议数据;事件封装模块根据预设的第一数据封装协议,对所述触摸事件数据进行格式封装,并将封装后的触摸事件数据发送至应用软件;协议处理模块对所述控制协议数据进行协议解析,并将解析后的控制协议数据发送至应用软件。本发明通过所述数据处理装置实现应用软件和硬件设备之间的交互,在
应用软件获取硬件设备输入的底层数据的过程中,有效地提高了数据处理的效率,保证了数据传输的及时性。并且由于所述数据处理装置支持数据的双向交互,使得应用软件不再是单向被动地接收硬件设备输入的数据,能够通过所述数据处理装置实现对硬件设备的控制功能。
164.本实施例的数据处理系统与实施例一所提供的数据处理方法的流程步骤的工作原理和有益效果相对应,因而对相同的细节,不再赘述。
165.参照图4所示,本技术实施例还提供了一种数据处理装置,包括硬件驱动模块、硬件设备和数据处理系统,所述硬件设备通过所述硬件驱动模块与所述数据处理系统连接,所述数据处理系统包括硬件抽象层、应用框架层、触摸事件分发模块和协议控制模块,所述硬件驱动模块用于上报所述硬件设备的设备数据,所述硬件抽象层分别与所述应用框架层和所述协议控制模块连接,所述应用框架层与触摸事件分发模块连接;
166.硬件抽象层用于:
167.获取硬件驱动模块发送的设备数据,并将所述设备数据转化成标准格式的数据;
168.对转化成标准格式的所述设备数据进行解析后,将所述设备数据划分为触摸事件数据和控制协议数据;以及
169.将所述触摸事件数据发送至应用框架层;
170.所述应用框架层,用于根据预设的第一数据封装格式,将所述触摸事件数据封装成触摸事件;以及
171.将所述触摸事件发送至触摸事件分发模块;
172.所述触摸事件分发模块,用于按照操作系统的事件分发机制,将所述触摸事件分发到相应的应用软件;
173.所述硬件抽象层还用于将所述控制协议数据发送至协议控制模块;
174.所述协议控制模块,用于对所述控制协议数据进行解析,并将解析后的控制协议数据发送至应用软件。
175.作为上述方案的改进,所述应用框架层还用于:
176.当确定接收到白板应用软件发送的询问数据包,将所述触摸事件发送至所述白板应用软件;使得所述白板应用软件接收到所述触摸事件后进行响应,且不再响应所述触摸事件分发模块所分发的触摸事件。
177.本实施例提供的数据处理装置与实施例二提供的数据处理方法实施例属于同一构思,其体现实现过程详见方法实施例,这里不再赘述。
178.另外,在本发明实施例中,所述数据处理装置还包括原有的系统输入结构,系统输入结构与应用软件的连接关系可参照图1所示。本发明所提供的数据处理系统与操作系统原本的输入结构是独立分开,但又共存于操作系统的。作为系统最上层的应用软件来说,没有权限修改这部分功能,但其拥有选择是否使用系统输入结构所获取的输入事件的权利。因此,通过本发明实施例提供的数据处理装置,上层的应用软件既可以单独使用所述数据处理系统实现与硬件设备的数据交互,也可以同时使用所述系统输入结构实现与硬件设备的数据交互,两部分结构互不影响,通过对操作系统的数据处理结构的较小改动,保证了操作系统的原有输入结构的兼容性。
179.本技术实施例还提供了一种数据处理装置,包括触摸驱动模块、触摸装置和数据
处理系统,所述触摸装置通过所述触摸驱动模块与所述数据处理系统连接,所述数据处理系统包括硬件抽象层、应用框架层、触摸事件分发模块和协议控制模块,所述触摸驱动模块用于上报所述触摸装置的触摸数据,所述硬件抽象层分别与所述应用框架层和所述协议控制模块连接,所述应用框架层与触摸事件分发模块连接;
180.硬件抽象层用于:
181.获取触摸驱动模块发送的触摸数据,根据所述触摸数据计算获得触摸坐标后,将所述触摸坐标转化成标准格式的数据;
182.对转化成标准格式的所述触摸数据进行解析后,将所述触摸数据划分为触摸事件数据和控制协议数据;以及
183.将所述触摸事件数据发送至应用框架层;
184.所述应用框架层,用于根据预设的第一数据封装格式,将所述触摸事件数据封装成触摸事件;
185.将所述触摸事件发送至触摸事件分发模块;以及
186.当确定接收到白板应用软件发送的询问数据包,将所述触摸事件发送至所述白板应用软件;
187.所述触摸事件分发模块,用于按照操作系统的事件分发机制,将所述触摸事件分发到相应的应用软件;
188.所述硬件抽象层还用于将所述控制协议数据发送至协议控制模块;
189.所述协议控制模块,用于对所述控制协议数据进行解析,并将解析后的控制协议数据发送至应用软件。
190.本实施例提供的数据处理装置与实施例二提供的数据处理方法实施例属于同一构思,其体现实现过程详见方法实施例,这里不再赘述。
191.同样的,另外,在本发明实施例中,所述数据处理装置还包括原有的系统输入结构,系统输入结构与应用软件的连接关系可参照图1所示。本发明所提供的数据处理系统与操作系统原本的输入结构是独立分开,但又共存于操作系统的。作为系统最上层的应用软件来说,没有权限修改这部分功能,但其拥有选择是否使用系统输入结构所获取的输入事件的权利。因此,通过本发明实施例提供的数据处理装置,上层的应用软件既可以单独使用所述数据处理系统实现与硬件设备的数据交互,也可以同时使用所述系统输入结构实现与硬件设备的数据交互,两部分结构互不影响,通过对操作系统的数据处理结构的较小改动,保证了操作系统的原有输入结构的兼容性。
192.尽管已经示出和描述了本发明的实施方式,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施方式进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1