CN103688250A - 使用动态方案来优化数据处理 - Google Patents

使用动态方案来优化数据处理 Download PDF

Info

Publication number
CN103688250A
CN103688250A CN201280034189.5A CN201280034189A CN103688250A CN 103688250 A CN103688250 A CN 103688250A CN 201280034189 A CN201280034189 A CN 201280034189A CN 103688250 A CN103688250 A CN 103688250A
Authority
CN
China
Prior art keywords
data
agglomerate
feed
server
scale
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.)
Granted
Application number
CN201280034189.5A
Other languages
English (en)
Other versions
CN103688250B (zh
Inventor
I·塔拉诺弗
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of CN103688250A publication Critical patent/CN103688250A/zh
Application granted granted Critical
Publication of CN103688250B publication Critical patent/CN103688250B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/25Integrating or interfacing systems involving database management systems
    • G06F16/258Data format conversion from or to a database
    • 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/21Design, administration or maintenance of databases
    • G06F16/211Schema design and management
    • 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/22Indexing; Data structures therefor; Storage structures
    • G06F16/2219Large Object storage; Management thereof
    • 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/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30181Instruction operation extension or modification
    • G06F9/30192Instruction operation extension or modification according to data descriptor, e.g. dynamic data typing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

一种计算机系统访问馈送数据行并且将所接收的馈送数据转换为二进制团块数据的部分。该计算机系统还将该二进制团块数据发送至数据库服务器,该数据库服务器被配置为访问与包括动态服务器声明的馈送相关联的元数据以确定如何将该二进制团块数据转换为具有团块列的服务器表,该团块列被配置为存储馈送数据行。该数据库服务器访问属于特定馈送的馈送数据并且执行动态服务器声明来在该服务器的存储器内表中创建关系数据集。第二动态声明应用在该元数据中指示的数据处理条件。当馈送数据行与条件匹配时,该计算机系统将馈送数据行信息放入警告表,该警告表包括对具有团块数据的团块表的引用,由此触发警告。

Description

使用动态方案来优化数据处理
背景
计算机已变得高度集成于工作、家庭、移动设备以及许多其他地方中。计算机可快速且有效地处理大量信息。被设计成在计算机系统上运行的软件应用允许用户执行包括商业应用、学校作业、娱乐等等在内的各种各样的功能。软件应用通常被设计成执行特定的任务,诸如用于草拟文档的文字处理器应用或者用于发送、接收和组织电子邮件的电子邮件程序。
在许多情况下,软件应用被设计为与其他软件应用或其他计算机系统交互。例如,应用可与数据库通信以存储数据。这些数据库可接收数据并且根据预定义的静态数据方案来存储并处理数据。这些数据方案专用于每种类型的数据,并且在给定数据库实现中仅可使用特定数量的静态预定义方案。
概述
本文描述的实施例涉及使用动态方案来高效地将数据上传到数据库并使用动态方案来高效地处理数据。在一个实施例中,计算机系统访问馈送数据行。所述馈送数据包括长度固定及变化的数据字段。该计算机系统将所接收的馈送数据转换为二进制团块数据(blob data)的部分。该二进制团块数据被分配在代表馈送行的固定大小数据部分中。长度变化的馈送字段由固定大小的字段和对包括实际的大小变化的馈送数据的该团块数据中的引用二者来代表,该固定大小的字段具有该馈送字段的长度。该计算机系统还将该二进制团块数据发送到数据库服务器。该数据库服务器被配置为访问与馈送相关联的元数据。元数据包含动态服务器声明,以用于确定如何将该二进制团块数据转换为具有被配置为存储馈送数据行的团块列的服务器表。
在另一实施例中,数据库服务器从应用服务器接收二进制团块数据的各部分。该数据库服务器执行动态服务器声明来将该二进制团块数据存储到数据库表中。该动态服务器声明被存储在与该馈送相关联的元数据内。该数据库服务器通过用实际的馈送数据取代大小变化的引用来从该二进制团块数据还原馈送数据,同时将该馈送数据保持为二进制格式。该数据库服务器还将所还原的馈送数据存储在该数据库表中、团块数据列中。每个馈送数据行产生该数据库表中的一个相应行中的一个二进制团块值。
在又一实施例中,数据库服务器访问属于特定馈送的馈送数据并且执行动态服务器声明来在该服务器的存储期内表(in-memory table)中从馈送数据创建具有数据类型字段的关系数据集。该动态服务器声明被存储在与该馈送相关联的元数据内。随后数据库服务器向该数据馈送应用第二动态服务器声明,该第二服务器声明应用在该元数据中指示的数据处理条件。而且,在确定一个或多个馈送数据行与该数据处理条件匹配以后,该数据库服务器将关于匹配的数据行的馈送数据行信息放入警告表中,该警告表包括对具有包含该馈送数据的团块列的表的引用,由此触发警告。
提供本概述是为了以简化的形式介绍将在以下详细描述中进一步描述的选择的概念。本概述不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。
将在以下的描述中阐述另外的特征和优点,并且部分特征和优点可从该描述中显而易见,或者可从本文教导的实践中获知。本发明的特征和优点可以通过在所附权利要求中特别指出的手段和组合来实现并获取。本发明的特征将从以下描述和所附权利要求书中变得完全显而易见,或者可通过如下所述对本发明的实践而获知。
附图说明
为了进一步阐明本发明的各实施例的以上和其他优点和特征,将参考附图来呈现本发明的各实施例的更具体的描述。可以理解,这些附图只描绘本发明的典型实施例,因此将不被认为是对其范围的限制。本发明将通过使用附图用附加特征和细节来描述和解释,附图中:
图1示出本发明的实施例可在其中操作(包括使用动态方案将数据高效地上传到数据库)的系统体系结构。
图2示出用于使用动态方案来将数据高效地上传到数据库的示例方法的应用服务器侧流程图。
图3示出用于使用动态方案来将数据高效地上传到数据库的示例方法的数据库服务器侧流程图。
图4示出用于使用动态方案来高效地处理数据的示例方法的数据库服务器侧流程图。
图5示出用于使用动态方案来高效地处理数据的动态服务器声明的数据库服务器侧示例应用。
详细描述
本文描述的实施例涉及使用动态方案来高效地将数据上传到数据库并使用动态方案来高效地处理数据。在一个实施例中,计算机系统访问多行馈送数据。所述馈送数据包括长度固定及变化的数据字段。该计算机系统将所接收的馈送数据转换为二进制团块数据(blob data)的部分。该二进制团块数据被分配在代表馈送行的固定大小数据部分中。长度变化的字段由固定大小的字段和对包括实际的大小变化的馈送数据的该团块数据中的引用二者来代表,该固定大小的字段具有该馈送字段的长度。该计算机系统还将该二进制团块数据发送到数据库服务器。该数据库服务器被配置为访问与馈送相关联的元数据。元数据包含动态服务器声明,以用于确定如何将该二进制团块数据转换为具有被配置为存储馈送数据行的团块(BLOB)列的服务器表。
在另一实施例中,数据库服务器从应用服务器接收二进制团块数据的各部分。该数据库服务器执行动态服务器声明来将该二进制团块数据存储到数据库表中。该动态服务器声明被存储在与该团块数据的原始馈送相关联的元数据内。该数据库服务器通过用实际的馈送数据取代大小变化的引用来从该二进制团块数据还原馈送数据,同时将该馈送数据保持为二进制格式。该数据库服务器还将所还原的馈送数据存储在该数据库表中、团块数据列中。每个馈送数据行产生该数据库表中的一个相应行中的一个二进制团块值。
在又一实施例中,数据库服务器访问属于特定馈送的馈送数据并且执行动态服务器声明来从馈送数据在该服务器的存储器内表(in-memory table)中创建具有数据类型字段的关系数据集。该动态服务器声明被存储在与该馈送相关联的元数据内。该数据库服务器向该数据馈送应用第二动态服务器声明,该第二服务器声明应用在该元数据中指示的数据处理条件。该动态服务器声明被存储在与该馈送相关联的元数据内。而且,在确定一个或多个馈送数据行与该数据处理条件匹配时,该计算机系统将关于匹配的数据行的馈送数据行信息放入警告表中,该警告表包括对具有包含该馈送数据的团块列的表的引用,由此触发警告。
以下讨论现涉及可以执行的多种方法以及方法动作。应当注意,虽然这些方法动作可能是按一定次序讨论的,或者是在流程图中被描绘为是按照特定顺序进行的,然而并非必然需要特定的次序,除非是特别声明的或者是因为一个动作依赖于在执行该动作之前完成另一动作而需要的。
本发明的各实施例可包括或利用专用或通用计算机,该专用或通用计算机包括诸如举例而言一个或多个处理器和系统存储器的计算机硬件,如以下更详细讨论的。本发明范围内的各实施例还包括用于承载或存储计算机可执行指令和/或数据结构的物理和其他计算机可读介质。这样的计算机可读介质可以是可由通用或专用计算机系统访问的任何可用介质。以数据形式存储有计算机可执行指令的计算机可读介质是计算机存储介质。承载计算机可执行指令的计算机可读介质是传输介质。由此,作为示例而非限制,本发明的各实施例可包括至少两种显著不同的计算机可读介质:计算机存储介质和传输介质。
计算机存储介质包括RAM、ROM、EEPROM、CD-ROM、基于RAM、闪存、相变存储器(PCM),或其它类型的存储器的固态驱动器(SSD),或者其他光盘存储、磁盘存储或其他磁存储设备,或可用于以计算机可执行指令、数据或数据结构形式存储所期望的程序代码装置且可被通用或专用计算机访问的任何其他介质。
“网络”被定义成允许在计算机系统和/或模块和/或其他电子设备之间传输电子数据的一个或多个数据链路和/或数据交换机。当信息通过网络(硬连线、无线、或者硬连线或无线的组合)被传输或提供给计算机时,该计算机将该连接适当地视为传输介质。传输介质可以包括如下的网络:所述网络可以用于运送计算机可执行指令形式或数据结构形式的数据或所期望的程序代码装置,并且可以被通用或专用计算机访问。上述的组合也应被包括在计算机可读介质的范围内。
此外,在到达各种计算机系统组件之后,计算机可执行指令或数据结构形式的程序代码资料可从传输介质自动传输到计算机存储介质(或反之亦然)。例如,通过网络或数据链路接收到的计算机可执行指令或数据结构可被缓冲在网络接口模块(例如,网络接口卡或“NIC”)内的RAM中,然后最终被传输给计算机系统RAM和/或计算机系统处的较不易失性的计算机存储介质。因而,应当理解,计算机存储介质可被包括在还利用(或甚至主要利用)传输介质的计算机系统组件中。
计算机可执行(或计算机可解释)的指令包括例如致使通用计算机、专用计算机、或专用处理设备执行某个功能或某组功能的指令。计算机可执行指令例如可以是二进制代码、诸如汇编语言之类的中间格式指令或者甚至是源代码。尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述特征或动作。更具体而言,上述特征和动作是作为实现权利要求的示例形式而公开的。
本领域的技术人员将理解,本发明可以在具有许多类型的计算机系统配置的网络计算环境中实践,这些计算机系统配置包括个人计算机、台式计算机、膝上型计算机、消息处理器、手持式设备、多处理器系统、基于微处理器的或可编程消费电子设备、网络PC、小型计算机、大型计算机、移动电话、PDA、寻呼机、路由器、交换机等等。本发明还可在分布式系统环境中实践,在该环境中本地和远程计算机系统通过网络(经由硬连线数据链路、无线数据链路、或者经由硬连线和无线数据链路的组合)链接起来,每个计算机系统都执行任务(例如,云计算、云服务等)。在分布式系统环境中,程序模块可以位于本地和远程存储器存储设备二者中。
图1示出了其中可采用本发明的原理的计算机体系结构100。系统体系结构100包括应用服务器系统105和数据库服务器125。这些计算机系统可以是任何类型的本地或分布式计算机系统。将联系这些计算机系统来描述各实施例。例如,将全部描述与用动态方案来进行数据的高效批量上传、用动态方案来进行数据的高效处理、以及用动态方案来进行数据的紧致存储有关的实施例。
例如,可提供一种方法,该方法允许通过不管使用的特定方案如何均应用相同的上传方法来用任意方案上传大量数据。应用服务器系统105从任意馈送101读取数据并将其封装为二进制格式(团块)116,如图1中所描述的。该格式允许用具有固定长度的行来代表可能具有变化大小的字段的馈送数据。大小变化的字段是用大小固定的字段数据长度以及对该团块中的第二部分中的引用来代表的,该第二部分包含实际的大小变化的数据。
为了可缩放性之目的,根据各种规范来将大的馈送数据切割为块(例如,行的数量小于10000或者块的大小小于10MB等等)。可在单个来回中将每个块上传到数据库服务器125。该数据库服务器读取数据并将其存储在数据存储140中的表中。由于为每个注册的馈送所存储的元数据,该数据库服务器知晓该数据方案。元数据包括动态服务器声明,该数据库服务器在读取和存储数据时可动态地执行该动态服务器声明。该数据库服务器侧通过用实际数据取代大小改变的引用来还原馈送数据行,但是仍将所有数据保持为二进制格式。作为结果,该馈送数据被存储在数据库表中的团块列141中,其中每个馈送行产生该表中的相应行中的一个团块值。应当注意,对于一个馈送数据读取会话内的相同字段,具有变化的数据大小的字段的字段数据可以在大小上不同。
关于用动态方案来高效处理数据,在处理数据时,数据服务器125构建并执行各种动态服务器声明,如在图5中所示。各动态声明的部分也是从馈送元数据中取得的。该动态声明可被配置为执行以下动作:重新格式化进入的馈送团块数据116以用数据库表中的团块列中的一个二进制值来代表一行数据、从数据库表中读取属于特定馈送读取会话的馈送数据140、使用具有来自该元数据的定义的各服务器命令来创建存储器内数据库服务器关系表、以及应用一个或多个数据处理条件,所述数据处理条件也是从该元数据取得的。对于满足该数据条件的行,该服务器侧在另一数据库表中创建引用,该引用指向包含该二进制馈送数据的原始数据库表。
关于用动态方案对数据进行紧致存储,该数据库服务器125可提供紧致高效数据存储,其大小紧密得就像该馈送数据被存储在静态表上一样。此结果可以在该馈送数据仅以二进制格式存储时实现。该元数据针对每馈送注册被存储并且因此它的大小处于同一量级(即,就像静态数据库表时那样)。该系统还允许通过对每个馈送行团块值求散列来检测后续馈送读取会话之间的数据变化。该数据库服务器使用数据变化检测机制来避免存储重复数据。下面,分别针对图2、3和4的方法200、300和400,更详细地解释这些概念中的每一个。
考虑到以上描述的系统和体系结构,参考图2和图3的流程图将更好地理解根据所公开的主题实现的方法。为了说明简明起见,这些方法被示出和描述为一系列框。然而,应该理解和了解,所要求保护的主题不受框的次序的限制,因为一些框可按不同的次序进行和/或与此处所描绘和描述的其他框同时进行。此外,并非全部所示的框都是实现下面所述的方法所必需的。
图2示出使用动态方案来将数据高效地上传到数据库的方法200的流程图。现在将频繁参考环境100的组件和数据来描述方法200。
方法200包括以下动作:访问一行或多行馈送数据,该馈送数据包括长度固定及变化的一个或多个数据字段(动作210)例如,数据访问模块110可以访问馈送数据101。馈送数据101包括多个不同的行的数据,包括行1(104A)、行2(104B)如此直到行N(104N)。要理解,馈送数据110中可包括基本上任何数量的行。该数据可包括大小固定的字段102或大小可变的字段103。任何给定馈送行数据可仅包括大小固定的字段、仅包括大小可变的字段、或者包括两者的组合。该馈送数据由各可扩展标记语言(XML)文件来表示,该XML文件包括每个字段的定义,包括该字段的数据类型以及数据长度。此字段定义可被数据转换模块115用来使用动态方案将该馈送数据转换为二进制团块数据116。
方法200包括以下动作:将所接收的馈送数据转换为二进制团块数据的一个或多个部分,其中所述二进制团块数据被分配在代表馈送行的大小固定的数据部分中,并且其中长度变化的字段由大小固定的字段和对包括实际的大小变化的馈送数据的团块数据的引用二者来表示(动作220)。例如,数据转换模块115可将所接收的馈送数据111转换为团块数据116的各部分。该二进制团块数据可包括两个不同的部分。第一部分117包括每一行的大小固定的二进制表示,而第二部分118包含大小变化的字段的数据。该第一部分可包含针对大小改变的字段的该第二部分的引用。
在一些情况下,在单个来回中将代表多个馈送行的二进制团块数据发送至数据库服务器125。从而,可在单个来回中将所有团块数据发送到该数据库,而不是要更新的每个行或每个表均需要一个来回。可使用同一技术来转换数据并将数据上传到数据库服务器,而不管特定馈送数据的方案和大小如何。而且,对于一个馈送数据读取会话内的相同字段,具有变化的数据大小的字段的字段数据的各部分可以在大小上不同。从而,在任何给定数据读取处,对于同一字段,大小可变的字段数据可能在大小上不同,从而允许在将数据存储在数据库表数据时的很大的灵活性。
方法200包括以下动作:将该二进制团块数据发送至数据库服务器,该数据库服务器被配置为访问与动态服务器声明相关联的元数据以确定如何将该二进制团块数据转换为具有团块列的服务器表,该团块列被配置为存储馈送数据行(动作230)。例如,应用服务器系统105可向数据库服务器125发送二进制团块数据116。数据库服务器访问元数据120,该元数据包括动态服务器声明。该元数据向该服务器指示该二进制团块数据将如何被转换为具有团块列141的服务器表,该团块列141被配置为存储馈送数据101的行。动态服务器声明121的执行(例如,由模块135执行)随后转换该数据并将该数据存储在数据存储140中。
在一些情况下,应用服务器可进一步确定该二进制团块数据116被分割为数据块。在单个来回中将每个数据块上传到数据库服务器125。该应用服务器确定该二进制团块数据分割要基于一个或多个条件来进行。该条件可包括以下任意一个或多个:该二进制团块数据中的行的数量以及该二进制团块数据中的数据大小。如果所述条件中的一个或多个条件出现(例如,该团块数据具有特定数量的行,或者数据大小足够大),则将基于出现的条件按预定方式分割该数据。而且,生成馈送数据的数据库服务器呈现,其中馈送数据101中的每个馈送行在数据库表中由具有单一团块列的一个行来表示,该团块列包含馈送行二进制数据(例如,数据存储140中的团块列141)。
图3示出使用动态方案来将数据高效地上传到数据库的方法300的流程图。现在将频繁地分别参照图1和图5的环境100和500的组件和数据来描述方法300。
方法300包括以下动作:在数据库服务器处从应用服务器接收二进制团块数据的一个或多个部分(动作310)。例如,数据接收模块130可接收二进制团块数据116。该二进制团块数据可包括大小固定的二进制表示117以及大小变化的数据字段118。
方法300包括以下动作:执行动态服务器声明以将该二进制团块数据存储在数据库表中,其中该动态服务器声明被存储在与该原始馈送相关联的元数据内(动作320)。例如,可使用同一技术来转换馈送二进制数据并将其存储在数据库表的团块列中,而不管特定馈送数据方案如何。以此方式,可避免静态方案的使用,因为所使用的方案(或动态服务器声明)是动态的。而且,因为团块数据基本完全在存储器(memory)内处理,所以数据处理以高效的方式执行。
方法300还包括以下动作:通过用实际的馈送数据取代大小变化的引用来从该二进制团块数据还原一个或多个馈送数据行,同时将该馈送数据保持为二进制格式(动作330)。例如,数据库服务器125通过用馈送数据101取代不同大小的引用来从该二进制团块数据还原馈送数据行136,同时将该数据保持为二进制格式。将该数据以二进制格式维护允许该数据库服务器以高效方式处理该团块数据。
方法300还包括以下动作:将被还原的馈送数据存储在数据库表中、团块数据列中,其中每个馈送数据行产生在该数据库表中的一个相应行中的一个二进制团块值(动作340)。例如,数据库服务器125可将被还原的馈送数据行136存储在数据存储140中、团块列141中。
图4示出使用动态方案来高效地处理数据的方法400的流程图。现在将频繁地分别参照图1和图5的环境100和500的组件和数据来描述方法400。
方法400包括以下动作:访问属于特定馈送的馈送数据(动作410)。该数据库服务器随后执行动态服务器声明510来从馈送数据在该服务器的存储器内表515中创建具有数据类型字段的关系数据集。该动态服务器声明被存储在与该馈送数据相关联的元数据120内(动作420)。在该服务器的存储器内处理该馈送数据,从而不需要对应的静态表,有助于处理效率。
方法400还包括以下动作:向该馈送数据应用第二动态服务器声明520,其应用在该元数据120中指示的各数据处理条件。该动态服务器声明被存储在与该馈送相关联的元数据内(动作430)。随后,在确定数据库表500中的一个或多个馈送数据行与数据处理条件相匹配后,关于匹配的数据行的馈送数据行信息被放入警告表中,该警告表包括对在团块列中具有馈送团块数据的原始数据库表的引用,由此触发警告(动作440)。放入警告表中的项从而自动向已订阅以接收警告521的用户525发出那些警告。从而,可在多个不同的用户可指定条件中的任何一个发生后,可通知该用户。而且,从原始数据库表引用馈送团块数据避免了复制数据的存储以及馈送字段的静态表示的使用。
相应地,提供了使用动态服务器声明将数据高效地上传到数据库的方法、系统和计算机程序产品。而且,提供了使用动态服务器声明高效地处理并存储数据的方法、系统和计算机程序产品。这样的上传、处理和存储可导致更高效的数据管理系统。
本发明可具体化为其它具体形式而不背离其精神或本质特征。所描述的实施例在所有方面都应被认为仅是说明性而非限制性的。因此,本发明的范围由所附权利要求书而非前述描述指示。落入权利要求书的等效方案的含义和范围内的所有改变应被权利要求书的范围所涵盖。

Claims (10)

1.一种在包括多个计算系统的计算机联网环境中在包括至少一个处理器和存储器的计算机系统处用于使用动态方案将数据高效地上传到数据库的计算机实现的方法,所述方法包括:
访问一行或多行馈送数据的动作,所述馈送数据包括长度固定及变化的一个或多个数据字段;
将所接收的馈送数据转换为二进制团块数据的一个或多个部分的动作,其中所述二进制团块数据被分配在代表馈送行的大小固定的数据部分中,并且其中长度变化的字段由大小固定的字段和对包括实际的大小变化的馈送数据的所述团块数据的引用二者来表示;以及
将所述二进制团块数据发送至数据库服务器的动作,所述数据库服务器被配置为访问包括动态服务器声明的元数据以确定如何将所述二进制团块数据转换为具有团块列的服务器表,所述团块列被配置为存储馈送数据行。
2.如权利要求1所述的方法,其特征在于,在单个来回中将代表多个馈送行的所述二进制团块数据发送至所述服务器。
3.如权利要求1所述的方法,其特征在于,还包括以下动作:确定所述二进制团块数据要被分割为一个或多个数据块,并且其中响应于所述确定,将所述二进制团块数据分解为多个数据块。
4.如权利要求1所述的方法,其特征在于,还包括准备所述馈送数据的数据库服务器呈现,其中馈送数据表中的每个馈送行由具有带有馈送行二进制团块数据的单个团块列的单个行来表示。
5.如权利要求1所述的方法,其特征在于,其中对于一馈送数据读取会话内的同一字段,具有变化的数据大小的字段的字段数据的一个或多个部分在大小上是不同的。
6.一种用于实现用于使用动态方案将数据高效地上传到数据库的方法的计算机程序产品,所述计算机程序产品包括其上存储有计算机可执行指令的一个或多个计算机可读存储介质,所述计算机可执行指令在被计算系统的一个或多个处理器执行时使得所述计算系统执行所述方法,所述方法包括:
在数据库服务器处从应用服务器接收二进制团块数据的一个或多个部分的动作;
执行动态服务器声明以将所述二进制团块数据存储在数据库表中的动作,其中所述动态服务器声明被存储在与原始馈送相关联的元数据内;
通过用实际的馈送数据取代大小变化的引用来从所述二进制团块数据还原一个或多个馈送数据行,同时将所述馈送数据保持为二进制格式的动作;以及
将被还原的馈送数据存储在所述数据库表中、团块数据列中的动作,其中每个馈送数据行产生在所述数据库表中的一个相应行中的一个二进制团块值。
7.如权利要求6所述的计算机程序产品,其特征在于,还包括以下动作:访问所述原始馈送中所包括的元数据以确定对于所述馈送数据是否存在数据处理条件。
8.如权利要求6所述的计算机程序产品,其特征在于,还包括以下动作:在确定对于所述馈送数据存在一个或多个数据处理条件后,在分开的数据库服务器表中为满足所述数据条件的每个数据行创建引用。
9.一种计算机系统,包括以下:
一个或多个处理器;
系统存储器;
其上存储有计算机可执行指令的一个或多个计算机可读存储介质,所述计算机可执行指令在被所述一个或多个处理器执行时致使所述计算系统执行一种用于使用动态方案来高效地处理数据的方法,所述方法包括:
访问属于特定馈送的馈送数据的动作;
执行动态服务器声明以从所述馈送数据在所述服务器的存储器内表中创建具有数据类型字段的关系数据集的动作,其中所述动态服务器声明存储在与所述馈送相关联的元数据内;
向所述数据馈送应用第二动态服务器声明的动作,所述第二动态服务器声明应用在所述元数据中指示的一个或多个数据处理条件,其中所述动态服务器声明存储在与所述馈送相关联的元数据内;以及
在确定一个或多个馈送数据行与所述数据处理条件匹配以后,将关于匹配的数据行的馈送数据行信息放入警告表中的动作,所述警告表包括对具有团块数据的原始团块表的引用,由此触发警告。
10.如权利要求9所述的系统,其特征在于,所述警告表包括对具有二进制馈送数据而不是所述馈送字段的静态表示的数据库表的引用。
CN201280034189.5A 2011-07-11 2012-07-11 使用动态方案来优化数据处理 Active CN103688250B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/180,131 2011-07-11
US13/180,131 US8458203B2 (en) 2011-07-11 2011-07-11 Optimizing data processing using dynamic schemas
PCT/US2012/046328 WO2013009925A2 (en) 2011-07-11 2012-07-11 Optimizing data processing using dynamic schemas

Publications (2)

Publication Number Publication Date
CN103688250A true CN103688250A (zh) 2014-03-26
CN103688250B CN103688250B (zh) 2016-10-26

Family

ID=47506905

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280034189.5A Active CN103688250B (zh) 2011-07-11 2012-07-11 使用动态方案来优化数据处理

Country Status (4)

Country Link
US (3) US8458203B2 (zh)
EP (1) EP2732377B1 (zh)
CN (1) CN103688250B (zh)
WO (1) WO2013009925A2 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105607923A (zh) * 2015-12-10 2016-05-25 中国航空工业集团公司西安航空计算技术研究所 一种跨平台的航空电子系统配置数据生成与恢复方法
CN109213772A (zh) * 2018-09-12 2019-01-15 华东师范大学 数据存储方法及NVMe存储系统
CN111667542A (zh) * 2019-03-08 2020-09-15 辉达公司 适用于人工神经网络的用于处理压缩数据的解压缩技术

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8458203B2 (en) 2011-07-11 2013-06-04 Microsoft Corporation Optimizing data processing using dynamic schemas
US9430655B1 (en) * 2012-12-28 2016-08-30 Emc Corporation Split tokenization
US10255320B1 (en) 2014-01-27 2019-04-09 Microstrategy Incorporated Search integration
US11386085B2 (en) 2014-01-27 2022-07-12 Microstrategy Incorporated Deriving metrics from queries
US9952894B1 (en) 2014-01-27 2018-04-24 Microstrategy Incorporated Parallel query processing
US10095759B1 (en) 2014-01-27 2018-10-09 Microstrategy Incorporated Data engine integration and data refinement
US11921715B2 (en) 2014-01-27 2024-03-05 Microstrategy Incorporated Search integration
US20180044872A1 (en) * 2015-03-09 2018-02-15 Noble Drilling Services Inc. Jackup drilling unit having material storage in jacking legs
GB201600849D0 (en) * 2016-01-18 2016-03-02 Taranis Visual Ltd Method of storing and accessing data
US10688901B2 (en) * 2016-03-23 2020-06-23 Bomag Gmbh Intermediate storage vehicle for milled material and work train
US11282091B2 (en) 2016-09-30 2022-03-22 Transitiv, Inc. Systems, methods, and devices for dynamic page feed management
US10846318B1 (en) 2017-04-18 2020-11-24 Microstrategy Incorporated Natural language visualizations
US10432737B2 (en) 2017-10-12 2019-10-01 Engine Media, Llc Geopartitioned data caching
US10063632B1 (en) * 2017-12-22 2018-08-28 Engine Media, Llc Low-latency high-throughput scalable data caching
US10713232B2 (en) * 2018-04-16 2020-07-14 Computational Systems, Inc. Efficient data processing
US11195050B2 (en) 2019-02-05 2021-12-07 Microstrategy Incorporated Machine learning to generate and evaluate visualizations
CN110659282B (zh) * 2019-08-14 2023-09-15 中国平安财产保险股份有限公司 数据路由的构建方法、装置、计算机设备和存储介质
CN112559228A (zh) * 2019-09-25 2021-03-26 北京国双科技有限公司 数据检测方法和装置、存储介质及电子设备
US11614970B2 (en) 2019-12-06 2023-03-28 Microstrategy Incorporated High-throughput parallel data transmission
US11567965B2 (en) 2020-01-23 2023-01-31 Microstrategy Incorporated Enhanced preparation and integration of data sets
US11294919B2 (en) 2020-03-09 2022-04-05 Bank Of America Corporation Trihybrid data movement, data governance and data provenance system
US11422855B2 (en) 2020-04-27 2022-08-23 Bank Of America Corporation Data set subscription tracking and termination system
US11080072B1 (en) 2020-04-27 2021-08-03 Bank Of America Corporation Custom user interface for a trihybrid data movement, data governance and data provenance system
US11868746B2 (en) * 2021-09-02 2024-01-09 Kinaxis Inc. System and method for transition of static schema to dynamic schema

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6418446B1 (en) * 1999-03-01 2002-07-09 International Business Machines Corporation Method for grouping of dynamic schema data using XML
US20040210445A1 (en) * 2001-04-05 2004-10-21 Luca Veronese Method and system for specifying and implementing business applications
US20040267843A1 (en) * 2003-06-26 2004-12-30 International Business Machines Corporation Replication of binary large object data
CN101027879A (zh) * 2004-10-01 2007-08-29 诺基亚公司 共享信息馈送数据
US20090234880A1 (en) * 2008-03-14 2009-09-17 Microsoft Corporation Remote storage and management of binary object data

Family Cites Families (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1995003586A1 (en) 1993-07-21 1995-02-02 Persistence Software, Inc. Method and apparatus for generation of code for mapping relational data to objects
US5717924A (en) 1995-07-07 1998-02-10 Wall Data Incorporated Method and apparatus for modifying existing relational database schemas to reflect changes made in a corresponding object model
US5717919A (en) 1995-10-02 1998-02-10 Sybase, Inc. Database system with methods for appending data records by partitioning an object into multiple page chains
US6067568A (en) 1996-12-10 2000-05-23 International Business Machines Corporation Automatic setup of services for computer system users
US5907844A (en) 1997-03-20 1999-05-25 Oracle Corporation Dynamic external control of rule-based decision making through user rule inheritance for database performance optimization
US5937409A (en) 1997-07-25 1999-08-10 Oracle Corporation Integrating relational databases in an object oriented environment
US6192380B1 (en) 1998-03-31 2001-02-20 Intel Corporation Automatic web based form fill-in
US6226635B1 (en) 1998-08-14 2001-05-01 Microsoft Corporation Layered query management
US6615219B1 (en) * 1999-12-29 2003-09-02 Unisys Corporation Database management system and method for databases having large objects
US6934712B2 (en) 2000-03-21 2005-08-23 International Business Machines Corporation Tagging XML query results over relational DBMSs
US20020049831A1 (en) 2000-09-01 2002-04-25 Lifefiles.Com,Inc. System for generating a web document
US6597775B2 (en) * 2000-09-29 2003-07-22 Fair Isaac Corporation Self-learning real-time prioritization of telecommunication fraud control actions
US7027997B1 (en) 2000-11-02 2006-04-11 Verizon Laboratories Inc. Flexible web-based interface for workflow management systems
US6999956B2 (en) 2000-11-16 2006-02-14 Ward Mullins Dynamic object-driven database manipulation and mapping system
US20020087346A1 (en) 2000-11-28 2002-07-04 Harkey Scott T. Utilization of competencies as drivers in a learning network
US6850941B1 (en) 2000-12-21 2005-02-01 Vignette Corporation Method and system for native-byte form handling
US6973410B2 (en) 2001-05-15 2005-12-06 Chillergy Systems, Llc Method and system for evaluating the efficiency of an air conditioning apparatus
US6553371B2 (en) 2001-09-20 2003-04-22 International Business Machines Corporation Method and system for specifying and displaying table joins in relational database queries
US6836777B2 (en) 2001-11-15 2004-12-28 Ncr Corporation System and method for constructing generic analytical database applications
US7669116B2 (en) 2002-03-26 2010-02-23 Accenture Global Services, Gmbh Single access point for filing of converted electronic forms to multiple processing entities
AU2002953555A0 (en) 2002-12-23 2003-01-16 Canon Kabushiki Kaisha Method for presenting hierarchical data
US20040148272A1 (en) * 2003-01-29 2004-07-29 Raman Balan Sethu Logical pathname as a reference mechanism for data
US20040237045A1 (en) 2003-05-21 2004-11-25 Eintelligence, Inc. Method for asynchronous sharing of integrated spreadsheets using a network
US20040243555A1 (en) 2003-05-30 2004-12-02 Oracle International Corp. Methods and systems for optimizing queries through dynamic and autonomous database schema analysis
US7185272B2 (en) 2003-07-30 2007-02-27 William M Pearce Method for automatically filling in web forms
US7284017B2 (en) * 2003-12-29 2007-10-16 Storage Technology Corporation Data migration system and method
US7395502B2 (en) 2004-01-29 2008-07-01 International Business Machines Corporation System and method for processing dynamic data sets in web applications
US7660779B2 (en) 2004-05-12 2010-02-09 Microsoft Corporation Intelligent autofill
US7849412B2 (en) 2004-05-21 2010-12-07 Computer Associates Think, Inc. System and method for generating a web control in a Windows development environment
EP1603035A3 (en) 2004-06-03 2008-03-05 MDL Information Systems, Inc. Methods and apparatus for visual application design
US20060085451A1 (en) 2004-10-15 2006-04-20 Microsoft Corporation Mapping of schema data into data structures
US7926027B2 (en) 2004-10-19 2011-04-12 Microsoft Corporation Binding to business objects and web services
US7831629B2 (en) 2006-01-06 2010-11-09 Microsoft Corporation Method for building data encapsulation layers for highly variable schema
US7698258B2 (en) * 2006-06-02 2010-04-13 Microsoft Corporation Searchable storage system
US7882142B2 (en) 2006-06-05 2011-02-01 International Business Machines Corporation Dynamic optimized datastore generation and modification for process models
US7624114B2 (en) 2006-06-05 2009-11-24 Microsoft Corporation Automatically generating web forms from database schema
US7552130B2 (en) 2006-10-17 2009-06-23 International Business Machines Corporation Optimal data storage and access for clustered data in a relational database
US8239368B2 (en) * 2007-08-29 2012-08-07 International Business Machines Corporation Apparatus, system, and method for executing a distributed spatial data query
US8171014B2 (en) * 2007-08-29 2012-05-01 International Business Machines Corporation Apparatus, system, and method for executing a distributed spatial data query
US8266151B2 (en) * 2009-10-30 2012-09-11 Oracle International Corporationn Efficient XML tree indexing structure over XML content
US8868508B2 (en) * 2010-02-09 2014-10-21 Google Inc. Storage of data in a distributed storage system
US8458203B2 (en) 2011-07-11 2013-06-04 Microsoft Corporation Optimizing data processing using dynamic schemas

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6418446B1 (en) * 1999-03-01 2002-07-09 International Business Machines Corporation Method for grouping of dynamic schema data using XML
US20040210445A1 (en) * 2001-04-05 2004-10-21 Luca Veronese Method and system for specifying and implementing business applications
US20040267843A1 (en) * 2003-06-26 2004-12-30 International Business Machines Corporation Replication of binary large object data
CN101027879A (zh) * 2004-10-01 2007-08-29 诺基亚公司 共享信息馈送数据
US20090234880A1 (en) * 2008-03-14 2009-09-17 Microsoft Corporation Remote storage and management of binary object data

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105607923A (zh) * 2015-12-10 2016-05-25 中国航空工业集团公司西安航空计算技术研究所 一种跨平台的航空电子系统配置数据生成与恢复方法
CN109213772A (zh) * 2018-09-12 2019-01-15 华东师范大学 数据存储方法及NVMe存储系统
CN109213772B (zh) * 2018-09-12 2021-03-26 华东师范大学 数据存储方法及NVMe存储系统
CN111667542A (zh) * 2019-03-08 2020-09-15 辉达公司 适用于人工神经网络的用于处理压缩数据的解压缩技术
CN111667542B (zh) * 2019-03-08 2023-06-20 辉达公司 适用于人工神经网络的用于处理压缩数据的解压缩技术

Also Published As

Publication number Publication date
US9218403B2 (en) 2015-12-22
US9817877B2 (en) 2017-11-14
US20130246446A1 (en) 2013-09-19
US20160055223A1 (en) 2016-02-25
US20130018903A1 (en) 2013-01-17
WO2013009925A2 (en) 2013-01-17
EP2732377A4 (en) 2015-10-28
EP2732377A2 (en) 2014-05-21
US8458203B2 (en) 2013-06-04
CN103688250B (zh) 2016-10-26
WO2013009925A3 (en) 2013-04-04
EP2732377B1 (en) 2018-10-03

Similar Documents

Publication Publication Date Title
CN103688250A (zh) 使用动态方案来优化数据处理
CN109684352B (zh) 数据分析系统、方法、存储介质及电子设备
CN107908672B (zh) 基于Hadoop平台的应用报表实现方法、设备及存储介质
CN108681569B (zh) 一种数据自动分析系统及其方法
US20150178342A1 (en) User-defined loading of data onto a database
WO2011092203A1 (en) System and method for building a cloud aware massive data analytics solution background
US9870411B2 (en) Managing data ingestion
US20120150877A1 (en) Efficient database compression
CN110175209A (zh) 增量数据同步方法、系统、设备及存储介质
CN103020235A (zh) 自治网络流传输
JP2021111352A (ja) コンピュータプログラム、データアーカイブ方法、記憶媒体およびコンピュータ装置
CN112988741A (zh) 实时业务数据合并方法、装置及电子设备
CN112948486A (zh) 批量数据同步方法、系统及电子设备
Abdul et al. Geospatial Hadoop (GS-Hadoop) an efficient mapreduce based engine for distributed processing of shapefiles
Al-Khasawneh et al. MapReduce a comprehensive review
CN109937405B (zh) 用于发送大数据集的高级重试机制
CN111078723A (zh) 一种区块链浏览器的数据处理方法及装置
CN112506887A (zh) 车辆终端can总线数据处理方法及装置
CN115982133A (zh) 数据处理方法及装置
CN116069462A (zh) 一种大数据dag任务流调度方法、系统及存储介质
US8538907B2 (en) Autonomous intelligent content items
CN112416865A (zh) 基于大数据的文件处理方法和装置
CN104216914A (zh) 大容量数据传输
US8214846B1 (en) Method and system for threshold management
US11720548B1 (en) Shadow data lakes

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150729

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150729

Address after: Washington State

Applicant after: Micro soft technique license Co., Ltd

Address before: Washington State

Applicant before: Microsoft Corp.

C14 Grant of patent or utility model
GR01 Patent grant