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

未命名 08-22 阅读:95 评论:0


1.本发明涉及计算机技术领域,尤其涉及一种数据处理的方法和装置。


背景技术:

2.小程序可以使用原生系统的数据采集设备获取数据,并在数据处理之后将处理结果输出至前端页面进行展示。例如,小程序可以使用原生系统的相机拍摄图片、录制视频,获取相机生成的实时帧数据,并根据实时帧数据生成对应的实时画面,对实时画面进行前端展示。在生成实时画面时通常需要将实时帧数据传输至画面展示端,由画面展示端进行数据处理、画面生成等步骤。
3.在实现本发明的过程中,发明人发现现有技术至少存在如下问题:
4.在生成画面的过程中涉及大量的实时帧数据传输操作,消耗大量系统资源,画面生成效率低,前端展示的画面不流畅。


技术实现要素:

5.有鉴于此,本发明实施例提供一种数据处理的方法和装置,能够提高画面生成效率,避免直接传输实时帧数据,使展示的画面更流畅。
6.为实现上述目的,根据本发明实施例的第一方面,提供一种数据处理的方法,应用于数据管理端,包括:
7.根据接收到的实时帧数据生成对应的数据标识,将所述实时帧数据存储至预先设置的本地缓存,将所述数据标识传输至画面展示端;
8.响应于接收到画面绘制指令,获取对应的目标数据标识,根据所述目标数据标识,在所述本地缓存中查找对应的目标实时帧数据;
9.根据所述目标实时帧数据绘制目标画面,将所述目标画面传输至画面展示端。
10.可选地,所述方法还包括:
11.对所述目标实时帧数据进行标记;
12.在绘制目标画面之后,对所述本地缓存中已标记的实时帧数据进行清理。
13.可选地,所述方法还包括:
14.判断所述本地缓存中的实时帧数据的数量是否大于等于预先设置的数量阈值;
15.在所述本地缓存中的实时帧数据的数量大于等于所述数量阈值的情况下,对所述本地缓存中未标记的实时帧数据进行清理。
16.可选地,所述方法还包括:
17.响应于接收到系统提示信息,对所述本地缓存中未标记的实时帧数据进行清理。
18.可选地,所述方法还包括:
19.根据所述实时帧数据生成对应的javascript对象,所述javascript对象指向所述实时帧数据的内存地址;
20.将所述javascript对象传输至所述画面展示端,使所述画面展示端根据所述
javascript对象生成方法调用指令。
21.可选地,所述方法还包括:
22.响应于接收到方法调用指令,获取对应的目标javascript对象,判断所述本地缓存中是否存在与所述目标javascript对象匹配的实时帧数据;
23.在所述本地缓存中存在与所述目标javascript对象匹配的实时帧数据的情况下,根据与所述目标javascript对象匹配的实时帧数据执行所述方法调用指令对应的接口方法。
24.可选地,所述方法还包括:
25.在所述本地缓存中不存在与所述目标javascript对象匹配的实时帧数据的情况下,根据所述目标javascript对象指向的内存地址确定对应的引用实时帧数据;
26.对所述引用实时帧数据进行复制,得到引用实时帧数据对应的数据副本;
27.根据所述数据副本执行所述方法调用指令对应的接口方法。
28.根据本发明实施例的第二方面,提供一种数据处理的方法,应用于画面展示端,包括:
29.响应于接收到目标数据标识,生成所述目标数据标识对应的画面绘制指令,将所述画面绘制指令传输至数据管理端,使所述数据管理端根据所述画面绘制指令绘制对应的目标画面并将所述目标画面传输至画面展示端,所述目标画面是根据本发明实施例第一方面中任一所述的方法得到的;
30.响应于接收到所述画面绘制指令对应的目标画面,对所述目标画面进行展示。
31.可选地,在对所述目标画面进行展示之后,所述方法还包括:
32.对所述目标画面进行清理;
33.生成数据清理指令,将所述数据清理指令传输至所述数据管理端,使所述数据管理端对所述目标画面对应的实时帧数据进行清理。
34.可选地,所述方法还包括:
35.响应于接收到javascript对象,生成所述javascript对象对应的方法调用指令,将所述方法调用指令传输至所述数据管理端。
36.根据本发明实施例的第三方面,提供一种画面展示的方法,包括:
37.在数据管理端接收实时帧数据,生成对应的数据标识,将所述实时帧数据存储至预先设置的本地缓存,将所述数据标识传输至画面展示端;
38.在所述画面展示端接收目标数据标识,生成对应的画面绘制指令,将所述画面绘制指令传输至所述数据管理端,所述画面绘制指令是根据本发明实施例第二方面中任一所述的方法得到的;
39.在所述数据管理端接收画面绘制指令,获取对应的目标数据标识,在所述本地缓存中根据所述目标数据标识查找对应的目标实时帧数据,根据所述目标实时帧数据绘制目标画面,将所述目标画面传输至所述画面展示端,所述目标画面是根据本发明实施例第一方面中任一所述的方法得到的;
40.在所述画面展示端接收目标画面,对所述目标画面进行展示。
41.可选地,所述方法还包括:
42.在所述数据管理端根据所述实时帧数据生成对应的javascript对象,将所述
javascript对象传输至所述画面展示端;
43.在所述画面展示端接收javascript对象,生成对应的方法调用指令,将所述方法调用指令传输至所述数据管理端;
44.在所述数据管理端接收方法调用指令,获取对应的目标javascript对象,在所述本地缓存中存在与所述目标javascript对象匹配的实时帧数据的情况下,根据与所述目标javascript对象匹配的实时帧数据执行所述方法调用指令对应的接口方法。
45.根据本发明实施例的第四方面,提供一种应用于数据管理端的数据处理的装置,包括:
46.生成模块,用于根据接收到的实时帧数据生成对应的数据标识,将所述实时帧数据存储至预先设置的本地缓存,将所述数据标识传输至画面展示端;
47.查找模块,用于响应于接收到画面绘制指令,获取对应的目标数据标识,根据所述目标数据标识,在所述本地缓存中查找对应的目标实时帧数据;
48.绘制模块,用于根据所述目标实时帧数据绘制目标画面,将所述目标画面传输至画面展示端。
49.可选地,所述装置还包括:
50.标记模块,用于对所述目标实时帧数据进行标记;
51.第一清理模块,用于在绘制目标画面之后,对所述本地缓存中已标记的实时帧数据进行清理。
52.可选地,所述装置还包括:
53.第一判定模块,用于判断所述本地缓存中的实时帧数据的数量是否大于等于预先设置的数量阈值;
54.第二清理模块,用于在所述本地缓存中的实时帧数据的数量大于等于所述数量阈值的情况下,对所述本地缓存中未标记的实时帧数据进行清理。
55.可选地,所述装置还包括:
56.第三清理模块,用于响应于接收到系统提示信息,对所述本地缓存中未标记的实时帧数据进行清理。
57.可选地,所述装置还包括:
58.转换模块,用于根据所述实时帧数据生成对应的javascript对象,所述javascript对象指向所述实时帧数据的内存地址;
59.传输模块,用于将所述javascript对象传输至所述画面展示端,使所述画面展示端根据所述javascript对象生成方法调用指令。
60.可选地,所述装置还包括:
61.第二判定模块,用于响应于接收到方法调用指令,获取对应的目标javascript对象,判断所述本地缓存中是否存在与所述目标javascript对象匹配的实时帧数据;
62.第一调用模块,用于在所述本地缓存中存在与所述目标javascript对象匹配的实时帧数据的情况下,根据与所述目标javascript对象匹配的实时帧数据执行所述方法调用指令对应的接口方法。
63.可选地,所述装置还包括:
64.确定模块,用于在所述本地缓存中不存在与所述目标javascript对象匹配的实时
帧数据的情况下,根据所述目标javascript对象指向的内存地址确定对应的引用实时帧数据;
65.复制模块,用于对所述引用实时帧数据进行复制,得到引用实时帧数据对应的数据副本;
66.第二调用模块,用于根据所述数据副本执行所述方法调用指令对应的接口方法。
67.根据本发明实施例的第五方面,提供一种应用于画面展示端的数据处理的装置,包括:
68.生成模块,用于响应于接收到数据标识,生成携带所述数据标识的画面绘制指令,将所述画面绘制指令传输至数据管理端;
69.展示模块,用于响应于接收到所述画面绘制指令对应的目标画面,对所述目标画面进行展示。
70.可选地,所述装置还包括:
71.清理模块,用于对所述目标画面进行清理;
72.第一传输模块,用于生成数据清理指令,将所述数据清理指令传输至所述数据管理端,使所述数据管理端对所述目标画面对应的实时帧数据进行清理。
73.可选地,所述装置还包括:
74.第二传输模块,用于响应于接收到javascript对象,生成所述javascript对象对应的方法调用指令,将所述方法调用指令传输至所述数据管理端。
75.根据本发明实施例的第六方面,提供一种画面展示的装置,包括:
76.标识生成模块,用于在数据管理端接收实时帧数据,生成对应的数据标识,将所述实时帧数据存储至预先设置的本地缓存,将所述数据标识传输至画面展示端;
77.绘制指令生成模块,用于在所述画面展示端接收目标数据标识,生成对应的画面绘制指令,将所述画面绘制指令传输至所述数据管理端,所述画面绘制指令是根据本发明实施例第二方面中任一所述的方法得到的;
78.画面绘制模块,用于在所述数据管理端接收画面绘制指令,获取对应的目标数据标识,在所述本地缓存中根据所述目标数据标识查找对应的目标实时帧数据,根据所述目标实时帧数据绘制目标画面,将所述目标画面传输至所述画面展示端,所述目标画面是根据本发明实施例第一方面中任一所述的方法得到的;
79.画面展示模块,用于在所述画面展示端接收目标画面,对所述目标画面进行展示。
80.可选地,所述装置还包括:
81.对象生成模块,用于在所述数据管理端根据所述实时帧数据生成对应的javascript对象,将所述javascript对象传输至所述画面展示端;
82.调用指令生成模块,用于在所述画面展示端接收javascript对象,生成对应的方法调用指令,将所述方法调用指令传输至所述数据管理端;
83.方法执行模块,用于在所述数据管理端接收方法调用指令,获取对应的目标javascript对象,在所述本地缓存中存在与所述目标javascript对象匹配的实时帧数据的情况下,根据与所述目标javascript对象匹配的实时帧数据执行所述方法调用指令对应的接口方法。
84.根据本发明实施例的第七方面,提供一种电子设备,包括:
85.一个或多个处理器;
86.存储装置,用于存储一个或多个程序,
87.当所述一个或多个程序被所述一个或多个处理器执行时,所述一个或多个处理器实现上述任一实施例所述的方法。
88.根据本发明实施例的第八方面,提供一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现上述任一实施例所述的方法。
89.上述发明中的一个实施例具有如下优点或有益效果:生成实时帧数据对应的数据标识,根据接收到的目标数据标识确定对应的目标实时帧数据,根据目标实时帧数据生成对应的目标画面,能够避免直接传输实时帧数据,降低发生资源抢占的可能性,提高画面生成效率,使画面展示更流畅;对目标实时帧数据进行标记,清理本地缓存中的实时帧数据,能够及时释放本地缓存无需占用的存储空间,保证新获取到的实时帧数据能够被及时缓存,进一步提高画面生成效率;根据实时帧数据生成对应的javascript对象,使用javascript对象替代实时帧数据进行数据传输,能够避免复制大量实时帧数据,能够优化内存分配,避免占用大量内存空间,进一步缓解资源抢占的情况。
90.上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
91.附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
92.图1是根据本发明实施例的应用于数据管理端的数据处理的方法的主要流程的示意图;
93.图2是根据本发明一个可参考实施例的数据处理的方法的主要流程的示意图;
94.图3是根据本发明另一个可参考实施例的数据处理的方法的主要流程的示意图;
95.图4是根据本发明一个可参考实施例的数据处理的方法的原生方法调用的示意图;
96.图5是根据本发明实施例的应用于画面展示端的数据处理的方法的主要流程的示意图;
97.图6是根据本发明一个可参考实施例的数据处理的方法的整体流程的示意图;
98.图7是根据本发明实施例的画面展示的方法的主要流程的示意图;
99.图8是根据本发明实施例的应用于数据管理端的数据处理的装置的主要模块的示意图;
100.图9是根据本发明实施例的应用于画面展示端的数据处理的装置的主要模块的示意图;
101.图10是根据本发明实施例的画面展示的装置的主要模块的示意图;
102.图11是本发明实施例可以应用于其中的示例性系统架构图;
103.图12是适于用来实现本发明实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
104.以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
105.需要说明的是,本发明的技术方案中,所涉及的用户个人信息的收集、使用、保存、共享和转移等处理,均符合相关法律法规的规定,且需要告知用户并获得用户的同意或授权,当适用时,对用户个人信息进行了去标识化和/或匿名化和/或加密的技术处理。
106.小程序可以使用原生系统的数据采集设备获取数据,并在数据处理之后将处理结果输出至前端页面进行展示。例如,小程序可以使用原生系统的相机拍摄图片、使用原生系统的麦克风接收声音。小程序可以使用原生系统的相机获取实时帧数据,并根据实时帧数据生成对应的实时画面,对实时画面进行前端展示。在生成实时画面时通常需要将实时帧数据传输至画面展示端,由画面展示端进行数据处理、画面生成等步骤。
107.在生成画面的过程中涉及大量的实时帧数据传输操作和复制操作,消耗大量系统资源,画面生成效率低,前端展示的画面不流畅,降低用户使用体验。
108.有鉴于此,根据本发明实施例的第一方面,提供一种数据处理的方法,应用于数据管理端。
109.图1是根据本发明实施例的应用于数据管理端的数据处理的方法的主要流程的示意图。如图1所示,根据本发明实施例的应用于数据管理端的数据处理的方法主要包括如下的步骤s101至步骤s103。
110.步骤s101,根据接收到的实时帧数据生成对应的数据标识,将所述实时帧数据存储至预先设置的本地缓存,将所述数据标识传输至画面展示端。
111.每个实时帧数据是本发明实施例的执行主体调用原生系统的相机所拍摄到的一帧画面对应的数据。在相机拍摄的过程中,本发明实施例的执行主体持续接收相机拍摄到的实时帧数据。根据实时帧数据生成对应的数据标识,数据标识由数字、英文字母、特殊符号等信息组合而成。例如,数据标识是一串数字,预先设置数据标识的初始值,每接收到一个实时帧数据便对初始值进行自增或者自减等修改操作,将修改后的初始值作为该实时帧数据对应的数据标识;或者,数据标识是数字和英文字母的组合,每接收到一个实时帧数据便随机生成该实时帧数据对应的数据标识,对随机生成的数据标识进行查重,防止不同的实时帧数据对应相同的数据标识。
112.将接收到的实时帧数据存储至本地缓存。例如,预先创建具有一定存储空间的缓存池(buffer pool),将实时帧数据和对应的数据标识关联存储至该缓存池;或者,将实时帧数据对应的数据标识作为键,将实时帧数据作为值,将上述键值对存储至redis、memcached等缓存系统。在生成实时帧数据对应的数据标识之后,先在本地缓存中查找是否存在相同的数据标识,如果存在相同的数据标识,则删除该数据标识,并重新为该实时帧数据生成对应的数据标识,直至本地缓存中不存在该实时帧数据对应的数据标识,然后将实时帧数据和对应的数据标识存储至本地缓存中。
113.示例性地,在预先设置的缓存池中创建映射表,映射表的值为实时帧数据,映射表的键为实时帧数据对应的数据标识,在接收到实时帧数据a1之后,生成对应的数据标识a2,
使用数据标识a2查找映射表中是否存在对应的实时帧数据,如果存在对应的实时帧数据,说明数据标识a2是重复的,则删除数据标识a2,重新生成实时帧数据a1对应的数据标识,如果不存在对应的实时帧数据,说明数据标识a2是唯一的,则将数据标识a2作为键、将实时帧数据a1作为值,将上述键值对存储至映射表。
114.本发明实施例的执行主体是应用在数据管理端和画面展示端的,数据管理端的执行主体用于执行数据接收、数据存储、数据传输、画面绘制等等操作,画面展示端的执行主体用于执行数据接收、指令传输、画面展示等等操作。数据管理端的执行主体在生成实时帧数据对应的数据标识之后,将数据标识传输至画面展示端,使画面展示端的执行主体根据接收到的数据标识生成对应的画面绘制指令,并将画面绘制指令返回给数据管理端。
115.每个实时帧数据的大小约为3.5mb,为了使展示的画面流畅,需要每秒绘制25至30个画面,即每秒需要处理25至30个实时帧数据,如果直接传输实时帧数据至画面展示端进行数据处理,势必会占用大量系统资源,降低画面绘制效率,使画面卡顿、不流畅。对实时帧数据进行缓存,传输实时帧数据对应的数据标识,能够避免直接传输实时帧数据,有利于提高画面绘制效率,节省系统资源。
116.步骤s102,响应于接收到画面绘制指令,获取对应的目标数据标识,根据所述目标数据标识,在所述本地缓存中查找对应的目标实时帧数据。
117.在接收到画面展示端发送的画面绘制指令之后,对画面绘制指令进行解析,得到对应的目标数据标识,使用目标数据标识在本地缓存中查找与目标数据标识关联的目标实时帧数据。示例性地,本地缓存中存储的数据包括“{

b1’:

b2’;

b3’:

b4’;

b5’:

b6’}”,其中,
“‘
b1’:

b2
’”
表示,实时帧数据b2对应的数据标识为b1,
“‘
b3’:

b4
’”
表示,实时帧数据b4对应的数据标识为b3,
“‘
b5’:

b6
’”
表示,实时帧数据b6对应的数据标识为b5;对接收到的画面绘制指令进行解析,得到对应的目标数据标识为数据标识b5,则查找本地缓存,得到对应的目标实时帧数据为实时帧数据b6。
118.根据目标数据标识查找本地缓存,能够快速确定对应的目标实时帧数据,便于提高画面绘制效率。
119.步骤s103,根据所述目标实时帧数据绘制目标画面,将所述目标画面传输至画面展示端。
120.在确定目标实时帧数据之后,根据画面绘制指令指示的接口方法绘制目标画面,例如,接口方法是webgl(web图形库)的接口方法,其中包括:“teximage2d”方法,用于根据实时帧数据指定一个二维纹理图像(texture image);“drawelements”方法,用于根据实时帧数据渲染图元(即图形输出原语,graphics output primitive)等等。在目标画面绘制完成之后,将目标画面传输至画面展示端,使画面展示端将目标画面在前端进行展示,或者对目标画面进行裁剪、旋转等进一步处理。
121.在数据管理端绘制目标画面,能够提高目标画面的绘制效率,避免占用过多的内存空间,节省系统资源,将目标画面传输至画面展示端,能够使画面展示端基于目标画面做进一步处理,使画面展示更流畅、不卡顿。
122.根据本发明一个可参考的实施例,所述方法还包括:在确定目标实时帧数据之后,对目标实时帧数据进行标记,例如,向目标实时帧数据添加标记字段,或者向目标实时帧数据对应的数据标识添加标记字段,或者在数据标识已预先设置标记字段的情况下,将标识
字段修改为“已标记”。在根据目标实时帧数据绘制目标画面之后,判定目标实时帧数据已不再使用,对本地缓存中的目标实时帧数据进行清理,具体地,查找本地缓存中已标记的实时帧数据,已标记的实时帧数据是用于绘制目标画面的实时帧数据,即不再使用的实时帧数据,则对已标记的实时帧数据进行清理。
123.示例性地,本地缓存中的数据包括“{

c1’:

c2’;

c3’:

c4’;

c5-marked’:

c6’}”,其中,实时帧数据c2对应的数据标识为c1,实时帧数据c4对应的数据标识为c3,实时帧数据c6对应的数据标识为c5,“c5-marked”表示数据标识c5具有标记字段,即实时帧数据c6是已标记的不再使用的实时帧数据,但是还未被清理;确定目标实时帧数据为c2之后,对实时帧数据c2进行标记,得到本地缓存中的数据包括“{

c1-marked’:

c2’;

c3’:

c4’;

c5-marked’:

c6’}”,在根据目标实时帧数据c2绘制对应的目标画面之后,对本地缓存中已标记的实时帧数据进行清理,在清理之后的本地缓存中的数据包括“{

c3’:

c4’}”,即已绘制过目标画面并且不再使用的实时帧数据c2和实时帧数据c6及其各自的数据标识被清理了。
124.对不再使用的实时帧数据及其数据标识进行清理,能够及时释放本地缓存占用的存储空间,使本地缓存能够及时存储新获取到的实时帧数据及其数据标识,节省系统资源,提高画面绘制效率,使绘制的画面连续、流畅。
125.根据本发明另一个可参考的实施例,所述方法还包括:预先设置数量阈值,数量阈值用于指示本地缓存中存储的实时帧数据的数量的最大值。数量阈值可以是业务人员根据历史经验手动设置的,也可以是根据原生系统分配的内存容量动态确定,例如,本发明实施例的执行主体占用的总内存容量为d1,本地缓存占用的内存容量比例为d2,实时帧数据的平均大小为d3,则得到数量阈值为“d1*d2/d3”,其中,比例d2是预先设置的、固定的,在确定画面尺寸之后,实时帧数据的平均大小d3也是固定的,因此,数量阈值随总内存容量的变化而变化。
126.判断本地缓存中的实时帧数据的数量是否大于等于预先设置的数量阈值;在本地缓存中的实时帧数据的数量大于等于数量阈值的情况下,为防止本地缓存中的数据溢出,对本地缓存中未标记的实时帧数据进行清理。即使画面展示端已接收到未标记的实时帧数据的数据标识,也会对其进行清理,这可能导致在本地缓存中未查找到目标数据标识对应的目标实时帧数据,在本地缓存中未查找到对应的目标实时帧数据的情况下,不再绘制对应的目标画面,而是继续接收新的画面绘制指令,根据新的画面绘制指令绘制对应的目标画面。
127.在实时帧数据的数量大于等于数据阈值的情况下,对未标记的实时帧数据进行清理,能够保证已标记的实时帧数据正常用于绘制目标画面,并及时清理本地缓存中的可用空间,因为实时帧数据的接收和处理速度较快,偶尔出现未查找到目标实时帧数据并不会造成视觉上的画面卡顿,从而也保证了用户的使用体验。
128.根据本发明又一个可参考的实施例,所述方法还包括:监听原生系统发送的提示信息,在本发明实施例的执行主体占用内存过多的情况下,原生系统会生成内存不足、网络阻塞等提示信息,这表示当前存在资源抢占的情况,容易导致程序执行停滞。本发明实施例的执行主体在接收到上述系统提示信息之后,对本地缓存中未标记的实时帧数据进行清理。从而释放本地缓存中的可用空间。
129.示例性地,本地缓存中的数据包括“{

e1’:

e2’;

e3-marked’:

e4’;

e5’:

e6’}”,其中,实时帧数据e2对应的数据标识为e1,实时帧数据e4对应的数据标识为e3,实时帧数据e6对应的数据标识为e5,并且实时帧数据e4的数据标识e3具有标记字段,说明实时帧数据e4是已标记的实时帧数据,在接收到原生系统发送的提示信息之后,对本地缓存中未标记的实时帧数据进行清理,保留本地缓存中已标记的实时帧数据,得到清理之后的本地缓存中的数据包括“{

e3-marked’:

e4’}”。
130.在接收到系统提示信息的情况下,对未标记的实时帧数据进行清理,能够保证已标记的实时帧数据正常用于绘制目标画面,并及时清理本地缓存中的可用空间,缓解内存不足的情况,有利于提高画面绘制效率。
131.根据本发明还一个可参考的实施例,所述方法还包括:根据实时帧数据生成对应的javascript对象,例如,使用javascriptcore框架提供的“jsobjectmaketypedarraywithbytesnocopy”方法,该方法将二进制字节序列(即实时帧数据)转换为javascript对象,javascript对象是该实时帧数据的引用对象,javascript对象的值是该实时帧数据的内存地址。将生成的javascript对象传输至画面展示端,使画面展示端根据接收到的javascript对象生成方法调用指令,例如,调用人脸识别方法、图像分类方法、数据清洗、数据平滑、数据拟合等接口方法。
132.画面展示端需要根据实时帧数据执行上述接口方法,通常做法是对实时帧数据进行复制并直接传输复制的实时帧数据至画面展示端,这样会占用大量内存。本发明实施例的执行主体根据实时帧数据生成对应的javascript对象,避免了数据复制带来的内存占用,将javascript对象传输至画面展示端,能够使画面展示端和数据管理端共用同一个实时帧数据,使画面展示端根据javascript对象生成对应的方法调用指令,节省内存开销。
133.根据本发明再一个可参考的实施例,所述方法还包括:响应于接收到画面展示端发送的方法调用指令,对方法调用指令进行解析,得到对应的目标javascript对象,根据目标javascript对象指示的内存地址确定对应的引用实时帧数据,判断本地缓存中是否存在与该引用实时帧数据相同的实时帧数据,即判断本地缓存中是否存在与该目标javascript对象匹配的实时帧数据;在所述本地缓存中存在与引用实时帧数据相同的实时帧数据的情况下,说明本地缓存中存在与目标javascript对象匹配的实时帧数据,则不需要再对引用实时帧数据进行复制,直接根据与目标javascript对象匹配的实时帧数据执行方法调用指令对应的接口方法。
134.示例性地,内存中的实时帧数据包括“{

7071’:

f1’;

7072’:

f2’;

7073’:

f3’}”,其中,实时帧数据f1的内存地址为“7071”,实时帧数据f2的内存地址为“7072”,实时帧数据f3的内存地址为“7073”;本地缓存中的数据包括“{

g1’:

f1’;

g2’:

f3’;

g3’:

f5’}”,其中,实时帧数据f1的数据标识为g1,实时帧数据f3的数据标识为g2,实时帧数据f5的数据标识为g3;对接收到的方法调用指令进行解析,得到目标javascript对象,具体的值为“7071”,则目标javascript对象对应的引用实时帧数据为实时帧数据f1,又由于本地缓存中存储有实时帧数据f1,因此,根据本地缓存中的实时帧数据f1执行方法调用指令对应的接口方法。
135.在本地缓存已存储有与目标javascript对象匹配的实时帧数据的情况下,根据本地缓存中的实时帧数据执行对应的接口方法,能够避免申请额外的内存空间或者复制实时
帧数据,节省系统资源,提高接口方法的执行效率。
136.根据本发明一个可参考的实施例,所述方法还包括:在所述本地缓存中不存在与引用实时帧数据相同的实时帧数据的情况下,说明本地缓存中不存在与目标javascript对象匹配的实时帧数据,因此,根据目标javascript对象指向的内存地址确定对应的引用实时帧数据;对引用实时帧数据进行复制,得到引用实时帧数据对应的数据副本,数据副本与引用实时帧数据相同;根据数据副本执行方法调用指令对应的接口方法。
137.示例性地,内存中的实时帧数据包括“{

3001’:

h1’;

3002’:

h2’;

3003’:

h3’}”,其中,实时帧数据h1的内存地址为“3001”,实时帧数据h2的内存地址为“3002”,实时帧数据h3的内存地址为“3003”;本地缓存中的数据包括“{

j1’:

h2’;

j2’:

h4’;

j3’:

h6’}”,其中,实时帧数据h2的数据标识为j1,实时帧数据h4的数据标识为j2,实时帧数据h6的数据标识为j3;对接收到的方法调用指令进行解析,得到目标javascript对象,具体的值为“3003”,则目标javascript对象对应的引用实时帧数据为实时帧数据h3,又由于本地缓存中未存储实时帧数据h3,因此,对实时帧数据h3进行复制,得到实时帧数据h3的数据副本,根据实时帧数据h3的数据副本执行方法调用指令对应的接口方法。
138.在本地缓存未存储与目标javascript对象匹配的实时帧数据的情况下,根据引用实时帧数据的数据副本执行对应的接口方法,能够节省系统资源,提高接口方法的执行效率。
139.图2是根据本发明一个可参考实施例的数据处理的方法的主要流程的示意图。示例性地,如图2所示,数据处理的方法由数据管理端和画面展示端协作执行,首先由数据管理端的执行主体调用原生系统的相机进行拍摄,然后获取相机生成的实时帧数据,根据实时帧数据生成对应的数据标识,将实时帧数据和对应的数据标识进行关联存储,然后将实时帧数据传输至画面展示端。画面展示端的执行主体对数据标识传输数据进行实时监听,在接收到数据标识之后生成对应的画面绘制指令,并将画面绘制指令传输至数据管理端。数据管理端的执行主体对画面绘制指令进行解析得到目标数据标识,根据目标数据标识在本地缓存中查找目标实时帧数据,根据目标实时帧数据绘制目标画面,将目标画面传输至画面展示端,画面展示端的执行主体将目标画面渲染至前端页面。
140.图3是根据本发明另一个可参考实施例的数据处理的方法的主要流程的示意图。示例性地,如图3所示,数据处理的方法由数据管理端和画面展示端协作执行,图3所示方法与图2的不同之处在于:在将实时帧数据和对应的数据标识存储至本地缓存之前,先判断本地缓存中的实时帧数据的数量是否大于等于预先设置的数量阈值,在数量大于数量阈值的情况下,对本地缓存中的实时帧数据和对应的数据标识进行清理,具体地,对未标记的实时帧数据进行清理,在数量小于等于数量阈值的情况下,直接将实时帧数据和对应的数据标识存储至本地缓存;对目标实时帧数据进行标记;在画面展示端的执行主体对目标画面进行展示之后,对目标画面进行清理,并向数据管理端传输数据清理指令,数据管理端的执行主体根据数据清理指令,清理对应的目标画面、目标画面对应的实时帧数据以及对应的数据标识。
141.图4是根据本发明一个可参考实施例的数据处理的方法的原生方法调用的示意图。示例性地,如图4所示,原生方法调用的方法由数据管理端和画面展示端协作执行,首先由数据管理端的执行主体调用原生系统的相机进行拍摄,然后获取相机生成的实时帧数
据,将实时帧数据转换为javascript对象,将javascript对象传输至画面展示端。画面展示端的执行主体根据接收到的javascript对象生成方法调用指令并返回数据管理端。数据管理端的执行主体根据方法调用指令确定目标javascript对象,根据目标javascript对象确定对应的目标实时帧数据,判断本地缓存中是否已存储该目标实时帧数据的数据副本,如果本地缓存中已存储该目标实时帧数据的数据副本,则使用本地缓存中的数据副本执行方法调用指令对应的接口方法,如果本地缓存中未存储该目标实时帧数据,则对目标实时帧数据进行复制,得到目标实时帧数据的数据副本,然后使用数据副本执行方法调用指令对应的接口方法,将得到方法调用结果传输至画面展示端。画面展示端的执行主体对返回的方法调用结果进行处理。
142.根据本发明实施例的第二方面,提供一种数据处理的方法,应用于画面展示端。
143.图5是根据本发明实施例的应用于画面展示端的数据处理的方法的主要流程的示意图。如图5所示,根据本发明实施例的应用于画面展示端的数据处理的方法主要包括如下的步骤s501至步骤s502。
144.步骤s501,响应于接收到目标数据标识,生成所述目标数据标识对应的画面绘制指令,将所述画面绘制指令传输至数据管理端,使所述数据管理端根据所述画面绘制指令绘制对应的目标画面并将所述目标画面传输至画面展示端,所述目标画面是根据本发明实施例第一方面中任一所述的方法得到的。
145.数据标识是由数据管理端生成并传输至画面展示端的,应用于画面展示端的本发明实施例的执行主体监听来自数据管理端的数据标识传输事件,在接收到数据管理端传输的数据标识之后,生成对应的画面绘制指令,画面绘制指令可以是一个指令或者是多个指令。将接收到的数据标识作为画面绘制指令的参数,将完整的画面绘制指令传输至数据管理端,使应用于数据管理端的执行主体根据本发明实施例的第一方面所述的方法获取画面绘制指令携带的目标数据标识、根据目标数据标识在把本地缓存中查找对应的目标实时帧数据、根据目标实时帧数据绘制对应的目标画面、将目标画面返回给画面展示端。
146.示例性地,接收到的数据标识为k,生成对应的画面绘制指令,具体包括:“gl.teximage2d(gl.texture_2d,0,gl.rgba,k.width,k.height,0,gl.rgba,gl.unsigned_byte,k.data)”,其中,“gl”表示预先创建的绘图上下文,该指令指定了二维纹理图像,“k.width”表示实时帧数据的宽度、“k.height”表示实时帧数据的长度、“k.data”表示实时帧数据的二进制形式,上述各种实时帧数据均使用数据标识k表示;数据管理端根据接收到的画面绘制指令,确定目标数据标识k,查找对应的目标实时帧数据,将画面绘制指令中的目标数据标识k替换为对应的目标实时帧数据,再绘制对应的目标画面。
147.根据接收的数据标识生成对应的画面绘制指令,能够避免直接传输需要大量存储空间的实时帧数据,有利于提高画面绘制效率,减少内存消耗,节省系统资源。
148.步骤s502,响应于接收到所述画面绘制指令对应的目标画面,对所述目标画面进行展示。
149.目标画面是由数据管理端生成并传输至画面展示端的,应用于画面展示端的本发明实施例的执行主体监听来自数据管理端的画面传输事件,在接收到数据管理端传输的目标画面之后,将目标画面渲染至前端页面,或者在接收到目标画面之后,对目标画面进行翻转、旋转、裁剪、叠加图层等等操作,然后再将目标画面渲染至前端页面。在接收到新的目标
画面之后,将新的目标画面渲染至前端页面,替换前端页面上的旧的目标画面,由于每秒内接收到20至25个目标画面,使得前端页面上展示的目标画面连续、流畅、不卡顿。
150.根据本发明一个可参考的实施例,在对目标画面进行展示之后,所述方法还包括:对完成展示的目标画面进行清理,完成展示的目标画面不会被再次展示,例如,在接收到新目标画面之后,判定当前前端页面上的旧目标画面已完成展示,则使用新目标画面替换旧目标画面,对旧目标画面进行清理,从而避免画面展示端存储过多的目标画面,节省存储空间。根据已完成展示的目标画面,生成对应的数据清理指令,将数据清理指令传输至数据管理端,例如,每个目标画面对应一个画面编号,在应用于画面展示端的执行主体对目标画面进行清理之后,根据被清理的目标画面的画面编号生成对应的数据清理指令,将携带画面编号的数据清理指令传输至数据管理端,使数据管理端根据画面编号确定对应的目标画面、实时帧数据、实时帧数据对应的数据标识等等相关数据,使数据管理端对上述相关数据进行清理;或者,根据被清理的目标画面对应的数据标识生成对应的数据清理指令,将携带数据标识的数据清理指令传输至数据管理端,使数据管理端根据数据标识确定对应的目标画面、实时帧数据等等相关数据,使数据管理端对上述相关数据及数据清理指令携带的数据标识进行清理。
151.在画面展示之后向数据管理端发送对应的数据清理指令,能够及时释放数据管理端占用的存储空间,节省系统资源,避免对数据标识、目标画面、画面绘制指令等信息的传输造成阻塞。
152.根据本发明另一个可参考的实施例,所述方法还包括:响应于接收到数据管理端传输的javascript对象,生成javascript对象对应的方法调用指令,将方法调用指令传输至数据管理端,使数据管理端根据接收到的方法调用指令确定目标javascript对象、根据目标javascript对象获取对应的实时帧数据、基于目标javascript对象对应的实时帧数据执行方法调用指令对应的接口方法。
153.接收javascript对象能够提高数据传输效率,避免复制实时帧数据,减少画面展示端占用的存储空间,节省系统资源。
154.图6是根据本发明一个可参考实施例的数据处理的方法的整体流程的示意图。如图6所示,所述数据处理的方法可以包括:
155.步骤s601,根据接收到的实时帧数据生成对应的数据标识;
156.步骤s602,将实时帧数据和对应的数据标识存储至预先设置的本地缓存;
157.步骤s603,将数据标识传输至画面展示端,使画面展示端根据数据标识生成画面绘制指令;
158.步骤s604,确定本地缓存中的实时帧数据的数量和预先设置的数量阈值;
159.步骤s605,判断数量是否大于数量阈值,若是则跳转至步骤s606,否则跳转步骤s607;
160.步骤s606,对本地缓存中未标记的实时帧数据进行清理;
161.步骤s607,响应于接收到画面绘制指令,获取对应的目标数据标识;
162.步骤s608,根据目标数据标识,在本地缓存中查找对应的目标实时帧数据;
163.步骤s609,对目标实时帧数据进行标记;
164.步骤s610,响应于接收到系统提示信息,对本地缓存中未标记的实时帧数据进行
清理;
165.步骤s611,根据目标实时帧数据绘制目标画面,将目标画面传输至画面展示端,使画面展示端对目标画面进行展示;
166.步骤s612,响应于接收到数据清理指令,对本地缓存中已标记的实时帧数据和对应的数据标识进行清理。
167.上述本发明一个可参考实施例的数据处理的方法的具体实施内容,在上面所述数据处理的方法中已经详细说明了,故在此重复内容不再说明。
168.根据本发明实施例的第三方面,提供一种画面展示的方法。
169.图7是根据本发明实施例的画面展示的方法的主要流程的示意图。如图7所示,根据本发明实施例的画面展示的方法主要包括如下的步骤s701至步骤s704。
170.步骤s701,在数据管理端接收实时帧数据,生成对应的数据标识,将所述实时帧数据存储至预先设置的本地缓存,将所述数据标识传输至画面展示端。每个实时帧数据对应一个数据标识,将实时帧数据和对应的数据标识关联存储至本地缓存中。
171.步骤s702,在所述画面展示端接收目标数据标识,生成对应的画面绘制指令,将所述画面绘制指令传输至所述数据管理端,所述画面绘制指令是根据本发明实施例第二方面中任一所述的方法得到的。画面绘制指令携带有画面展示端接收到的目标数据标识。
172.步骤s703,在所述数据管理端接收画面绘制指令,获取对应的目标数据标识,在所述本地缓存中根据所述目标数据标识查找对应的目标实时帧数据,根据所述目标实时帧数据绘制目标画面,将所述目标画面传输至所述画面展示端,所述目标画面是根据本发明实施例第一方面中任一所述的方法得到的。目标数据标识是对画面绘制指令进行解析得到的;目标实时帧数据是在本地缓存中根据目标数据标识查找得到的。
173.步骤s704,在所述画面展示端接收目标画面,对所述目标画面进行展示。
174.对本地缓存中的实时帧数据进行动态清理。一方面,预先设置本地缓存中存储的实时帧数据的最大数量(即数量阈值),对目标实时帧数据进行标记,在本地缓存中存储的实时帧数据的数量大于等于数量阈值的情况下或者在接收到系统提示的情况下,对未标记的实时帧数据进行清理,从而在保证目标画面正常绘制的情况下,及时清理本地缓存,对最新接收到的实时帧数据进行缓存,保证绘制的目标画面具有较高的时效性、连贯性。另一方面,在绘制目标画面之后,对不再使用的目标实时帧数据进行清理,从而释放本地缓存所占用的空间,便于及时缓存最新接收到的实时帧数据,保证绘制的目标画面具有较高的时效性、连贯性。上述画面展示的方法的各个步骤的具体实施方式已在本发明实施例的第一方面和本发明实施例的第二方面中详细说明了,此处不再赘述。
175.示例性地,数据管理端的本地缓存中包括3个实时帧数据:实时帧数据l1(对应的数据标识为sszsjl1)、实时帧数据l2(对应的数据标识为sszsjl2)、实时帧数据l3(对应的数据标识为sszsjl3)。上述三个实时帧数据的数据标识均已发送至画面展示端。数据管理端对接收到的画面绘制指令进行解析,得到目标数据标识“sszsjl1”,因此,根据目标数据标识确定对应的目标实时帧数据为实时帧数据l1,对实时帧数据l1进行标记。预先设置的本地缓存的数量阈值是3,在数据管理端接收实时帧数据l4之后,为了对最新接收到的实时帧数据l4进行缓存,需要对本地缓存中未标记的实时帧数据进行清理,因此,将本地缓存中的实时帧数据l2和实时帧数据l3删除,将实时帧数据l4存储至本地缓存中。在根据实时帧
数据l1绘制完对应的目标画面之后,将目标画面从数据管理端传输至画面展示端,并将本地缓存中的实时帧数据l1删除。画面管理端对接收到的目标画面进行旋转、裁剪、缩放等画面处理操作并对处理后的目标画面进行展示。
176.通过设置数据管理端和画面展示端,能够避免对实时帧数据进行传输和复制,提高目标画面的绘制效率、避免占用过多资源,使展示的目标画面更流畅。
177.根据本发明一个可参考的实施例,所述画面展示的方法还包括:
178.在所述数据管理端根据所述实时帧数据生成对应的javascript对象,将所述javascript对象传输至所述画面展示端。javascript对象是对应的实时帧数据的引用对象,javascript对象的值是对应的实时帧数据的内存地址。
179.在所述画面展示端接收javascript对象,生成对应的方法调用指令,将所述方法调用指令传输至所述数据管理端。生成的方法调用指令携带有javascript对象和接口方法。
180.在所述数据管理端接收方法调用指令,获取对应的目标javascript对象,在所述本地缓存中存在与所述目标javascript对象匹配的实时帧数据的情况下,根据与所述目标javascript对象匹配的实时帧数据执行所述方法调用指令对应的接口方法。目标javascript对象和接口方法是对接收到的方法调用指令进行解析得到的。
181.在本地缓存中不存在与目标javascript对象匹配的实时帧数据的情况下,根据目标javascript对象指向的内存地址确定对应的引用实时帧数据;对引用实时帧数据进行复制,得到引用实时帧数据对应的数据副本,数据副本与引用实时帧数据相同;根据数据副本执行方法调用指令对应的接口方法。上述画面展示的方法的各个步骤的具体实施方式已在本发明实施例的第一方面和本发明实施例的第二方面中详细说明了,此处不再赘述。
182.示例性地,数据管理端接收到实时帧数据m,实时帧数据m的内存地址为“0987”,将实时帧数据m存储至本地缓存中。此时,在内存中存在一个实时帧数据m,在本地缓存中存在一个实时帧数据m。数据管理端接收到画面展示端发送的方法调用指令,该方法调用指令包括实时帧数据m的javascript对象、实时帧数据m的数据标识和接口方法。根据数据标识在本地缓存中查找对应的实时帧数据m,在查找到对应的实时帧数据m的情况下,根据本地缓存中的实时帧数据m执行上述接口方法;在未查找到对应的实时帧数据m的情况下,根据实时帧数据m的javascript对象获取内存中的实时帧数据m,对内存中的实时帧数据m进行复制,得到实时帧数据m的数据副本,根据本地实时帧数据m的数据副本执行上述接口方法。
183.使用javascript对象代替实时帧数据,使javascript对象在数据管理端和画面展示端进行传输,能够优化内存资源的分配,避免出现资源抢占,提高方法调用效率,优化用户使用体验。
184.根据本发明实施例的第四方面,提供一种应用于数据管理端的数据处理的装置。
185.图8是根据本发明实施例的应用于数据管理端的数据处理的装置的主要模块的示意图,如图8所示,所述应用于数据管理端的数据处理的装置800主要包括:
186.生成模块801,用于根据接收到的实时帧数据生成对应的数据标识,将所述实时帧数据存储至预先设置的本地缓存,将所述数据标识传输至画面展示端;
187.查找模块802,用于响应于接收到画面绘制指令,获取对应的目标数据标识,根据所述目标数据标识,在所述本地缓存中查找对应的目标实时帧数据;
188.绘制模块803,用于根据所述目标实时帧数据绘制目标画面,将所述目标画面传输至画面展示端。
189.根据本发明一个可参考的实施例,所述应用于数据管理端的数据处理的装置800还包括:
190.标记模块,用于对所述目标实时帧数据进行标记;
191.第一清理模块,用于在绘制目标画面之后,对所述本地缓存中已标记的实时帧数据进行清理。
192.根据本发明另一个可参考的实施例,所述应用于数据管理端的数据处理的装置800还包括:
193.第一判定模块,用于判断所述本地缓存中的实时帧数据的数量是否大于等于预先设置的数量阈值;
194.第二清理模块,用于在所述本地缓存中的实时帧数据的数量大于等于所述数量阈值的情况下,对所述本地缓存中未标记的实时帧数据进行清理。
195.根据本发明又一个可参考的实施例,所述应用于数据管理端的数据处理的装置800还包括:
196.第三清理模块,用于响应于接收到系统提示信息,对所述本地缓存中未标记的实时帧数据进行清理。
197.根据本发明还一个可参考的实施例,所述应用于数据管理端的数据处理的装置800还包括:
198.转换模块,用于根据所述实时帧数据生成对应的javascript对象,所述javascript对象指向所述实时帧数据的内存地址;
199.传输模块,用于将所述javascript对象传输至所述画面展示端,使所述画面展示端根据所述javascript对象生成方法调用指令。
200.根据本发明再一个可参考的实施例,所述应用于数据管理端的数据处理的装置800还包括:
201.第二判定模块,用于响应于接收到方法调用指令,获取对应的目标javascript对象,判断所述本地缓存中是否存在与所述目标javascript对象匹配的实时帧数据;
202.第一调用模块,用于在所述本地缓存中存在与所述目标javascript对象匹配的实时帧数据的情况下,根据与所述目标javascript对象匹配的实时帧数据执行所述方法调用指令对应的接口方法。
203.根据本发明一个可参考的实施例,所述应用于数据管理端的数据处理的装置800还包括:
204.确定模块,用于在所述本地缓存中不存在与所述目标javascript对象匹配的实时帧数据的情况下,根据所述目标javascript对象指向的内存地址确定对应的引用实时帧数据;
205.复制模块,用于对所述引用实时帧数据进行复制,得到引用实时帧数据对应的数据副本;
206.第二调用模块,用于根据所述数据副本执行所述方法调用指令对应的接口方法。
207.需要说明的是,在本发明实施例中所述应用于数据管理端的数据处理的装置的具
体实施内容,在上面所述应用于数据管理端的数据处理的方法中已经详细说明了,故在此重复内容不再说明。
208.根据本发明实施例的第五方面,提供一种应用于画面展示端的数据处理的装置。
209.图9是根据本发明实施例的应用于画面展示端的数据处理的装置的主要模块的示意图,如图9所示,所述应用于画面展示端的数据处理的装置900主要包括:
210.生成模块901,用于响应于接收到数据标识,生成携带所述数据标识的画面绘制指令,将所述画面绘制指令传输至数据管理端;
211.展示模块902,用于响应于接收到所述画面绘制指令对应的目标画面,对所述目标画面进行展示。
212.根据本发明一个可参考的实施例,所述应用于画面展示端的数据处理的装置900还包括:
213.清理模块,用于对所述目标画面进行清理;
214.第一传输模块,用于生成数据清理指令,将所述数据清理指令传输至所述数据管理端,使所述数据管理端对所述目标画面对应的实时帧数据进行清理。
215.根据本发明另一个可参考的实施例,所述应用于画面展示端的数据处理的装置900还包括:
216.第二传输模块,用于响应于接收到javascript对象,生成所述javascript对象对应的方法调用指令,将所述方法调用指令传输至所述数据管理端。
217.需要说明的是,在本发明实施例中所述应用于画面展示端的数据处理的装置的具体实施内容,在上面所述应用于画面展示端的数据处理的方法中已经详细说明了,故在此重复内容不再说明。
218.根据本发明实施例的第六方面,提供一种画面展示的装置。
219.图10是根据本发明实施例的画面展示的装置的主要模块的示意图,如图10所示,所述画面展示的装置1000主要包括:
220.标识生成模块1001,用于在数据管理端接收实时帧数据,生成对应的数据标识,将所述实时帧数据存储至预先设置的本地缓存,将所述数据标识传输至画面展示端;
221.绘制指令生成模块1002,用于在所述画面展示端接收目标数据标识,生成对应的画面绘制指令,将所述画面绘制指令传输至所述数据管理端,所述画面绘制指令是根据本发明实施例第二方面中任一所述的方法得到的;
222.画面绘制模块1003,用于在所述数据管理端接收画面绘制指令,获取对应的目标数据标识,在所述本地缓存中根据所述目标数据标识查找对应的目标实时帧数据,根据所述目标实时帧数据绘制目标画面,将所述目标画面传输至所述画面展示端,所述目标画面是根据本发明实施例第一方面中任一所述的方法得到的;
223.画面展示模块1004,用于在所述画面展示端接收目标画面,对所述目标画面进行展示。
224.根据本发明一个可参考的实施例,所述画面展示的装置1000还包括:
225.对象生成模块,用于在所述数据管理端根据所述实时帧数据生成对应的javascript对象,将所述javascript对象传输至所述画面展示端;
226.调用指令生成模块,用于在所述画面展示端接收javascript对象,生成对应的方
法调用指令,将所述方法调用指令传输至所述数据管理端;
227.方法执行模块,用于在所述数据管理端接收方法调用指令,获取对应的目标javascript对象,在所述本地缓存中存在与所述目标javascript对象匹配的实时帧数据的情况下,根据与所述目标javascript对象匹配的实时帧数据执行所述方法调用指令对应的接口方法。
228.需要说明的是,在本发明实施例中所述画面展示的装置的具体实施内容,在上面所述画面展示的方法中已经详细说明了,故在此重复内容不再说明。
229.根据本发明实施例的技术方案,生成实时帧数据对应的数据标识,根据接收到的目标数据标识确定对应的目标实时帧数据,根据目标实时帧数据生成对应的目标画面,能够避免直接传输实时帧数据,降低发生资源抢占的可能性,提高画面生成效率,使画面展示更流畅;对目标实时帧数据进行标记,清理本地缓存中的实时帧数据,能够及时释放本地缓存无需占用的存储空间,保证新获取到的实时帧数据能够被及时缓存,进一步提高画面生成效率;根据实时帧数据生成对应的javascript对象,使用javascript对象替代实时帧数据进行数据传输,能够避免复制大量实时帧数据,能够优化内存分配,避免占用大量内存空间,进一步缓解资源抢占的情况。
230.根据本发明实施例的第七方面,提供一种数据处理的电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例第一方面和/或本发明实施例第二方面和/或本发明实施例第三方面提供的方法。
231.根据本发明实施例的第八方面,提供一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明实施例第一方面和/或本发明实施例第二方面和/或本发明实施例第三方面提供的方法。
232.图11示出了可以应用本发明实施例的应用于数据管理端的数据处理的方法或者装置、或者应用于画面展示端的数据处理的方法或者装置的示例性系统架构1100。
233.如图11所示,系统架构1100可以包括终端设备1101、1102、1103,网络1104和服务器1105。网络1104用以在终端设备1101、1102、1103和服务器1105之间提供通信链路的介质。网络1104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
234.用户可以使用终端设备1101、1102、1103通过网络1104与服务器1105交互,以接收或发送消息等。终端设备1101、1102、1103上可以安装有各种通讯客户端应用,例如数据传输类应用、数据展示类应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
235.终端设备1101、1102、1103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
236.服务器1105可以是提供各种服务的服务器,例如对上游利用终端设备1101、1102、1103所发来的数据处理的请求和/或画面展示的请求提供支持的后台管理服务器(仅为示例)。后台管理服务器可以根据接收到的实时帧数据生成对应的数据标识,将所述实时帧数据存储至预先设置的本地缓存,将所述数据标识传输至画面展示端;响应于接收到画面绘制指令,获取对应的目标数据标识,根据所述目标数据标识,在所述本地缓存中查找对应的目标实时帧数据;根据所述目标实时帧数据绘制目标画面,将所述目标画面传输至画面展
示端;并将数据处理的情况(仅为示例)反馈给终端设备。或者,后台管理服务器可以响应于接收到目标数据标识,生成所述目标数据标识对应的画面绘制指令,将所述画面绘制指令传输至数据管理端,使所述数据管理端根据所述画面绘制指令绘制对应的目标画面并将所述目标画面传输至画面展示端,所述目标画面是根据本发明实施例第一方面中任一所述的方法得到的;响应于接收到所述画面绘制指令对应的目标画面,对所述目标画面进行展示;并将数据处理的情况(仅为示例)反馈给终端设备。或者,后台管理服务器可以在数据管理端接收实时帧数据,生成对应的数据标识,将所述实时帧数据存储至预先设置的本地缓存,将所述数据标识传输至画面展示端;在所述画面展示端接收目标数据标识,生成对应的画面绘制指令,将所述画面绘制指令传输至所述数据管理端,所述画面绘制指令是根据本发明实施例第二方面中任一所述的方法得到的;在所述数据管理端接收画面绘制指令,获取对应的目标数据标识,在所述本地缓存中根据所述目标数据标识查找对应的目标实时帧数据,根据所述目标实时帧数据绘制目标画面,将所述目标画面传输至所述画面展示端,所述目标画面是根据本发明实施例第一方面中任一所述的方法得到的;在所述画面展示端接收目标画面,对所述目标画面进行展示;并将画面展示的情况(仅为示例)反馈给终端设备。
237.需要说明的是,本发明实施例所提供的应用于数据管理端的数据处理的方法一般由服务器1105执行,相应地,所述应用于数据管理端的数据处理的装置一般设置在服务器1105中。本发明实施例所提供的应用于数据管理端的数据处理的方法也可以由终端设备1101、1102、1103执行,相应地,所述应用于数据管理端的数据处理的装置可以设置在终端设备1101、1102、1103中。
238.需要说明的是,本发明实施例所提供的应用于画面展示端的数据处理的方法一般由服务器1105执行,相应地,所述应用于画面展示端的数据处理的装置一般设置在服务器1105中。本发明实施例所提供的应用于画面展示端的数据处理的方法也可以由终端设备1101、1102、1103执行,相应地,所述应用于画面展示端的数据处理的装置可以设置在终端设备1101、1102、1103中。
239.需要说明的是,本发明实施例所提供的画面展示的方法一般由服务器1105执行,相应地,所述画面展示的装置一般设置在服务器1105中。本发明实施例所提供的画面展示的方法也可以由终端设备1101、1102、1103执行,相应地,所述画面展示的装置可以设置在终端设备1101、1102、1103中。
240.应该理解,图11中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
241.下面参考图12,其示出了适于用来实现本发明实施例的终端设备的计算机系统1200的结构示意图。图12示出的终端设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
242.如图12所示,计算机系统1200包括中央处理单元(cpu)1201,其可以根据存储在只读存储器(rom)1202中的程序或者从存储部分1208加载到随机访问存储器(ram)1203中的程序而执行各种适当的动作和处理。在ram 1203中,还存储有系统1200操作所需的各种程序和数据。cpu 1201、rom 1202以及ram 1203通过总线1204彼此相连。输入/输出(i/o)接口1205也连接至总线1204。
243.以下部件连接至i/o接口1205:包括键盘、鼠标等的输入部分1206;包括诸如阴极
射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分1207;包括硬盘等的存储部分1208;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分1209。通信部分1209经由诸如因特网的网络执行通信处理。驱动器1210也根据需要连接至i/o接口1205。可拆卸介质1211,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1210上,以便于从其上读出的计算机程序根据需要被安装入存储部分1208。
244.特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1209从网络上被下载和安装,和/或从可拆卸介质1211被安装。在该计算机程序被中央处理单元(cpu)1201执行时,执行本发明实施例的系统中限定的上述功能。
245.需要说明的是,本发明实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明实施例中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等等,或者上述的任意合适的组合。
246.附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
247.描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括生成模块、查找模块、绘制模块,或者,一种处理器包括生成模块、展示模块,或者,一种处理器包括标识生成模块、绘制指令生成模块、画面绘制模块、画面展示模块,其中,这些模块
的名称在某种情况下并不构成对该模块本身的限定,例如,查找模块还可以被描述为“查找目标数据标识对应的目标实时帧数据的模块”。
248.作为另一方面,本发明实施例还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,该设备实现如下方法:根据接收到的实时帧数据生成对应的数据标识,将所述实时帧数据存储至预先设置的本地缓存,将所述数据标识传输至画面展示端;响应于接收到画面绘制指令,获取对应的目标数据标识,根据所述目标数据标识,在所述本地缓存中查找对应的目标实时帧数据;根据所述目标实时帧数据绘制目标画面,将所述目标画面传输至画面展示端。或者,该设备实现如下方法:响应于接收到目标数据标识,生成所述目标数据标识对应的画面绘制指令,将所述画面绘制指令传输至数据管理端,使所述数据管理端根据所述画面绘制指令绘制对应的目标画面并将所述目标画面传输至画面展示端,所述目标画面是根据本发明实施例第一方面中任一所述的方法得到的;响应于接收到所述画面绘制指令对应的目标画面,对所述目标画面进行展示。或者,该设备实现如下方法:在数据管理端接收实时帧数据,生成对应的数据标识,将所述实时帧数据存储至预先设置的本地缓存,将所述数据标识传输至画面展示端;在所述画面展示端接收目标数据标识,生成对应的画面绘制指令,将所述画面绘制指令传输至所述数据管理端,所述画面绘制指令是根据本发明实施例第二方面中任一所述的方法得到的;在所述数据管理端接收画面绘制指令,获取对应的目标数据标识,在所述本地缓存中根据所述目标数据标识查找对应的目标实时帧数据,根据所述目标实时帧数据绘制目标画面,将所述目标画面传输至所述画面展示端,所述目标画面是根据本发明实施例第一方面中任一所述的方法得到的;在所述画面展示端接收目标画面,对所述目标画面进行展示。
249.根据本发明实施例的技术方案,生成实时帧数据对应的数据标识,根据接收到的目标数据标识确定对应的目标实时帧数据,根据目标实时帧数据生成对应的目标画面,能够避免直接传输实时帧数据,降低发生资源抢占的可能性,提高画面生成效率,使画面展示更流畅;对目标实时帧数据进行标记,清理本地缓存中的实时帧数据,能够及时释放本地缓存无需占用的存储空间,保证新获取到的实时帧数据能够被及时缓存,进一步提高画面生成效率;根据实时帧数据生成对应的javascript对象,使用javascript对象替代实时帧数据进行数据传输,能够避免复制大量实时帧数据,能够优化内存分配,避免占用大量内存空间,进一步缓解资源抢占的情况。
250.上述具体实施方式,并不构成对本发明实施例保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明实施例的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明实施例保护范围之内。

技术特征:
1.一种数据处理的方法,应用于数据管理端,其特征在于,包括:根据接收到的实时帧数据生成对应的数据标识,将所述实时帧数据存储至预先设置的本地缓存,将所述数据标识传输至画面展示端;响应于接收到画面绘制指令,获取对应的目标数据标识,根据所述目标数据标识,在所述本地缓存中查找对应的目标实时帧数据;根据所述目标实时帧数据绘制目标画面,将所述目标画面传输至画面展示端。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:对所述目标实时帧数据进行标记;在绘制目标画面之后,对所述本地缓存中已标记的实时帧数据进行清理。3.根据权利要求2所述的方法,其特征在于,所述方法还包括:判断所述本地缓存中的实时帧数据的数量是否大于等于预先设置的数量阈值;在所述本地缓存中的实时帧数据的数量大于等于所述数量阈值的情况下,对所述本地缓存中未标记的实时帧数据进行清理。4.根据权利要求2所述的方法,其特征在于,所述方法还包括:响应于接收到系统提示信息,对所述本地缓存中未标记的实时帧数据进行清理。5.根据权利要求1所述的方法,其特征在于,所述方法还包括:根据所述实时帧数据生成对应的javascript对象,所述javascript对象指向所述实时帧数据的内存地址;将所述javascript对象传输至所述画面展示端,使所述画面展示端根据所述javascript对象生成方法调用指令。6.根据权利要求5所述的方法,其特征在于,所述方法还包括:响应于接收到方法调用指令,获取对应的目标javascript对象,判断所述本地缓存中是否存在与所述目标javascript对象匹配的实时帧数据;在所述本地缓存中存在与所述目标javascript对象匹配的实时帧数据的情况下,根据与所述目标javascript对象匹配的实时帧数据执行所述方法调用指令对应的接口方法。7.根据权利要求6所述的方法,其特征在于,所述方法还包括:在所述本地缓存中不存在与所述目标javascript对象匹配的实时帧数据的情况下,根据所述目标javascript对象指向的内存地址确定对应的引用实时帧数据;对所述引用实时帧数据进行复制,得到引用实时帧数据对应的数据副本;根据所述数据副本执行所述方法调用指令对应的接口方法。8.一种数据处理的方法,应用于画面展示端,其特征在于,包括:响应于接收到目标数据标识,生成所述目标数据标识对应的画面绘制指令,将所述画面绘制指令传输至数据管理端,使所述数据管理端根据所述画面绘制指令绘制对应的目标画面并将所述目标画面传输至画面展示端,所述目标画面是根据权利要求1-7中任一所述的方法得到的;响应于接收到所述画面绘制指令对应的目标画面,对所述目标画面进行展示。9.根据权利要求8所述的方法,其特征在于,在对所述目标画面进行展示之后,所述方法还包括:对所述目标画面进行清理;
生成数据清理指令,将所述数据清理指令传输至所述数据管理端,使所述数据管理端对所述目标画面对应的实时帧数据进行清理。10.根据权利要求8所述的方法,其特征在于,所述方法还包括:响应于接收到javascript对象,生成所述javascript对象对应的方法调用指令,将所述方法调用指令传输至所述数据管理端。11.一种画面展示的方法,其特征在于,包括:在数据管理端接收实时帧数据,生成对应的数据标识,将所述实时帧数据存储至预先设置的本地缓存,将所述数据标识传输至画面展示端;在所述画面展示端接收目标数据标识,生成对应的画面绘制指令,将所述画面绘制指令传输至所述数据管理端,所述画面绘制指令是根据权利要求8-10中任一所述的方法得到的;在所述数据管理端接收画面绘制指令,获取对应的目标数据标识,在所述本地缓存中根据所述目标数据标识查找对应的目标实时帧数据,根据所述目标实时帧数据绘制目标画面,将所述目标画面传输至所述画面展示端,所述目标画面是根据权利要求1-7中任一所述的方法得到的;在所述画面展示端接收目标画面,对所述目标画面进行展示。12.根据权利要求11所述的方法,其特征在于,所述方法还包括:在所述数据管理端根据所述实时帧数据生成对应的javascript对象,将所述javascript对象传输至所述画面展示端;在所述画面展示端接收javascript对象,生成对应的方法调用指令,将所述方法调用指令传输至所述数据管理端;在所述数据管理端接收方法调用指令,获取对应的目标javascript对象,在所述本地缓存中存在与所述目标javascript对象匹配的实时帧数据的情况下,根据与所述目标javascript对象匹配的实时帧数据执行所述方法调用指令对应的接口方法。13.一种应用于数据管理端的数据处理的装置,其特征在于,包括:生成模块,用于根据接收到的实时帧数据生成对应的数据标识,将所述实时帧数据存储至预先设置的本地缓存,将所述数据标识传输至画面展示端;查找模块,用于响应于接收到画面绘制指令,获取对应的目标数据标识,根据所述目标数据标识,在所述本地缓存中查找对应的目标实时帧数据;绘制模块,用于根据所述目标实时帧数据绘制目标画面,将所述目标画面传输至画面展示端。14.一种应用于画面展示端的数据处理的装置,其特征在于,包括:生成模块,用于响应于接收到数据标识,生成携带所述数据标识的画面绘制指令,将所述画面绘制指令传输至数据管理端;展示模块,用于响应于接收到所述画面绘制指令对应的目标画面,对所述目标画面进行展示。15.一种电子设备,其特征在于,包括:一个或者多个处理器;存储装置,用于存储一个或者多个程序,
当所述一个或者多个程序被所述一个或者多个处理器执行时,所述一个或者多个处理器实现如权利要求1-12中任一所述的方法。16.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-12中任一所述的方法。

技术总结
本发明公开了一种数据处理的方法和装置,涉及计算机技术领域。应用于数据管理端的数据处理的方法的一具体实施方式包括:将实时帧数据存储至本地缓存,生成对应的数据标识,将数据标识传输至画面展示端;响应于接收到画面绘制指令,获取对应的目标数据标识,查找对应的目标实时帧数据;根据目标实时帧数据绘制目标画面,将目标画面传输至画面展示端。该实施方式能够提高画面生成效率。应用于画面展示端的数据处理的方法的一具体实施方式包括:响应于接收到数据标识,生成对应的画面绘制指令,将画面绘制指令传输至数据管理端;响应于接收到画面绘制指令对应的目标画面,对目标画面进行展示。该实施方式能够使展示的画面更流畅。该实施方式能够使展示的画面更流畅。该实施方式能够使展示的画面更流畅。


技术研发人员:戴旭
受保护的技术使用者:北京京东世纪贸易有限公司
技术研发日:2023.05.22
技术公布日:2023/8/21
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐