CN109684079B - 显示数据处理方法、装置以及电子设备 - Google Patents

显示数据处理方法、装置以及电子设备 Download PDF

Info

Publication number
CN109684079B
CN109684079B CN201811494999.4A CN201811494999A CN109684079B CN 109684079 B CN109684079 B CN 109684079B CN 201811494999 A CN201811494999 A CN 201811494999A CN 109684079 B CN109684079 B CN 109684079B
Authority
CN
China
Prior art keywords
data
display
memory
cache
terminal
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.)
Active
Application number
CN201811494999.4A
Other languages
English (en)
Other versions
CN109684079A (zh
Inventor
柳伟
彭志刚
方晓明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hundsun Technologies Inc
Original Assignee
Hundsun Technologies Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hundsun Technologies Inc filed Critical Hundsun Technologies Inc
Priority to CN201811494999.4A priority Critical patent/CN109684079B/zh
Publication of CN109684079A publication Critical patent/CN109684079A/zh
Application granted granted Critical
Publication of CN109684079B publication Critical patent/CN109684079B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/548Queue

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本申请提供了显示数据处理方法、装置以及电子设备,属于数据处理领域。包括接收用户的数据显示请求,对缓存数据进行汇总操作,得到内存数据队列;根据缓存数据量判断是否需要对内存数据队列进行拆分;如果需要拆分,则根据总数据量与预设阈值的数值关系对完成拆分过程,如果不需要进行拆分,则将缓存数据传输至终端界面进行显示。通过执行包括汇总和拆分在内的数据处理步骤,将原本需要处理的大量数据按请求分割称为多组的少量数据,从而在终端硬件条件不变的前提下,降低终端的数据处理压力,提升终端显示的流畅性,保证了用户体验。

Description

显示数据处理方法、装置以及电子设备
技术领域
本申请属于数据处理领域,特别涉及显示数据处理方法、装置以及电子设备。
背景技术
相对内存数据而言的内存数据库,顾名思义就是将数据放在内存中直接操作的数据库。相对于磁盘,内存的数据读写速度要高出几个数量级,将数据保存在内存中相比从磁盘上访问能够极大地提高应用的性能。
缓存数据:业务系统的业务数据以一定的数据结构存储在内存中,通过应用来访问内存而获得数据,不直接访问数据库,从而提升系统操作性能。
例如:单个私募等机构在做投资交易的时候,启动投资交易终端后,首先会从服务端加载一些基础数据到终端的内存中,同时终端也会存储每天的交易数据在内存中,这些数据对应业务系统来讲就是缓存数据,每天的委托下单量达几万笔的数据量,系统在支持业务的时候需要支持到十多万笔的数据量,那么委托数据表的数据量单日的数据在十万左右,投资经理在操作系统进行交易的时候,在委托数据显示界面,就需要显示出十多万条数据,这个时候需要能够快速的显示并且能够实时的更新显示数据状态,比如正在报单、已经报单、已经成交、部分成交等。这些状态在更新的时候都是需要对十多万条数据进行更新,在数据表下方切换状态后,界面数据也跟着状态进行过滤筛选,因为数据量大,所以需要有合适的解决方案来解决数据的实时性以及应用的高可用性。
目前国内的金融软件厂商对相关的金融软件产品都有严格的实时性要求以及性能要求。用户都是通过终端来操作软件界面,终端的操作流程以及数据是否及时往往是体现一套软件系统的质量和技术能力。然而现实中经常有用户在使用终端处理大量的数据时会出现卡顿甚至崩溃的情况,严重降低了用户体验。
发明内容
为了解决现有技术中存在的缺点和不足,本实施例提供了能够减少出现卡顿概率的显示数据处理方法、装置以及电子设备,以对数据进行拆分处理,降低了终端的数据处理压力。
为了达到上述技术目的,根据本公开实施例的第一方面,本实施例提供了显示数据处理方法,所述处理方法包括:
接收用户的数据显示请求,对缓存数据进行汇总操作,得到内存数据队列;
根据缓存数据量判断是否需要对内存数据队列进行拆分;
如果需要拆分,则根据总数据量与预设阈值的数值关系对完成拆分过程;
如果不需要进行拆分,则将缓存数据传输至终端界面进行显示。
可选的,所述处理方法,还包括:
当缓存数据发生变更时,对构建界面显示的数据结构进行数据变更处理;
基于双向绑定机制使得变更处理后的数据直接显示在终端界面上。
可选的,所述接收用户的数据显示请求,对缓存数据进行汇总操作,得到内存数据队列,包括:
对数据显示请求进行解析;
如果解析结果表明存在汇总请求,则根据终端显示中间件配置的汇总字段个数,分别启动与汇总字段个数相同的线程对缓存数据进行汇总操作,得到与汇总字段个数相同数量的内存数据队列。
可选的,所述根据缓存数据量判断是否需要对内存数据队列进行拆分,包括:
确定从总数据量中分离出预设数量、将预设数量数据转换显示对象的总耗时,根据可接受耗时对预设数量的取值进行调整,确定满足总耗时低于可接受耗时条件的预设数量的最佳数值;
当内存数量中的数据量大于最佳数值时,则需要对内存数据队列进行拆分。
可选的,所述处理方法,还包括:
获取终端当前的空闲内存数值;
根据内存空闲数值对最佳数值进行动态调整。
可选的,所述当缓存数据发生变更时,对构建界面显示的数据结构进行数据变更处理,包括:
当缓存数据发生变更时,获取变更操作详情;
结合缓存变更对象,挑选除UI显示线程外的线程对终端界面显示的数据结构进行异步线程处理。
根据本公开实施例的第二方面,本实施例还提出了显示数据处理装置,所述处理装置包括:
数据汇总单元,用于接收用户的数据显示请求,对缓存数据进行汇总操作,得到内存数据队列;
拆分判定单元,用于根据缓存数据量判断是否需要对内存数据队列进行拆分;
数据拆分单元,用于如果需要拆分,则根据总数据量与预设阈值的数值关系对完成拆分过程;
传输显示单元,用于如果不需要进行拆分,则将缓存数据传输至终端界面进行显示。
可选的,所述处理装置还包括:
数据变更单元,用于当缓存数据发生变更时,对构建界面显示的数据结构进行数据变更处理;
终端显示单元,用于基于双向绑定机制使得变更处理后的数据直接显示在终端界面上。
可选的,所述数据汇总单元,包括:
请求解析子单元,用于对数据显示请求进行解析;
汇总执行子单元,用于如果解析结果表明存在汇总请求,则根据终端显示中间件配置的汇总字段个数,分别启动与汇总字段个数相同的线程对缓存数据进行汇总操作,得到与汇总字段个数相同数量的内存数据队列。
可选的,所述拆分判定单元,包括:
数值确定子单元,用于确定从总数据量中分离出预设数量、将预设数量数据转换显示对象的总耗时,根据可接受耗时对预设数量的取值进行调整,确定满足总耗时低于可接受耗时条件的预设数量的最佳数值;
拆分判定子单元,用于当内存数量中的数据量大于最佳数值时,则需要对内存数据队列进行拆分。
可选的,所述处理装置,还包括:
内存数值获取子单元,用于获取终端当前的空闲内存数值;
数值调整子单元,用于根据内存空闲数值对最佳数值进行动态调整。
可选的,所述数据变更单元,包括:
详情获取子单元,用于当缓存数据发生变更时,获取变更操作详情;
异步处理子单元,用于结合缓存变更对象,挑选除UI显示线程外的线程对终端界面显示的数据结构进行异步线程处理。
根据本公开实施例的第三方面,本实施例还提出了一种电子设备,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1至6任一项所述显示数据处理方法的步骤。
根据本公开实施例的第四方面,本实施例还提出了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行根据权利要求1至6任一项所述显示数据处理方法的步骤。
本实施例提供的技术方案带来的有益效果是:
通过执行包括汇总和拆分在内的数据处理步骤,将原本需要处理的大量数据按请求分割称为多组的少量数据,从而在终端硬件条件不变的前提下,降低终端的数据处理压力,提升终端显示的流畅性,保证了用户体验。
附图说明
为了更清楚地说明本实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本实施例的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本实施例提供的显示数据处理方法的流程示意图一;
图2是本实施例提供的显示数据处理方法的流程示意图二;
图3是本实施例提供的显示数据处理装置的结构示意图一;
图4是本实施例提供的显示数据处理装置的结构示意图二;
图5是本实施例提供的电子设备的结构示意图。
具体实施方式
为使本实施例的结构和优点更加清楚,下面将结合附图对本实施例的结构作进一步地描述。
实施例一
为解决现有技术中终端在处理大量数据的显示时,可能因处理效率不足导致终端卡顿、崩溃的情况,本实施例提出了显示数据处理方法,将终端需要显示的数据进行汇总、拆分等操作,从而在终端硬件条件不变的前提下,降低终端的数据处理压力,提升终端显示的流畅性,保证了用户体验。
本实施例提供了显示数据处理方法,如图1所示,所述处理方法包括:
11、接收用户的数据显示请求,对缓存数据进行汇总操作,得到内存数据队列;
12、根据缓存数据量判断是否需要对内存数据队列进行拆分;
13、如果需要拆分,则根据总数据量与预设阈值的数值关系对完成拆分过程;
14、如果不需要进行拆分,则将缓存数据传输至终端界面进行显示。
在实施中,本实施例提出的显示方法包括了对缓存中的数据进行汇总操作、以及对汇总得到的内存数据队列进行拆分的步骤,上述两个操作实施的前提是确定待处理的缓存数据。
为了确定待处理的缓存数据,需要填写与待处理的缓存数据对应的缓存表的名称,当名称确定后,终端中的系统能够自动加载已确定名称的缓存表中的数据,并通过映射得到缓存表中的缓存数据。
在得到缓存数据后,才可以执行如步骤11所示的汇总操作,步骤11的具体内容包括:
111、对数据显示请求进行解析;
112、如果解析结果表明存在汇总请求,则根据终端显示中间件配置的汇总字段个数,分别启动与汇总字段个数相同的线程对缓存数据进行汇总操作,得到与汇总字段个数相同数量的内存数据队列。
在实施中,考虑到实际业务开发过程中,会存在数据展示出来后会有根据某个字段进行数据汇总的请求,比如成交数据显示,一般会有按证券汇总,按委托方向汇总等常见的汇总请求。因此进行汇总操作是不可避免的。
但是现有技术在设计开发过程中当数据量大的时候,由于大量数据带来的计算压力过大,使得汇总数据计算的时间长。一旦需要计算的字段较多,汇总消耗的时间就更长。在实时性要求不高的请求中,可以采用直接访问数据库的做法。但是这种操作使得根据不同的字段进行汇总时,重新访问数据库,当汇总字段过多时,过于频繁的访问数据库会显著降低汇总效率。
而本实施例提出的汇总操作,首先对用户的数据显示请求进行解析。如果请求中不存在需要汇总操作,则直接进行简单的数据处理操作,无需执行后续步骤。但如果解析结果表明存在汇总请求,就需要确定汇总字段的个数N。
接着启动N条线程用于对缓存数据进行汇总操作,得到N条内存数据队列。
可选的,步骤12用于执行是否对内存数据队列进行拆分的步骤,具体内容包括:
121、确定从总数据量中分离出预设数量、将预设数量数据转换显示对象的总耗时,根据可接受耗时对预设数量的取值进行调整,确定满足总耗时低于可接受耗时条件的预设数量的最佳数值;
122、当内存数量中的数据量大于最佳数值时,则需要对内存数据队列进行拆分。
在实施中,为了保证整个流程的流畅度,从内存数据队列到最终的显示结果这一处理流程的全部处理时长需要控制在1秒内。在不改动处理流程的前提下,需要对总数据量中分离出预设数量这一操作的分离时长进行控制。在总数据量不变的前提下,需要对拆分的数量进行控制,而对应拆分数量的变量即为拆分成每份数据的数据长度,即步骤121中的预设数量。
推算出拆分得到的每份数据的长度,这里长度的预设数量定为阈值S1,总数据量为N,从N中分离出S1条数据,然后转换为显示对象,再绑定数据源,刷新界面,在限定整个耗时<=1秒时,可以得出具体的S1值。这个1秒也是系统对界面打开耗时的定义的性能指标。我们可以设置阈值S1的取值,当分类的数据量小于S1时,不进行拆分,当分类的数据量大于S1,则建立数据队列存储该类数据,最终能够保证所有类型数据从切换到打开都在1秒内完成。
本实施例判断是否需要重新拆分内存数据队列的主要依据缓存数据量来推算是否需要拆分新的数据队列。如果数据量小重新构建数据队列耗时小,则无需独立数据队列,如果数据量巨大则需要独立数据队列,这样能够保证界面操作流程不卡顿,同时提升用户操作体验。
如果存在没有超过S1的数据量,则在内存中存储在templist中进行数据交换,每次都是切换的时候从数据源中实时筛选出数据即可,不需要进行上述拆分步骤。
可选的,所述处理方法,还包括对步骤121中的最佳数值进行调整的步骤:
123、获取终端当前的空闲内存数值;
124、根据内存空闲数值对最佳数值进行动态调整。
在实施中,最佳数值并非始终不变,也可以根据终端配置来实时调整。
获取终端当前的空闲内存数值,当空闲内存数值较大的时候,可以将S1缩小,即只要有数据分类就建立数据队列,最大化使用内存,减少切换分类的时候实时计算,提升显示速度。如果内存吃紧,则可以S1调高,让CPU分担运算压力,降低因空闲内存变小可能导致的卡顿现象。
需要注意的是,本申请提出的显示方法,除了步骤11至步骤14提出的拆分与否的具体方式外,还包括缓存数据是否需要进行变更操作的处理过程,如图2所示,具体包括:
15、当缓存数据发生变更时,对构建界面显示的数据结构进行数据变更处理;
16、基于双向绑定机制使得变更处理后的数据直接显示在终端界面上。
其中,步骤15包括:
151、当缓存数据发生变更时,获取变更操作详情;
152、结合缓存变更对象,挑选除UI显示线程外的线程对终端界面显示的数据结构进行异步线程处理。
在实施中,在前文执行步骤11对应的动作得到缓存数据后,为了确保缓存数据的时效性,本实施例中还增加了数据实时更新的操作,也可以称为根据缓存数据的变更主推机制,在数据处理过程中,会经常频繁数据变更,缓存数据变更后则会通知数据源处理模块对构建的界面显示数据结构进行数据变更处理,这里采用异步线程处理,不影响UI线程显示,对界面操作无影响,所以即使有大量的数据变更推送也不会卡界面。
数据实时更新主要是依赖缓存模块的数据变更操作,主要是从缓存模块订阅数据变更的消息,数据显示模块收到消息后,异步推动到数据源理模块,对数据进行新增,修改,删除操作。
而步骤16则具体包括:
在实施中,在MVVM框架中,View(视图)和Modal(数据)是不可以直接通讯的,在它们之间存在着ViewModal中间层。当用户操作View(视图),ViewModal感知到变化,然后通知Modal发生相应改变;反之当Modal(数据)发生改变,ViewModal也能感知到变化,使View作出相应更新。上述一来一回的过程就是双向绑定过程。
这里所使用的双向绑定过程为较为成熟的现有技术,此处不再进行赘述。
本实施例提供了显示数据处理方法,包括接收用户的数据显示请求,对缓存数据进行汇总操作,得到内存数据队列;根据缓存数据量判断是否需要对内存数据队列进行拆分;如果需要拆分,则根据总数据量与预设阈值的数值关系对完成拆分过程;当缓存数据发生变更时,对构建界面显示的数据结构进行数据变更处理;基于双向绑定机制使得变更处理后的数据直接显示在终端界面上。通过执行包括汇总和拆分在内的数据处理步骤,将原本需要处理的大量数据按请求分割称为多组的少量数据,从而在终端硬件条件不变的前提下,降低终端的数据处理压力,提升终端显示的流畅性,保证了用户体验。
实施例二
本实施例还提出了显示数据处理装置2,如图2所示,所述处理装置2包括:
数据汇总单元21,用于接收用户的数据显示请求,对缓存数据进行汇总操作,得到内存数据队列;
拆分判定单元22,用于根据缓存数据量判断是否需要对内存数据队列进行拆分;
数据拆分单元23,用于如果需要拆分,则根据总数据量与预设阈值的数值关系对完成拆分过程;
传输显示单元24,用于如果不需要进行拆分,则将缓存数据传输至终端界面进行显示。
在实施中,本实施例提出的显示方法包括了对缓存中的数据进行汇总操作、以及对汇总得到的内存数据队列进行拆分的步骤,上述两个操作实施的前提是确定待处理的缓存数据。
为了确定待处理的缓存数据,需要填写与待处理的缓存数据对应的缓存表的名称,当名称确定后,终端中的系统能够自动加载已确定名称的缓存表中的数据,并通过映射得到缓存表中的缓存数据。
在得到缓存数据后,才可以令数据汇总单元21执行如下汇总操作,数据汇总单元21包括:
请求解析子单元211,用于对数据显示请求进行解析;
汇总执行子单元212,用于如果解析结果表明存在汇总请求,则根据终端显示中间件配置的汇总字段个数,分别启动与汇总字段个数相同的线程对缓存数据进行汇总操作,得到与汇总字段个数相同数量的内存数据队列。
在实施中,考虑到实际业务开发过程中,会存在数据展示出来后会有根据某个字段进行数据汇总的请求,比如成交数据显示,一般会有按证券汇总,按委托方向汇总等常见的汇总请求。因此进行汇总操作是不可避免的。
但是现有技术在设计开发过程中当数据量大的时候,由于大量数据带来的计算压力过大,使得汇总数据计算的时间长。一旦需要计算的字段较多,汇总消耗的时间就更长。在实时性要求不高的请求中,可以采用直接访问数据库的做法。但是这种操作使得根据不同的字段进行汇总时,重新访问数据库,当汇总字段过多时,过于频繁的访问数据库会显著降低汇总效率。
而本实施例提出的汇总操作,首先对用户的数据显示请求进行解析。如果请求中不存在需要汇总操作,则直接进行简单的数据处理操作,无需执行后续步骤。但如果解析结果表明存在汇总请求,就需要确定汇总字段的个数N。
接着启动N条线程用于对缓存数据进行汇总操作,得到N条内存数据队列。
可选的,所述拆分判定单元22用于执行是否对内存数据队列进行拆分的步骤,具体包括:
数值确定子单元221,用于确定从总数据量中分离出预设数量、将预设数量数据转换显示对象的总耗时,根据可接受耗时对预设数量的取值进行调整,确定满足总耗时低于可接受耗时条件的预设数量的最佳数值;
拆分判定子单元222,用于当内存数量中的数据量大于最佳数值时,则需要对内存数据队列进行拆分。
在实施中,为了保证整个流程的流畅度,从内存数据队列到最终的显示结果这一处理流程的全部处理时长需要控制在1秒内。在不改动处理流程的前提下,需要对总数据量中分离出预设数量这一操作的分离时长进行控制。在总数据量不变的前提下,需要对拆分的数量进行控制,而对应拆分数量的变量即为拆分成每份数据的数据长度,即步骤121中的预设数量。
推算出拆分得到的每份数据的长度,这里长度的预设数量定为阈值S1,总数据量为N,从N中分离出S1条数据,然后转换为显示对象,再绑定数据源,刷新界面,在限定整个耗时<=1秒时,可以得出具体的S1值。这个1秒也是系统对界面打开耗时的定义的性能指标。我们可以设置阈值S1的取值,当分类的数据量小于S1时,不进行拆分,当分类的数据量大于S1,则建立数据队列存储该类数据,最终能够保证所有类型数据从切换到打开都在1秒内完成。
本实施例判断是否需要重新拆分内存数据队列的主要依据缓存数据量来推算是否需要拆分新的数据队列。如果数据量小重新构建数据队列耗时小,则无需独立数据队列,如果数据量巨大则需要独立数据队列,这样能够保证界面操作流程不卡顿,同时提升用户操作体验。
如果存在没有超过S1的数据量,则在内存中存储在templist中进行数据交换,每次都是切换的时候从数据源中实时筛选出数据即可,不需要进行上述拆分步骤。
可选的,所述处理装置2,还包括:
内存数值获取子单元223,用于获取终端当前的空闲内存数值;
数值调整子单元224,用于根据内存空闲数值对最佳数值进行动态调整。
在实施中,最佳数值并非始终不变,也可以根据终端配置来实时调整。
获取终端当前的空闲内存数值,当空闲内存数值较大的时候,可以将S1缩小,即只要有数据分类就建立数据队列,最大化使用内存,减少切换分类的时候实时计算,提升显示速度。如果内存吃紧,则可以S1调高,让CPU分担运算压力,降低因空闲内存变小可能导致的卡顿现象。
需要注意的是,本申请提出的显示装置,除了前述单元21至单元24提出的拆分与否的具体结构外,还包括需要判断缓存数据是否需要进行变更操作的处理单元,如图4所示,具体包括:
数据变更单元25,用于当缓存数据发生变更时,对构建界面显示的数据结构进行数据变更处理;
终端显示单元26,用于基于双向绑定机制使得变更处理后的数据直接显示在终端界面上。
其中,数据变更单元25,包括:
详情获取子单元251,用于当缓存数据发生变更时,获取变更操作详情;
异步处理子单元252,用于结合缓存变更对象,挑选除UI显示线程外的线程对终端界面显示的数据结构进行异步线程处理。
在实施中,在前文数据汇总单元21执行步骤对应的动作得到缓存数据后,为了确保缓存数据的时效性,本实施例中还增加了数据实时更新的操作,也可以称为根据缓存数据的变更主推机制,在数据处理过程中,会经常频繁数据变更,缓存数据变更后则会通知数据源处理模块对构建的界面显示数据结构进行数据变更处理,这里采用异步线程处理,不影响UI线程显示,对界面操作无影响,所以即使有大量的数据变更推送也不会卡界面。
数据实时更新主要是依赖缓存模块的数据变更操作,主要是从缓存模块订阅数据变更的消息,数据显示模块收到消息后,异步推动到数据源理模块,对数据进行新增,修改,删除操作。
可选的,所述终端显示单元26,用于基于双向绑定机制使得变更处理后的数据直接显示在终端界面上,
在实施中,在MVVM框架中,View(视图)和Modal(数据)是不可以直接通讯的,在它们之间存在着ViewModal中间层。当用户操作View(视图),ViewModal感知到变化,然后通知Modal发生相应改变;反之当Modal(数据)发生改变,ViewModal也能感知到变化,使View作出相应更新。上述一来一回的过程就是双向绑定过程。
这里所使用的双向绑定过程为较为成熟的现有技术,此处不再进行赘述。
本实施例提供了显示数据处理装置,包括接收用户的数据显示请求,对缓存数据进行汇总操作,得到内存数据队列;根据缓存数据量判断是否需要对内存数据队列进行拆分;如果需要拆分,则根据总数据量与预设阈值的数值关系对完成拆分过程;当缓存数据发生变更时,对构建界面显示的数据结构进行数据变更处理;基于双向绑定机制使得变更处理后的数据直接显示在终端界面上。通过执行包括汇总和拆分在内的数据处理步骤,将原本需要处理的大量数据按请求分割称为多组的少量数据,从而在终端硬件条件不变的前提下,降低终端的数据处理压力,提升终端显示的流畅性,保证了用户体验。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。作为模块或单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现木公开方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本示例实施方式中,还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一实施例中所述显示数据处理方法的步骤。所述显示数据处理方法的具体步骤可参考前述实施例中关于上述数据处理步骤的详细描述,此处不再赘述。所述计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本示例实施方式中,还提供一种电子设备,该电子设备可以包括处理器以及用于存储所述处理器的可执行指令的存储器。其中,所述处理器配置为经由执行所述可执行指令来执行上述任一实施例中所述显示数据处理方法的步骤。该显示方法的步骤可参考前述方法实施例中的详细描述,此处不再赘述。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本公开实施方式的方法。
图5示出根据本公开示例实施方式中一种电子设备的示意图。例如,装置可以被提供为一服务器或客户端。参照图5,设备包括处理组件422,其进一步包括一个或多个处理器,以及由存储器432所代表的存储器资源,用于存储可由处理组件422执行的指令,例如应用程序。存储器432中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件422被配置为执行指令,以执行上述方法。
装置800还可以包括一个电源组件426被配置为执行装置400的电源管理,一个有线或无线网络接口450被配置为将装置400连接到网络,和一个输入输出(I/O)接口458。装置800可以操作基于存储在存储器432的操作系统,例如Windows Server TM,Mac OS XTM,Unix TM、Linux TM,FreeBSDTM或类似。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本实施例旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由所附的权利要求指出。

Claims (12)

1.显示数据处理方法,其特征在于,所述处理方法包括:
接收用户的数据显示请求,对缓存数据进行汇总操作,得到内存数据队列;
根据缓存数据量判断是否需要对内存数据队列进行拆分;
如果需要拆分,则根据总数据量与预设阈值的数值关系对完成拆分过程;
如果不需要进行拆分,则将缓存数据传输至终端界面进行显示;
其中,所述根据缓存数据量判断是否需要对内存数据队列进行拆分,包括:
确定从总数据量中分离出预设数量、将预设数量数据转换显示对象的总耗时,根据可接受耗时对预设数量的取值进行调整,确定满足总耗时低于可接受耗时条件的预设数量的最佳数值;
当内存数量中的数据量大于最佳数值时,则需要对内存数据队列进行拆分。
2.根据权利要求1所述的显示数据处理方法,其特征在于,所述处理方法,还包括:
当缓存数据发生变更时,对构建界面显示的数据结构进行数据变更处理;
基于双向绑定机制使得变更处理后的数据直接显示在终端界面上。
3.根据权利要求1所述的显示数据处理方法,其特征在于,所述接收用户的数据显示请求,对缓存数据进行汇总操作,得到内存数据队列,包括:
对数据显示请求进行解析;
如果解析结果表明存在汇总请求,则根据终端显示中间件配置的汇总字段个数,分别启动与汇总字段个数相同的线程对缓存数据进行汇总操作,得到与汇总字段个数相同数量的内存数据队列。
4.根据权利要求1所述的显示数据处理方法,其特征在于,所述处理方法,还包括:
获取终端当前的空闲内存数值;
根据内存空闲数值对最佳数值进行动态调整。
5.根据权利要求2所述的显示数据处理方法,其特征在于,所述当缓存数据发生变更时,对构建界面显示的数据结构进行数据变更处理,包括:
当缓存数据发生变更时,获取变更操作详情;
结合缓存变更对象,挑选除UI显示线程外的线程对终端界面显示的数据结构进行异步线程处理。
6.显示数据处理装置,其特征在于,所述处理装置包括:
数据汇总单元,用于接收用户的数据显示请求,对缓存数据进行汇总操作,得到内存数据队列;
拆分判定单元,用于根据缓存数据量判断是否需要对内存数据队列进行拆分;
数据拆分单元,用于如果需要拆分,则根据总数据量与预设阈值的数值关系对完成拆分过程;
传输显示单元,用于如果不需要进行拆分,则将缓存数据传输至终端界面进行显示;
所述拆分判定单元,包括:
数值确定子单元,用于确定从总数据量中分离出预设数量、将预设数量数据转换显示对象的总耗时,根据可接受耗时对预设数量的取值进行调整,确定满足总耗时低于可接受耗时条件的预设数量的最佳数值;
拆分判定子单元,用于当内存数量中的数据量大于最佳数值时,则需要对内存数据队列进行拆分。
7.根据权利要求6所述的显示数据处理装置,其特征在于,所述处理装置还包括:
数据变更单元,用于当缓存数据发生变更时,对构建界面显示的数据结构进行数据变更处理;
终端显示单元,用于基于双向绑定机制使得变更处理后的数据直接显示在终端界面上。
8.根据权利要求6所述的显示数据处理装置,其特征在于,所述数据汇总单元,包括:
请求解析子单元,用于对数据显示请求进行解析;
汇总执行子单元,用于如果解析结果表明存在汇总请求,则根据终端显示中间件配置的汇总字段个数,分别启动与汇总字段个数相同的线程对缓存数据进行汇总操作,得到与汇总字段个数相同数量的内存数据队列。
9.根据权利要求6所述的显示数据处理装置,其特征在于,所述处理装置,还包括:
内存数值获取子单元,用于获取终端当前的空闲内存数值;
数值调整子单元,用于根据内存空闲数值对最佳数值进行动态调整。
10.根据权利要求7所述的显示数据处理装置,其特征在于,所述数据变更单元,包括:
详情获取子单元,用于当缓存数据发生变更时,获取变更操作详情;
异步处理子单元,用于结合缓存变更对象,挑选除UI显示线程外的线程对终端界面显示的数据结构进行异步线程处理。
11.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1至5任一项所述显示数据处理方法的步骤。
12.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器执行根据权利要求1至5任一项所述显示数据处理方法的步骤。
CN201811494999.4A 2018-12-07 2018-12-07 显示数据处理方法、装置以及电子设备 Active CN109684079B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811494999.4A CN109684079B (zh) 2018-12-07 2018-12-07 显示数据处理方法、装置以及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811494999.4A CN109684079B (zh) 2018-12-07 2018-12-07 显示数据处理方法、装置以及电子设备

Publications (2)

Publication Number Publication Date
CN109684079A CN109684079A (zh) 2019-04-26
CN109684079B true CN109684079B (zh) 2021-03-02

Family

ID=66186561

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811494999.4A Active CN109684079B (zh) 2018-12-07 2018-12-07 显示数据处理方法、装置以及电子设备

Country Status (1)

Country Link
CN (1) CN109684079B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110659285B (zh) * 2019-08-29 2022-12-30 北京华天海峰科技股份有限公司 试验数据分析方法、装置、计算机设备和存储介质
CN112578995A (zh) * 2019-09-29 2021-03-30 西安诺瓦星云科技股份有限公司 数据集合处理方法、装置和系统
CN112306604B (zh) * 2020-08-21 2022-09-23 海信视像科技股份有限公司 一种传输文件的进度显示方法及显示设备
CN113765979B (zh) * 2020-11-20 2022-12-02 北京沃东天骏信息技术有限公司 信息传输方法、系统和装置
CN114202947B (zh) * 2021-12-07 2023-07-25 北京百度网讯科技有限公司 车联网数据传输方法、装置及自动驾驶车辆

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9268549B2 (en) * 2013-03-27 2016-02-23 Vmware, Inc. Methods and apparatus to convert a machine to a virtual machine
CN106936871B (zh) * 2015-12-30 2020-05-29 阿里巴巴集团控股有限公司 界面展示数据的方法及装置
US9600340B1 (en) * 2016-05-16 2017-03-21 Live Nation Entertainment, Inc. Iterative and hierarchical processing of request partitions
CN106951456B (zh) * 2017-02-24 2020-03-17 广东广信通信服务有限公司 一种内存数据库系统及数据处理系统
CN107679151A (zh) * 2017-09-26 2018-02-09 深圳智慧园区信息技术有限公司 一种基于ela大数据驾驶舱系统的数据处理方法

Also Published As

Publication number Publication date
CN109684079A (zh) 2019-04-26

Similar Documents

Publication Publication Date Title
CN109684079B (zh) 显示数据处理方法、装置以及电子设备
US11570272B2 (en) Provisioning using pre-fetched data in serverless computing environments
US20160179919A1 (en) Asynchronous data replication using an external buffer table
AU2013237658A1 (en) System and method for batch evaluation programs
US9910755B2 (en) Retrieval of authoritative measurement data from in-memory datastores
US20170075900A1 (en) Optimize follower and search relevancy ratio
US20180095791A1 (en) Time frame bounded execution of computational algorithms
US11775504B2 (en) Computer estimations based on statistical tree structures
CN112052082B (zh) 任务属性优化方法、装置、服务器及存储介质
CN108765134B (zh) 订单数据处理方法及装置、电子设备、存储介质
US10891514B2 (en) Image classification pipeline
US20220413906A1 (en) Method, device, and program product for managing multiple computing tasks based on batch
CN113987086A (zh) 数据处理方法、数据处理装置、电子设备以及存储介质
US20140075443A1 (en) Framework for critical-path resource-optimized parallel processing
CN116594709A (zh) 用于获取数据的方法、装置及计算机程序产品
US11922214B2 (en) Browser-based processing of data
CN115114247A (zh) 文件数据处理方法及装置
US20180268028A1 (en) Semantic cluster tables providing improved database system performance
US9880919B2 (en) Aggregation of metrics data with fine granularity
US10782883B1 (en) Cloud-based ad-hoc impact analysis of data saving potentials
US11941355B2 (en) Using operational transforms to perform operations on parallel copies of a document model
US11620173B2 (en) Optimizing application performance with machine learning
US20240028397A1 (en) Computational resource allocation advisor for elastic cloud databases
CN114461944B (zh) 搜索结果的展示方法、装置及电子设备
US11069018B2 (en) Systems, methods and machine readable programs for value chain analytics

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
CB03 Change of inventor or designer information
CB03 Change of inventor or designer information

Inventor after: Liu Wei

Inventor after: Peng Zhigang

Inventor after: Fang Xiaoming

Inventor before: Liu Wei

Inventor before: Peng Zhigang

GR01 Patent grant
GR01 Patent grant