CN108874334A - 工作者线程处理 - Google Patents

工作者线程处理 Download PDF

Info

Publication number
CN108874334A
CN108874334A CN201711399882.3A CN201711399882A CN108874334A CN 108874334 A CN108874334 A CN 108874334A CN 201711399882 A CN201711399882 A CN 201711399882A CN 108874334 A CN108874334 A CN 108874334A
Authority
CN
China
Prior art keywords
data
inquiry
panel
result set
result
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
Application number
CN201711399882.3A
Other languages
English (en)
Inventor
V.库马尔
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.)
SAP SE
Original Assignee
SAP SE
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 SAP SE filed Critical SAP SE
Publication of CN108874334A publication Critical patent/CN108874334A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/14Details of searching files based on file metadata
    • G06F16/156Query results presentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1454Digital output to display device ; Cooperation and interconnection of the display device with other functional units involving copying of the display data of a local workstation or window to a remote workstation or window so that an actual copy of the data is displayed simultaneously on two or more displays, e.g. teledisplay
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/26Visual data mining; Browsing structured data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/14Details of searching files based on file metadata
    • G06F16/148File search processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/248Presentation of query results

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Library & Information Science (AREA)
  • Computational Linguistics (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本申请涉及工作者线程处理,并提供了一种系统,包括:接收显示第一面板的请求,从服务器系统发送对与第一面板相关联的第一面板数据文件的请求,从服务器系统接收与第一面板相关联的第一面板数据文件,向服务器系统发出第一面板数据文件的第一多个查询,接收响应于第一多个查询的结果集,基于所述结果集和模型数据构建结果,基于所述结果渲染一个或多个数据可视化以及在显示器上呈现所述一个或多个数据可视化。

Description

工作者线程处理
相关申请的交叉引用
本申请涉及2017年5月16日提交的第62/506,762号美国临时专利申请,并且要求其优先权,为了所有目的,其全部内容通过引用合并于此。
背景技术
企业软件系统接收、生成和存储与企业许多方面有关的数据。用户操作报告工具访问这些数据,并以有用的格式显示数据,诸如图形可视化。常规地,响应于用户对可视化的请求,报告工具从后端数据源获取可视化所基于的可视化和模型数据的定义。报告工具基于定义和模型数据构建和发出适当的查询,接收查询结果并从中构建结果集,并基于该结果集渲染可视化。需要对这个过程的性能改进。
发明内容
根据本公开的一方面,提供了一种系统,包括:显示器;存储器,存储处理器可执行的过程步骤;以及处理器,执行处理器可执行的过程步骤以:接收显示包括一个或多个数据可视化的面板的请求;从远程数据源获取与面板相关联的数据文件,所述数据文件包括一个或多个数据可视化中的每一个的定义、以及与所述一个或多个数据可视化相关联的模型数据和多个查询;向远程数据源发出多个查询;接收响应于多个查询的结果集;基于所述结果集和所述模型数据构建结果;基于所述结果渲染所述一个或多个数据可视化;以及在显示器上呈现所述一个或多个数据可视化。
根据本公开的另一方面,提供了一种计算机实现的方法,包括:接收显示包括一个或多个数据可视化的面板的请求;从远程数据源获取与面板相关联的数据文件,所述数据文件包括一个或多个数据可视化中的每一个的定义、以及与所述一个或多个数据可视化相关联的模型数据和多个查询;向远程数据源发出多个查询;接收响应于多个查询的结果集;基于所述结果集和所述模型数据构建结果;基于所述结果渲染所述一个或多个数据可视化;以及在显示器上呈现所述一个或多个数据可视化。
根据本公开的另一方面,提供了一种系统,包括:服务器系统,包括存储器系统,所述存储器系统存储多个面板数据文件,所述多个面板数据文件中的每一个包括一个或多个数据可视化中的每一个的定义、以及与所述一个或多个数据可视化相关联的模型数据和多个查询;以及客户端系统,包括:显示器;以及处理器,控制客户端系统以:接收显示第一面板的请求;发送对来自服务器系统的与第一面板相关联的第一面板数据文件的请求;从服务器系统接收与第一面板相关联的第一面板数据文件;向服务器系统发出第一面板数据文件的第一多个查询;接收响应于第一多个查询的结果集;基于第一面板文件的模型数据和结果集构建结果;基于所述结果渲染一个或多个数据可视化;以及在显示器上呈现一个或多个数据可视化。
附图说明
图1是根据一些实施例的系统架构的框图。
图2是根据一些实施例的过程的流程图。
图3是根据一些实施例的选择一组数据可视化的被显示的用户界面的外观。
图4是根据一些实施例的系统架构的框图。
图5是根据一些实施例的系统架构的框图。
图6是根据一些实施例的装置的框图。
具体实施方式
提供以下描述以使本领域的任何人能够制造和使用所描述的实施例。然而,各种修改对于本领域的技术人员而言将是显而易见的。
通常,一些实施例通过在后端数据源与可视化定义相关联地保存查询和模型数据来提供改进的响应时间。这样的保存可以减少从可视化定义中单独获取模型数据的需要,或者每当请求数据可视化时基于其构建查询。此外,一些实施例允许一个执行线程渲染事件页面,而另一个执行线程发出查询并且基于模型数据和可视化定义来构建结果。
图1是根据一些实施例的系统100的框图。实施例不限于图1的系统。系统100包括数据存储110、数据库管理系统(DBMS)120、服务器130和客户端140。根据一些实施例,服务器130可以执行数据可视化应用132以提供存储在数据存储110中的数据的可视化。服务器130也可以接收来自客户端140的请求,并作为响应向其提供数据可视化。数据可视化可以以可由客户端140执行的应用(例如,在客户端140上的Web浏览器内执行的Java执行引擎)渲染的格式(例如,JavaScript对象表示(JSON))来提供。
根据一些实施例,客户端140执行Web浏览器以在客户端140的显示器上向用户呈现用户界面。用户向用户界面输入查询,并且客户端140将基于查询的请求传递给服务器130。服务器130基于请求生成SQL脚本,并将SQL脚本转发给DBMS 120。DBMS 120基于数据存储110的数据执行SQL脚本以将结果集返回给服务器130,数据可视化应用132基于结果集生成数据可视化,并且客户端140渲染数据可视化。根据一些实施例,客户端140接收结果集并基于此生成并渲染数据可视化。
查询可以利用定义一组对象的语义层。语义层可以由存储在数据存储110和/或单独的存储库(未示出)内的元数据来定义。每个对象将数据存储110的一个或多个物理实体(例如,物理数据库表,一个或多个数据库表的相关列等)与用户友好名称相关联。这些对象可以被分类为维度,以该维度人们可以施行分析或报告(例如,年,国家,产品)或度量(例如,销售,利润),其值可以针对给定的维度值组合(例如,2006年、美国、电视)来确定。因此,用户生成的查询可以包括如此定义的维度、维度值和/或度量,并且元数据用于相对于数据存储110的对应物理实体执行查询。查询还可以包括其他信息,诸如过滤器。
数据存储110可以包括已知的或者变为已知的任何数据源,包括但不限于数据库视图、电子表格、关系数据库和/或在线分析处理数据库。数据存储110还可以包括任何已知的或者变为已知的一个或多个查询-响应数据源,包括但不限于结构化查询语言(SQL)关系数据库管理系统。数据存储110可以包括关系数据库、多维数据库、可扩展标记语言(XML)文档或存储结构化和/或非结构化数据的任何其他数据存储系统。数据存储110的数据可以分布在若干关系数据库、维度数据库和/或其它数据源中。实施例不限于任何数量或类型的数据源。
在一些实施例中,数据存储110的数据可以包括常规表格数据、基于行的数据、基于列的数据和基于对象的数据中的一个或多个。此外,数据可以被索引和/或选择性地被复制到索引中以允许快速搜索和检索。数据存储110可以支持多租户,通过提供彼此程序化隔离的多个逻辑数据库系统来分别支持多个不相关的客户端。
数据存储器110可以实现“存储器内”数据库,其中存储在易失性(例如,非基于磁盘的)存储器(例如,随机存取存储器)中的完整数据库。完整数据库可以被保存在和/或备份到固定盘(未示出)。实施例不限于存储器内实现。例如,数据可以被存储在随机存取存储器(例如,用于存储最近使用的数据的高速缓冲存储器)以及一个或多个固定盘(例如,用于存储其全部数据库的相应部分的永久存储器)中。
根据一些实施例,系统100可以位于本地。根据其他实施例,服务器130,DBMS 120和数据存储110位于异地(例如,在云中)。
DBMS 120服务于查询、检索、创建、修改(更新)和/或删除数据存储110的数据的请求,并且还施行管理和经营功能。这些功能可以包括快照和备份管理、索引、优化、垃圾收集和/或已知或变为已知的任何其他数据库功能。根据一些实施例,DBMS 120还可以提供诸如数据库过程和/或计算的应用逻辑。该应用逻辑可以包括脚本,功能库和/或编译的程序代码。
服务器130可以与DBMS120分离或紧密集成。紧密集成的服务器130可以使得能够在数据库平台上完全执行应用,而不需要附加服务器。例如,根据一些实施例,服务器130提供为基于Web的应用提供端对端支持的综合的一组嵌入式服务。这些服务可能包括轻量级的Web服务器、可配置的开放数据协议支持、服务器端JavaScript执行以及对SQL和SQLScript的访问。
如本文所述的用户界面的呈现可以包括用于渲染可视化的任何系统。例如,客户端140可以执行Web浏览器以经由HTTP、HTTPS和/或WebSocket从应用服务器130请求和接收网页(例如,以HTML格式),并且可以根据已知的协议来渲染和呈现网页。在另一示例中,应用可以包括用户界面组件和引擎组件。响应于用户交互,用户界面组件将JavaScript调用发送到引擎组件,并且引擎组件将对应的HTTP调用发送到服务器130。在响应中,引擎组件从服务器130接收XML、HTML和/或JavaScript,并向用户界面组件提供对应的HTML和自定义样式表(CSS)数据用于由此渲染。这样的实现可以允许数据交换和呈现而不需要重新加载整页。
图2包括根据一些实施例的过程200的流程图。在一些实施例中,系统100的各种硬件元素执行程序代码以施行过程200。本文提到的过程200和所有其他过程可体现在从一个或多个非临时性计算机可读介质(诸如软盘、CD-ROM、DVD-ROM、闪存驱动器和磁带)读取的计算机可执行程序代码中,然后以压缩的、未编译的和/或加密的格式存储。在一些实施例中,可以使用硬连线电路代替用于实现根据一些实施例的过程的程序代码或与其结合。实施例因此不限于硬件和软件的任何特定组合。
最初,在S210,接收显示包括一个或多个数据可视化的面板的请求。该请求可以从操作由在客户端系统(例如,台式计算机、平板电脑、移动电话)上执行的Web浏览器呈现的用户界面的用户接收。更具体地,用户界面可以作为由Web浏览器的执行引擎执行网页应用的结果来呈现。
如本文所使用的,面板包括包含一个或多个数据可视化(例如,图表、地图和表格、图形)的界面。面板可以包括附加的格式细节,包括但不限于图像、形状和文本。面板的各种元素可以重新定位,调整大小或移除。面板可以由若干页面组成,每个页面都包括如上所述的界面。
面板的元素可以在主题上相关,以便说明或识别在面板的可视化中呈现的数据背后的逻辑。对此,面板也可以被称为事件。
图3示出根据一些实施例的接收来自用户的显示面板的请求的界面300。实施例不限于界面300。界面300可以包括由服务器130响应于来自在客户端140上执行的Web浏览器应用的请求而提供的网页。任何客户端应用可以用于显示界面300,该界面300不限于基于网页的格式。
界面300包括邻近的事件区域320,其包括与保存的面板相关联的链接。将假定该链接在S210选择。接下来,在S220,执行第一执行线程以从远程数据源获取与面板相关联的数据文件。
图4示出根据一些实施例的示出过程200的系统400。如所示地,客户端应用442由客户端系统440执行,并在S210接收显示面板的请求。如本领域中已知的,所请求的面板的数据可视化基于度量、维度和过滤器。测量和维度由如本领域已知的定义数据436的结构的模型数据来定义。模型数据还可以定义层次、单位和货币,以及与度量和维度相关的公式。
服务器430包括数据可视化应用432和存储系统434。存储系统434存储若干面板,每个面板包括一个或多个相关联的数据可视化的定义。如所示地,每个面板还包括与其数据可视化相关的模型数据和查询。包括在面板中的查询是将要发出和执行的查询以填充面板的数据可视化。模型数据定义了将要运行这些查询的维度、度量等的模型、以及基于该查询的哪些结果集可以被解释。
因此,在S220获取与所请求面板相关联的数据文件包括获取数据文件,该数据文件包含面板的一个或多个数据可视化的定义、与面板相关联的模型数据以及与一个或多个数据可视化中的每一个相关联的多个查询。根据一些实施例,获取的数据文件可以被序列化(例如,转换成JavaScript对象表示)。根据一些实施例,这样的数据文件的示例在下面的附录A中提供。在该示例中,保存的模型数据被加下划线,并且相关查询以斜体表示。
获取数据文件的第一执行线程可以是客户端应用442的执行引擎(例如,Web浏览器的Java执行引擎)的主线程。返回到过程200,可以在S230执行一个或多个其他执行线程以发出所获取的数据文件的多个查询。一个或多个线程可以包括工作者线程,并且可以在主线程渲染面板的元素以向用户显示时发出查询。另外,在S230,一个或多个其他线程基于返回的查询结果和所获取的模型数据来构建结果,如本领域中已知的。
在S240,执行第一执行线程以基于结果渲染一个或多个数据可视化。在S250,显示所渲染的一个或多个数据可视化。图5示出包括被渲染的可视化Viz1、Viz2和Viz3的界面450。界面450可以在客户端系统440的显示设备上呈现。
根据一些实施例,在S230根据优先级队列算法发出查询。例如,客户端应用442可以一次允许一定数目(例如,六个)的开放网络请求。因此,在任何一次只有六个查询可以被发出和未完成(即,未答复)。因此,该算法将未答复的未完成查询的数量限制为六个,并且一旦未完成的查询被答复(即,接收到对该查询的响应),则将该响应传递给主执行线程,并且如果有任何查询待发出,则发出另一查询。下面的伪码示出根据一些实施例的算法的实现。
let handlePriorityQueue=function(){
for(var i=listenerQueue.length-1;i>=0;i--){
var queuedItem=listenerQueue[i];
if(typeof queuedItem==="function"){
//Max number of open network requests will be assumed as 6
//If we have an open slot left in browser’s network pipeline
if(openRequests<6){
//Remove from queue first to avoid infinite loop if query executionfails
listenerQueue.splice(i,1);
//Issue the query to the backend
queuedItem();
//Increment the outstanding request counter
openRequests++;
}
}else{
//It's not a query,it's the response from the backend,post it back tothe main thread
postMessage(queuedItem.response);
//Decrement the outstanding request counter so another query can befired to the backend
openRequests--;
//Remove the response from the priority queue
listenerQueue.splice(i,1);
}
}
};
图6是根据一些实施例的装置600的框图。装置600可以包括通用计算装置,并且可以施行程序代码以执行本文描述的任何功能。在一些实施例中,装置600可以包括图1的服务器130、DBMS 120和数据存储110的实现。根据一些实施例,装置600可以包括其他未示出的元素。
装置600包括可操作地耦合到通信装置620、数据存储设备630、一个或多个输入设备640、一个或多个输出设备650和存储器660的处理器610。通信设备620可以促进与外部设备的通信,诸如报告客户端或数据存储设备。(一个或多个)输入设备640可以包括例如键盘、小键盘、鼠标或其它指向设备、麦克风、旋钮或开关、红外(IR)端口、扩展坞和/或触摸屏。(一个或多个)输入设备640可以用于例如将信息输入到装置600中。(一个或多个)输出设备650可以包括例如显示器(例如,显示屏)、扬声器和/或打印机。
数据存储设备630可以包括任何合适的永久存储设备,包括磁存储设备(例如,磁带、硬盘驱动器和闪存)、光存储设备、只读存储器(ROM)设备等的组合,而存储器660可以包括随机存取存储器(RAM)、存储类存储器(SCM)或任何其他快速存取存储器。
数据可视化应用632可以包括由处理器610执行的程序代码,以使装置600施行本文描述的过程中的任何一个或多个。实施例不限于由单个装置执行这些处理。
根据一些实施例,面板634可以包括面板的布局、元素和数据可视化定义。面板查询635、模型数据636和数据638可以如上所述来实现。数据存储设备630还可以存储数据和其他程序代码,用于提供装置600的操作所必需的附加功能,诸如设备驱动程序、操作系统文件等。
前面的示图表示了根据一些实施例的用于描述过程的逻辑架构,并且实际实现可以包括以其他方式布置的更多或不同的组件。其他拓扑结构可以与其他实施例结合使用。此外,本文中所描述的每个组件或设备可以通过经由任何数量的其他公共和/或专用网络进行通信的任何数量的设备来实现。两个或更多个这样的计算设备可以彼此远离地定位并且可以经由任何已知的网络和/或专用连接彼此通信。每个组件或设备可以包括适合于提供在此描述的功能以及任何其他功能的任何数量的硬件和/或软件元素。例如,在根据一些实施例的系统的实现中使用的任何计算设备可以包括执行程序代码的处理器,使得计算设备如本文所述地操作。
本文讨论的所有系统和过程可以体现在存储在一个或多个非临时性计算机可读介质上的程序代码中。这样的介质可以包括例如软盘、CD-ROM、DVD-ROM、闪存驱动器、磁带以及固态随机存取存储器(RAM)或只读存储器(ROM)存储单元。因此实施例不限于硬件和软件的任何特定组合。
本文描述的实施例仅用于说明的目的。本领域的技术人员将认识到,可以对上述内容进行修改和变更来实践其他实施例。

Claims (18)

1.一种系统,包括:
显示器;
存储器,存储处理器可执行的过程步骤;以及
处理器,执行处理器可执行的过程步骤以:
接收显示包括一个或多个数据可视化的面板的请求;
从远程数据源获取与面板相关联的数据文件,所述数据文件包括一个或多个数据可视化中的每一个的定义、以及与所述一个或多个数据可视化相关联的模型数据和多个查询;
向远程数据源发出多个查询;
接收响应于多个查询的结果集;
基于所述结果集和所述模型数据构建结果;
基于所述结果渲染所述一个或多个数据可视化;以及
在显示器上呈现所述一个或多个数据可视化。
2.根据权利要求1所述的系统,其中,一个或多个可视化由主执行线程渲染,并且其中,由一个或多个工作者执行线程发出多个查询并且构建结果。
3.根据权利要求2所述的系统,其中,数据文件被序列化。
4.根据权利要求2所述的系统,其中,处理器执行处理器可执行的过程步骤以:
确定已经发出并且没有接收到结果集的查询的数量是否等于或小于阈值数量;
如果所述查询的数量小于阈值数量,则执行工作者执行线程以发出所述多个查询中的下一个查询;以及
如果所述查询的数量等于阈值数量:
确定是否已经接收到下一个结果集;以及
如果确定已经接收到下一个结果集,则执行工作者执行线程来发出所述多个查询中的下一个查询。
5.根据权利要求1所述的系统,其中,处理器执行处理器可执行的过程步骤以:
确定已经发出并且没有接收到结果集的查询的数量是否等于或小于阈值数量;
如果所述查询的数量小于阈值数量,则发出所述多个查询中的下一个查询;以及
如果所述查询的数量等于阈值数量:
确定是否已经接收到下一个结果集;以及
如果确定已经接收到下一个结果集,则发出所述多个查询中的下一个查询。
6.根据权利要求1所述的系统,其中,处理器执行处理器可执行的过程步骤以:
接收显示包括第二一个或多个数据可视化的第二面板的请求;
从远程数据源获取与第二面板相关联的第二数据文件,第二数据文件包括第二一个或多个数据可视化中的每一个的定义,以及与第二一个或多个数据可视化相关联的第二模型数据和第二多个查询;
向远程数据源发出第二多个查询;
接收响应于第二多个查询的第二结果集;
基于第二结果集和第二模型数据构建第二结果;
基于第二结果渲染第二一个或多个数据可视化;以及
在显示器上呈现第二一个或多个数据可视化。
7.一种计算机实现的方法,包括:
接收显示包括一个或多个数据可视化的面板的请求;
从远程数据源获取与面板相关联的数据文件,所述数据文件包括一个或多个数据可视化中的每一个的定义、以及与所述一个或多个数据可视化相关联的模型数据和多个查询;
向远程数据源发出多个查询;
接收响应于多个查询的结果集;
基于所述结果集和所述模型数据构建结果;
基于所述结果渲染所述一个或多个数据可视化;以及
在显示器上呈现所述一个或多个数据可视化。
8.根据权利要求7所述的方法,其中,一个或多个可视化由主执行线程渲染,并且其中,由一个或多个工作者执行线程发出多个查询并且构建结果。
9.根据权利要求8所述的方法,其中,数据文件被序列化。
10.根据权利要求8所述的方法,还包括:
确定已经发出并且没有接收到结果集的查询的数量是否等于或小于阈值数量;
如果所述查询的数量小于阈值数量,则执行工作者执行线程以发出所述多个查询中的下一个查询;以及
如果所述查询的数量等于阈值数量:
确定是否已经接收到下一个结果集;以及
如果确定已经接收到下一个结果集,则执行工作者执行线程来发出所述多个查询中的下一个查询。
11.根据权利要求7所述的方法,还包括:
确定已经发出并且没有接收到结果集的查询的数量是否等于或小于阈值数量;
如果所述查询的数量小于阈值数量,则发出所述多个查询中的下一个查询;以及
如果查询的数量等于阈值数量:
确定是否已经接收到下一个结果集;以及
如果确定已经接收到下一个结果集,则发出所述多个查询中的下一个查询。
12.根据权利要求7所述的方法,还包括:
接收显示包括第二一个或多个数据可视化的第二面板的请求;
从远程数据源获取与第二面板相关联的第二数据文件,第二数据文件包括第二一个或多个数据可视化中的每一个的定义,以及与第二一个或多个数据可视化相关联的第二模型数据和第二多个查询;
向远程数据源发出第二多个查询;
接收响应于第二多个查询的第二结果集;
基于第二结果集和第二模型数据构建第二结果;
基于第二结果渲染第二一个或多个数据可视化;以及
在显示器上呈现第二一个或多个数据可视化。
13.一种系统,包括:
服务器系统,包括存储器系统,所述存储器系统存储多个面板数据文件,所述多个面板数据文件中的每一个包括一个或多个数据可视化中的每一个的定义、以及与所述一个或多个数据可视化相关联的模型数据和多个查询;以及
客户端系统,包括:
显示器;以及
处理器,控制客户端系统以:
接收显示第一面板的请求;
发送对来自服务器系统的与第一面板相关联的第一面板数据文件的请求;
从服务器系统接收与第一面板相关联的第一面板数据文件;
向服务器系统发出第一面板数据文件的第一多个查询;
接收响应于第一多个查询的结果集;
基于第一面板文件的模型数据和结果集构建结果;
基于所述结果渲染一个或多个数据可视化;以及
在显示器上呈现一个或多个数据可视化。
14.根据权利要求13所述的系统,其中,一个或多个可视化由主执行线程渲染,并且其中,由一个或多个工作者执行线程发出第一多个查询并且构建结果。
15.根据权利要求14所述的系统,其中,数据文件被序列化。
16.根据权利要求14所述的系统,处理器进一步执行:
确定已经发出并且没有接收到结果集的查询的数量是否等于或小于阈值数量;
如果所述查询的数量小于阈值数量,则执行工作者执行线程以发出所述多个查询中的下一个查询;以及
如果所述查询的数量等于阈值数量:
确定是否已经接收到下一个结果集;以及
如果确定已经接收到下一个结果集,则执行工作者执行线程来发出所述多个查询中的下一个查询。
17.根据权利要求13所述的系统,处理器进一步:
确定已经发出并且没有接收到结果集的查询的数量是否等于或小于阈值数量;
如果所述查询的数量小于阈值数量,则发出所述多个查询中的下一个查询;以及
如果所述查询的数量等于阈值数量:
确定是否已经接收到下一个结果集;以及
如果确定已经接收到下一个结果集,则发出所述多个查询中的下一个查询。
18.根据权利要求13所述的系统,处理器进一步:
接收显示第二面板的请求;
发送对来自服务器系统的与第二面板相关联的第二面板数据文件的请求;
从服务器系统接收与第二面板相关联的第二面板数据文件;
向服务器系统发出第二面板数据文件的第二多个查询;
接收响应于第二多个查询的第二结果集;
基于第二面板文件的模型数据和第二结果集构建第二结果;
基于第二结果渲染第二一个或多个数据可视化;以及
在显示器上呈现第二一个或多个数据可视化。
CN201711399882.3A 2017-05-16 2017-12-22 工作者线程处理 Pending CN108874334A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201762506762P 2017-05-16 2017-05-16
US62/506,762 2017-05-16
US15/645,093 2017-07-10
US15/645,093 US11693822B2 (en) 2017-05-16 2017-07-10 Worker thread processing

Publications (1)

Publication Number Publication Date
CN108874334A true CN108874334A (zh) 2018-11-23

Family

ID=60953515

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711399882.3A Pending CN108874334A (zh) 2017-05-16 2017-12-22 工作者线程处理

Country Status (3)

Country Link
US (1) US11693822B2 (zh)
EP (1) EP3404557A1 (zh)
CN (1) CN108874334A (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10515093B2 (en) * 2015-11-30 2019-12-24 Tableau Software, Inc. Systems and methods for interactive visual analysis using a specialized virtual machine
US11222023B2 (en) * 2019-09-04 2022-01-11 Business Objects Software Ltd. Virtual widget container
US11790008B2 (en) * 2019-09-12 2023-10-17 Business Objects Software Ltd. Persisted queries and batch streaming

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004259247A (ja) * 2002-06-21 2004-09-16 Mitsubishi Electric Research Laboratories Inc マルチユーザコラボラティブ円形グラフィカルユーザインタフェース
US20100185961A1 (en) * 2009-01-20 2010-07-22 Microsoft Corporation Flexible visualization for services
US20100211895A1 (en) * 2009-02-13 2010-08-19 Pragnesh Mistry Method for visualization and integration of business intelligence data
US20100251240A1 (en) * 2009-03-25 2010-09-30 Microsoft Corporation Adaptable management in sync engines
US20100306275A1 (en) * 2009-05-26 2010-12-02 Computer Associates Think, Inc. Configuration management visualization
US20130042190A1 (en) * 2011-05-02 2013-02-14 Dundas Data Visualization, Inc. Systems and methods for remote dashboard image generation
CN105210063A (zh) * 2013-05-06 2015-12-30 微软技术许可有限责任公司 为数据可视化推荐基于上下文的动作

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7363369B2 (en) * 2003-10-16 2008-04-22 International Business Machines Corporation Monitoring thread usage to dynamically control a thread pool
US20140089297A1 (en) * 2008-06-20 2014-03-27 New BIS Safe Luxco S.á r.l. System and method for analysing data from multiple perspectives
US9171330B2 (en) * 2011-12-30 2015-10-27 Jonathan L. Woods Transparency data analysis and reporting
US10515093B2 (en) * 2015-11-30 2019-12-24 Tableau Software, Inc. Systems and methods for interactive visual analysis using a specialized virtual machine

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004259247A (ja) * 2002-06-21 2004-09-16 Mitsubishi Electric Research Laboratories Inc マルチユーザコラボラティブ円形グラフィカルユーザインタフェース
US20100185961A1 (en) * 2009-01-20 2010-07-22 Microsoft Corporation Flexible visualization for services
US20100211895A1 (en) * 2009-02-13 2010-08-19 Pragnesh Mistry Method for visualization and integration of business intelligence data
US20100251240A1 (en) * 2009-03-25 2010-09-30 Microsoft Corporation Adaptable management in sync engines
US20100306275A1 (en) * 2009-05-26 2010-12-02 Computer Associates Think, Inc. Configuration management visualization
US20130042190A1 (en) * 2011-05-02 2013-02-14 Dundas Data Visualization, Inc. Systems and methods for remote dashboard image generation
CN105210063A (zh) * 2013-05-06 2015-12-30 微软技术许可有限责任公司 为数据可视化推荐基于上下文的动作

Also Published As

Publication number Publication date
US20180336214A1 (en) 2018-11-22
EP3404557A1 (en) 2018-11-21
US11693822B2 (en) 2023-07-04

Similar Documents

Publication Publication Date Title
CN105531698B (zh) 用于批量和实时数据处理的设备、系统和方法
US20190303382A1 (en) Distributed database systems and methods with pluggable storage engines
US9710526B2 (en) Data set preview technology
US20180039399A1 (en) Interactive user interface for dynamically updating data and data analysis and query processing
US8458157B2 (en) System and method of filtering search results
CN104699742B (zh) 使能扩展大型数据集的极端可视化的方法、系统和产品
US20140330821A1 (en) Recommending context based actions for data visualizations
US8150879B2 (en) Building custom dimension trees
US9183267B2 (en) Linked databases
US20170357708A1 (en) Apparatus and method for processing multi-dimensional queries in a shared nothing system through tree reduction
US8463807B2 (en) Augmented search suggest
CN108874334A (zh) 工作者线程处理
WO2019005403A1 (en) OPTIMIZATION OF INTERROGATION USING DISTINCTION OF PROPAGATED DATA
US11790008B2 (en) Persisted queries and batch streaming
US10776368B1 (en) Deriving cardinality values from approximate quantile summaries
JP2022547519A (ja) マルチファクトデータセットのデータ視覚化を生成するための適切な測度集計の活用
TW201445341A (zh) 基於範圍選取的搜索系統及方法
US20120197870A1 (en) Transforming entity and relation data using a proxy engine
US11003634B2 (en) Dynamic linked multi-layered business object configurations
CN111104408A (zh) 基于地图数据的数据交换方法、装置及存储介质
US10311049B2 (en) Pattern-based query result enhancement
US9811931B2 (en) Recommendations for creation of visualizations
US11080903B2 (en) Visualization with conditional characteristic
US11163781B2 (en) Extended storage of text analysis source tables
US20190171749A1 (en) Data integration framework for multiple data providers using service url

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