应用在网页前端的数据处理方法、装置及存储介质制造方法及图纸

技术编号:21630334 阅读:67 留言:0更新日期:2019-07-17 11:32
本申请提供了一种应用在网页前端的数据处理方法、装置及存储介质。其中,该方法包括:将从后台服务获取到的源数据分为多个数据块,其中,上述多个数据块设置有用于标示数据块顺序的标签;并行对上述多个数据块进行数据转换,得到转换后的多个数据块;按照上述标签,对上述转换后的多个数据块进行排序,得到目标数据,其中,上述目标数据用于前端视图显示。通过本申请,可以快速完成数据转换,提高了数据转换的效率,解决现有技术网页前端串行处理来自后台服务的大量数据,处理效率低、系统性能差的问题。

Data Processing Method, Device and Storage Medium Applied in the Front End of Web Page

【技术实现步骤摘要】
应用在网页前端的数据处理方法、装置及存储介质
本申请涉及数据处理
,特别地,涉及一种应用在网页前端的数据处理方法、装置及存储介质。
技术介绍
现有技术中网页前端(即web前端)基于Html5平台实现,web前端js对象采用ember.js框架,后端运行java服务提供数据,两端基于websocket长连接进行数据订阅获取,传输对象为ProtocolBuffers(简称PB),基于PB做结构化数据的序列化和反序列,即web前端收到的是序列化后的字节数组byte[],需要将byte[]转换成前端js对象。具体地,如图1所示,现有技术中网页前端串行处理来自后台服务的数据的方法包括如下步骤:步骤S101:web页面调用后台服务接口。其中,web页面的视图中包含业务数据列表,通过web页面调用后台服务接口,进行数据订阅。步骤S103:获取到数据队列Array<byte[]>。可选地,后台服务接收到订阅请求之后,将数据队列发送至web前端,web前端接收到订阅的数据队列Array<byte[]>,其中,该数据队列包括多个数组对象,多个数组对象按照时间字段降序排列,例如,获取到订阅的数据队列为3000条按时间字段降序的数据队列。步骤S105:将获取到的数据队列进行数据转换处理,主要是将获取到的数据队列中的各个数组对象转换成web前端的js对象,转换过程中,为保持转换后的js数据队列依旧有序,现有技术中一般采用对数据队列中的数组对象逐条串行转换的处理。步骤S107:输出处理后的JS对象数据队列。在转换完成后,将转换后的js数据队列缓存cache起来,用于视图绑定显示。目前web前端转换数据的效率约在400条/s,若获取到的数据队列中包括3000条数据,则执行上述操作需要耗时7s以上。由此可知,现有技术中,运行在普通PC配置机器上的Html5web前端应用,处理数据的效率约400条/s,采用上述方案处理大量数据(如,3000条)时串行转换数据(即逐条转换),在数据队列的转换过程中耗费大量的时间,例如,将3000条byte[]转成3000个js对象的过程大约需要7s,处理大量数据的耗时长、性能差、处理效率低。针对上述问题,目前尚未提出有效的解决方案。
技术实现思路
本申请提供一种数据处理方法和装置,用于解决现有技术网页前端串行处理来自后台服务的大量数据,处理效率低、系统性能差的问题。为了实现上述目的,本申请实施例公开了一种应用在网页前端的数据处理方法,该方法包括:将从后台服务获取到的源数据分为多个数据块,其中,上述多个数据块设置有用于标示数据块顺序的标签;并行对上述多个数据块进行数据转换,得到转换后的多个数据块;按照上述标签,对上述转换后的多个数据块进行排序,得到目标数据,其中,上述目标数据用于前端视图显示。进一步地,将从后台服务获取到的源数据分为多个数据块包括:按照上述源数据中数组对象的顺序,将上述源数据中的数组对象分入上述多个数据块,其中,每个上述数据块包含的上述数组对象的数量不大于预定数量,上述预定数量基于单个数据转换线程在单位时间内能够转换数据的最大数量而确定,每个上述数据转换线程用于对一个上述数据块进行数据转换。进一步地,并行对上述多个数据块进行数据转换包括:调用与上述数据块的数量相符的数据转换线程;通过调用的数据转换线程对上述多个数据块进行数据转换,其中,每个上述数据转换线程用于将一个上述数据块中的数组对象逐一转换为前端JS对象,以进行数据转换。进一步地,调用与上述数据块的数量相符的数据转换线程包括:从线程池调用与上述数据块的数量相符的、空闲数据转换线程,其中,上述线程池至少用于记录各个数据转换线程的线程状态,上述线程状态包括:空闲、工作和异常。进一步地,上述线程池至少还用于创建上述数据转换线程,以及记录上述数据转换线程的线程状态,其中,在上述数据转换线程被调用的情况下,上述线程池用于将上述数据转换线程的线程状态记录为工作;在上述数据转换线程的转换操作完成、回归线程池的情况下,上述线程池用于将上述数据转换线程的线程状态记录为空闲。进一步地,在通过调用的数据转换线程对上述多个数据块进行数据转换之后,上述方法还包括:若上述数据转换线程完成对应上述数据块的数据转换,则执行回调函数,其中,上述回调函数至少用于回收上述数据转换线程,将回收的上述数据转换线程归还给线程池。进一步地,在得到转换后的多个数据块之后,上述方法还包括:通过回调函数将上述转换后的多个数据块压入数据块队列;按照上述标签,对上述转换后的多个数据块进行排序,得到目标数据包括:通过上述回调函数,按照上述标签设置上述数据块队列中数据块的编号;按照上述编号对上述数据块队列中的数据块进行升序排序,得到上述目标数据。为了实现上述目的,本申请实施例公开了一种应用在网页前端的数据处理装置,该装置包括:划分单元,用于将从后台服务获取到的源数据分为多个数据块,其中,上述多个数据块设置有用于标示数据块顺序的标签;并行转换单元,用于并行对上述多个数据块进行数据转换,得到转换后的多个数据块;排序单元,用于按照上述标签,对上述转换后的多个数据块进行排序,得到目标数据,其中,上述目标数据用于前端视图显示。进一步地,上述划分单元包括:分割模块,用于按照上述源数据中数组对象的顺序,将上述源数据中的数组对象分入上述多个数据块,其中,每个上述数据块包含的上述数组对象的数量不大于预定数量,上述预定数量基于单个数据转换线程在单位时间内能够转换数据的最大数量而确定,每个上述数据转换线程用于对一个上述数据块进行数据转换。进一步地,上述并行转换单元包括:调用模块,用于调用与上述数据块的数量相符的数据转换线程;转换模块,用于通过调用的数据转换线程对上述多个数据块进行数据转换,其中,每个上述数据转换线程用于将一个上述数据块中的数组对象逐一转换为前端JS对象,以进行数据转换。进一步地,上述调用模块包括:调用子模块,用于从线程池调用与上述数据块的数量相符的、空闲数据转换线程,其中,上述线程池至少用于记录各个数据转换线程的线程状态,上述线程状态包括:空闲、工作和异常。进一步地,上述线程池至少还用于创建上述数据转换线程,以及记录上述数据转换线程的线程状态,其中,在上述数据转换线程被调用的情况下,上述线程池用于将上述数据转换线程的线程状态记录为工作;在上述数据转换线程的转换操作完成、回归线程池的情况下,上述线程池用于将上述数据转换线程的线程状态记录为空闲。进一步地,上述装置还包括:执行单元,用于在通过调用的数据转换线程对上述多个数据块进行数据转换之后,若上述数据转换线程完成对应上述数据块的数据转换,则执行回调函数,其中,上述回调函数至少用于回收上述数据转换线程,将回收的上述数据转换线程归还给线程池。进一步地,上述装置还包括:压入单元,用于在得到转换后的多个数据块之后,通过回调函数将上述转换后的多个数据块压入数据块队列;上述排序单元包括:设置模块,用于通过上述回调函数,按照上述标签设置上述数据块队列中数据块的编号;排序模块,用于按照上述编号对上述数据块队列中的数据块进行升序排序,得到上述目标数据。为了实现上述目的,本申请实施例公开了一种储介质,上述存储介质存储有用于执行上述的本文档来自技高网
...

【技术保护点】
1.一种应用在网页前端的数据处理方法,其特征在于,包括:将从后台服务获取到的源数据分为多个数据块,其中,所述多个数据块设置有用于标示数据块顺序的标签;并行对所述多个数据块进行数据转换,得到转换后的多个数据块;按照所述标签,对所述转换后的多个数据块进行排序,得到目标数据,其中,所述目标数据用于前端视图显示。

【技术特征摘要】
1.一种应用在网页前端的数据处理方法,其特征在于,包括:将从后台服务获取到的源数据分为多个数据块,其中,所述多个数据块设置有用于标示数据块顺序的标签;并行对所述多个数据块进行数据转换,得到转换后的多个数据块;按照所述标签,对所述转换后的多个数据块进行排序,得到目标数据,其中,所述目标数据用于前端视图显示。2.根据权利要求1所述的数据处理方法,其特征在于,将从后台服务获取到的源数据分为多个数据块包括:按照所述源数据中数组对象的顺序,将所述源数据中的数组对象分入所述多个数据块;其中,每个所述数据块包含的所述数组对象的数量不大于预定数量,所述预定数量基于单个数据转换线程在单位时间内能够转换数据的最大数量而确定,每个所述数据转换线程用于对一个所述数据块进行数据转换。3.根据权利要求1所述的数据处理方法,其特征在于,并行对所述多个数据块进行数据转换包括:调用与所述数据块的数量相符的数据转换线程;通过调用的数据转换线程对所述多个数据块进行数据转换,其中,每个所述数据转换线程用于将一个所述数据块中的数组对象逐一转换为前端JS对象,以进行数据转换。4.根据权利要求1至3中任意一项所述的数据处理方法,其特征在于,在得到转换后的多个数据块之后,所述方法还包括:通过回调函数将所述转换后的多个数据块压入数据块队列;按照所述标签,对所述转换后的多个数据块进行排序,得到目标数据包括:通过所述回调函数,按照所述标签设置所述数据块队列中数据块的编号;按照所述编号对所述数据块队列中的数据块进行升序排序,得到所述目标数据。5.根据权利要求3所述的数据处理方法,其特征在于,调用与所述数据块的数量相符的数据转换线程包括:从线程池调用与所述数据块的数量相符的、空闲数据转换线程,其中,所述线程池至少用于记录各个数据转换线程的线程状态,所述线程状态包括:空闲、工作和异常。6.根据权利要求5所述的数据处理方法,其特征在于,所述线程池至少还用于创建所述数据转换线程,以及记录所述数据转换线程的线程状态,其中,在所述数据转换线程被调用的情况下,所述线程池用于将所述数据转换线程的线程状态记录为工作;在所述数据转换线程的转换操作完成、回归线程池的情况下,所述线程池用于将所述数据转换线程的线程状态记录为空闲。7.根据权利要求3所述的数据处理方法,其特征在于,在通过调用的数据转换线程对所述多个数据块进行数据转换之后,所述方法还包括:若所述数据转换线程完成对应所述数据块的数据转换,则执行回调函数,其中,所述回调函数至少用于回收所述数据转换线程,将回收的所述数据转换线程归还给线程池。8.一种应用在网页前端的数据处理装置,其特征在于,包括:划分单元,用于将从后台服务获取到的...

【专利技术属性】
技术研发人员:吴小炎
申请(专利权)人:亿阳信通股份有限公司
类型:发明
国别省市:黑龙江,23

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

1