CN111259201A - 一种数据维护方法和系统 - Google Patents
一种数据维护方法和系统 Download PDFInfo
- Publication number
- CN111259201A CN111259201A CN201811467277.XA CN201811467277A CN111259201A CN 111259201 A CN111259201 A CN 111259201A CN 201811467277 A CN201811467277 A CN 201811467277A CN 111259201 A CN111259201 A CN 111259201A
- Authority
- CN
- China
- Prior art keywords
- information
- information object
- database table
- data
- information item
- 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
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例公开了一种数据维护方法,包括:将至少一条记录的至少一个信息项组合为结构型信息对象;将所述结构型信息对象存储在数据库表中;所述结构型信息对象为将至少一个信息项按照一定规则组合在一起。本申请采用数据串结构的形式处理结构型信息对象,可以避免临时性数据在无效时仍占用数据库表的存储空间。
Description
技术领域
本申请涉及数据库领域,特别涉及一种数据维护方法和系统。
背景技术
数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,数据库表是常见的一种数据库类型。数据库表在实际使用中经常需要对其进行管理和维护。对于一些字段较多的数据库表(如宽表),在实际使用中若没有合理的维护机制,有可能造成大量的数据冗余。
发明内容
本申请实施例之一提供一种数据维护方法,包括:将至少一条记录的至少一个信息项组合为结构型信息对象;将所述结构型信息对象存储在数据库表中;所述结构型信息对象为将至少一个信息项按照一定规则组合在一起。
在一些实施例中,所述将所述结构型信息对象存储在数据库表中包括:将所述结构型信息对象以JSON数据串或XML数据串形式存储在数据库表中。
在一些实施例中,所述结构型信息对象包括临时性信息项和/或非共有信息项;其中,所述临时性信息项是指在数据库表中存储时间小于某设定时间阈值的信息项;所述非共有信息项是指在数据库表中非所有记录均具有的信息项。
在一些实施例中,所述方法还包括:将所述至少一条记录的结构型信息对象按照一定策略分为至少两组;将分组后的结构型信息对象以JSON数据串或XML数据串的形式存储在所述数据库表中的不同字段中。
在一些实施例中,将所述至少一条记录的结构型信息对象按照一定策略分为至少两组进一步包括:将所述至少一条记录的结构型信息对象按照信息项内容分为至少两组;或者,将所述至少一条记录的结构型信息对象按照访问频率分为至少两组。
在一些实施例中,所述方法还包括:确定所述至少一条记录的结构型信息对象中访问频率大于某设定频率阈值的至少一个信息项,将所述至少一个信息项的内容拼接为字符串并将其作为所述至少一条记录的索引字符串;将所述至少一条记录的索引字符串存储在所述数据库表中。
本申请实施例之一提供一种数据维护系统,其特征在于,包括信息对象组合模块、和信息对象存储模块,其中,所述信息对象组合模块用于将至少一条记录的至少一个信息项组合为结构型信息对象;所述信息对象存储模块用于将所述结构型信息对象存储在数据库表中;所述结构型信息对象为将至少一个信息项按照一定规则组合在一起。
在一些实施例中,所述信息对象存储模块还用于将所述结构型信息对象以JSON数据串或XML数据串的形式存储在数据库表中。
在一些实施例中,所述结构型信息对象包括临时性信息项和/或非共有信息项;所述临时性信息项是指在数据库表中存储时间小于某设定时间阈值的信息项;所述非共有信息项是指在数据库表中并非所有记录均具有的信息项。
在一些实施例中,所述系统还包括信息对象分组模块,其中,所述信息对象分组模块用于将所述至少一条记录的结构型信息对象按照一定策略分为至少两组;所述信息对象存储模块还用于将分组后的结构型信息对象以JSON数据串或XML数据串的形式存储在数据库表的不同字段中。
在一些实施例中,所述信息对象分组模块进一步用于:将所述至少一条记录的结构型信息对象按照信息项内容分为至少两组;或者,将所述至少一条记录的结构型信息对象按照访问频率分为至少两组。
在一些实施例中,所述系统还包括索引串确定模块和索引串存储模块,其中,所述索引串确定模块用于确定所述至少一条记录的结构型信息对象中访问频率大于某设定频率阈值的至少一个信息项,将所述至少一个信息项的内容拼接为字符串并将其作为所述至少一条记录的索引字符串;所述索引串存储模块用于将所述至少一条记录的索引字符串存储在所述数据库表中。
本申请实施例之一提供一种数据维护装置,包括处理器,其特征在于,所述处理器用于执行所述数据维护方法。
本申请实施例之一提供一种计算机可读存储介质,所述存储介质存储计算机指令,当计算机读取存储介质中的计算机指令后,计算机执行所述数据维护方法。
本申请实施例之一提供一种数据维护方法,其特征在于,包括:将至少一条记录的至少一个信息项存储在第一数据库表中;将所述至少一条记录的至少一个信息项组成结构型信息对象;将所述结构型信息对象存储在第二数据库表中;其中,所述第一数据库表中包括信息对象指针,所述信息对象指针反映所述结构型信息对象在第二数据库表中的存储地址;所述结构型信息对象为将至少一个信息项按照一定规则组合在一起。
本申请实施例之一提供数据维护系统,其特征在于,包括信息项存储模块、信息对象组合模块和信息对象存储模块,其中,所述信息项存储模块用于将至少一条记录的至少一个信息项存储在第一数据库表中;所述信息对象组合模块用于将所述至少一条记录的至少一个信息项组成结构型信息对象;所述信息对象存储模块用于将所述结构型信息对象存储在第二数据库表中;其中,所述第一数据库表中包括信息对象指针,所述信息对象指针反映所述结构型信息对象在第二数据库表中的存储地址;所述结构型信息对象为将至少一个信息项按照一定规则组合在一起。
本申请实施例之一提供一种数据维护装置,包括处理器,其特征在于,所述处理器用于执行所述数据维护方法。
本申请实施例之一提供一种计算机可读存储介质,所述存储介质存储计算机指令,当计算机读取存储介质中的计算机指令后,计算机执行所述数据维护方法。
附图说明
本申请将以示例性实施例的方式进一步描述,这些示例性实施例将通过附图进行详细描述。这些实施例并非限制性的,在这些实施例中,相同的编号表示相同的结构,其中:
图1是根据本申请一些实施例所示的数据维护系统的应用场景示意图;
图2是根据本申请一些实施例所示的一种示例性计算设备200的示意图;
图3是根据本申请一些实施例所示的移动设备300的示例性硬件和/或软件的示意图;
图4是根据本申请一些实施例所示的数据维护系统的模块图;
图5是根据本申请一些实施例所示的数据维护方法的示例性流程图;
图6是根据本申请一些实施例所示的数据维护方法的示例性流程图;
图7是根据本申请一些实施例所示的结构型信息对象分组及存储的示例性流程图;
图8是根据本申请一些实施例所示的确定及存储索引字符串的示例性流程图。
具体实施方式
为了更清楚地说明本申请实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本申请的一些示例或实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图将本申请应用于其他类似情景。除非从语言环境中显而易见或另做说明,图中相同标号代表相同结构或操作。
应当理解,本文使用的“系统”、“装置”、“单元”和/或“模组”系用于区分不同级别的不同组件、元件、部件、部分或装配的一种方法。然而,如果其他词语可实现相同的目的,则可通过其他表达来替换所述词语。
如本申请和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其他的步骤或元素。
本申请中使用了流程图用来说明根据本申请的实施例的系统所执行的操作。应当理解的是,前面或下面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各种步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。
图1所示为根据本申请一些实施例所示的数据维护系统的应用场景示意图。在一些实施例中,数据维护系统100可以是为交通运输提供服务的平台,或是用于提供线上-线下服务的服务平台等。例如,数据维护系统100可以是网约车服务平台、外卖服务平台、网络购物平台、网络金融平台、游戏平台等一种或多种的组合。在一些实施例中,数据维护系统100可以包括服务器110、服务请求端120、存储设备130、服务提供端140、网络150和信息源160。服务器110可以包括处理引擎112。
在一些实施例中,服务器110可以是单个的服务器或者服务器群组。服务器群可以是集中式的或分布式的(例如,服务器110可以是分布式的系统)。在一些实施例中,服务器110可以是本地的或远程的。例如,服务器110可以通过网络150访问存储在存储设备130、服务请求端120和/或服务提供端140中的信息和/或数据。再例如,服务器110可以直接连接到存储设备130、服务请求端120和/或服务提供端140以访问存储的信息和/或数据。在一些实施例中,服务器110可以在云平台上实现。例如,云平台可以包括私有云、公共云、混合云、社区云、分布云、多重云等一种或多种的任意组合。在一些实施例中,服务器110可以在与本申请图2或图3所示的计算设备上实现。例如,服务器110可以在如图2所示的一个计算设备200上实现,包括计算设备200中的一个或多个部件。再例如,服务器110可以在如图3所示的一个移动设备300上实现,包括计算设备300中的一个或多个部件。
在一些实施例中,服务器110可以包括处理引擎112。处理引擎112可以处理与服务请求相关的信息和/或数据以执行本申请描述的一个或多个功能。例如,处理引擎112可以获取及存储记录的信息项和/或由信息项组成的信息对象。在一些实施例中,处理引擎112可以包括一个或多个处理器(例如,单核处理器或多核处理器)。仅仅作为举例,处理引擎112可以包括一个或多个硬件处理器,例如中央处理器(CPU)、专用集成电路(ASIC)、专用指令集处理器(ASIP)、图像处理器(GPU)、物理运算处理器(PPU)、数字信号处理器(DSP)、现场可编辑门阵列(FPGA)、可编辑逻辑器件(PLD)、控制器、微控制器单元、精简指令集计算机(RISC)、微处理器等一种或多种的任意组合。
服务请求端120和服务提供端140可以统称为用户,它可以是任何与数据存取业务相关的个人、工具或实体。在一些实施例中,服务请求端120和服务提供端140可以是服务的请求者与提供服务者。例如,服务请求端120的用户可以是乘客;服务提供端140的用户可以是司机。在一些实施例中,服务请求端120的用户还可以包括但不限于消费者、买家、储蓄用户、游戏玩家等一种或多种的组合。在一些实施例中,服务提供端140的用户还可以包括但不限于商家、卖家、店家、厂家、服务机构等一种或多种的组合。在一些实施例中,服务请求端120可以包括但不限于台式电脑120-1、笔记本电脑120-2,车载内置设备120-3、移动设备120-4等一种或多种的任意组合。服务请求端120可以在线发送服务请求。例如,服务请求端120可以基于当前所在位置及目的地发送网约车订单。在一些实施例中,车载内置设备120-3可以包括但不限于个车载电脑、车载抬头显示(HUD)、车载自动诊断系统(OBD)等或其任意组合。在一些实施例中,移动设备120-4可以包括但不限于智能手机、个人数码助理(Personal Digital Assistance,PDA)、平板电脑、掌上游戏机、智能眼镜、智能手表、可穿戴设备、虚拟显示设备、显示增强设备等或其任意组合。在一些实施例中,服务请求端120可以将服务订单信息发送至按需服务系统100中的一个或多个设备中。例如,服务请求端120可以将服务订单信息发送至服务器110进行处理。服务提供端140也可以包括上述类似的设备中的一种或多种。
存储设备130可以存储数据和/或指令。在一些实施例中,存储设备130可以存储从服务请求端120和/或服务提供端140获得的数据。在一些实施例中,存储设备130可以存储供服务器110执行或使用的数据和/或指令,服务器110可以通过执行或使用所述数据和/或指令以实现本申请描述的示例性方法。在一些实施例中,存储设备130可以包括大容量存储器、可移动存储器、挥发性读写存储器、只读存储器(ROM)等或上述举例的任意组合。示例性的大容量存储器可以包括磁盘、光盘、固态硬盘等。示例性的可移动存储器可以包括闪存盘、软盘、光盘、记忆卡、压缩硬盘、磁带等。示例性的挥发性只读存储器可以包括随机存储器(RAM)。示例性的随机存储器可以包括动态随机存储器(DRAM)、双数据率同步动态随机存储器(DDRSDRAM)、静态随机存储器(SRAM)、可控硅随机存储器(T-RAM)和零电容存储器(Z-RAM)等。示例性的只读存储器可以包括掩蔽型只读存储器(MROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、压缩硬盘只读存储器(CD-ROM)和数字多功能硬盘只读存储器等。在一些实施例中,存储设备130可以在一个云平台上实现。仅仅作为举例,所述云平台可以包括私有云、公共云、混合云、社区云、分布云、多重云等一种或多种的任意组合。
在一些实施例中,存储设备130可以与网络150连接以实现与按需服务系统100中的一个或多个部件(例如,服务器110、服务请求端120、服务提供端140等)之间的通信。按需服务系统100的一个或多个部件可以通过网络150访问存储在存储设备130中的数据或指令。在一些实施例中,存储设备130可以直接与按需服务系统100的一个或多个部件(例如,服务器110、服务请求端120、服务提供端140等)连接或通信。在一些实施例中,存储设备130可以是服务器110的一部分。
网络150可以促进信息和/或数据的交换。在一些实施例中,按需服务系统100中的一个或多个部件(例如,服务器110、存储设备130、服务请求端120和服务提供端140等)可以通过网络150向按需服务100中的其他部件发送信息和/或数据。例如,服务器110可以通过网络150从服务请求端120和/或服务提供端140获取/得到请求。在一些实施例中,网络150可以是有线网络或无线网络中的任意一种,或其组合。例如,网络150可以包括电缆网络、有线网络、光纤网络、远程通信网络、内联网、互联网、局域网(LAN)、广域网(WAN)、无线局域网(WLAN)、城域网(MAN)、公共开关电话网络(PSTN)、蓝牙网络、ZigBee网络、近场通讯(NFC)网络等一种或多种的任意组合。在一些实施例中,网络130可以包括一个或多个网络接入点。例如,网络150可能包括有线或无线网络接入点,如基站和/或互联网交换点150-1、150-2等等。通过接入点,按需服务系统100的一个或多个部件可以连接到网络150以交换数据和/或信息。
信息源160是为按需服务系统100提供其他信息的一个源。信息源160可以用于为系统提供与服务相关的信息,例如,天气情况、交通信息、法律法规信息、新闻信息、生活资讯、生活指南信息等。信息源160可以是一个单独的中央服务器的形式存在,也可以是以多个通过网络连接的服务器的形式存在,还可以是以大量的个人设备形式存在。当信息源150以大量个人设备形式存在时,这些设备可以通过一种用户生成内容(user-generatedcontents)的方式,例如向云端服务器上传文字、语音、图像、视频等,从而使云端服务器连同与其连接的众多个人设备一起组成信息源160。
图2是根据本申请一些实施例所示的一种示例性计算设备200的示意图。服务器110、服务请求端120、存储设备130和/或服务提供端140可以在计算设备200上实现。例如,处理引擎112可以在计算设备200上实现并被配置为实现本申请所披露的功能和/或方法。
计算设备200可以包括用来实现本申请所描述的系统的任意部件。例如,处理引擎112可以在计算设备200上通过其硬件、软件程序、固件或其组合实现。为了方便起见图中仅绘制了一台计算机,但是本申请所描述的与数据维护系统100相关的计算功能可以以分布的方式、由一组相似的平台所实施,以分散系统的处理负荷。
计算设备200可以包括与网络连接的通信端口250,用于实现数据通信。计算设备200可以包括处理器(例如,CPU)220,可以以一个或多个处理器的形式执行程序指令。示例性的计算设备200可以包括内部总线210、不同形式的程序存储器和数据存储器。例如,硬盘270、只读存储器(ROM)230或随机存储器(RAM)240,用于存储由计算机处理和/或传输的各类数据文件。示例性的计算设备可以包括存储在只读存储器230、随机存储器240和/或其他类型的非暂时性存储介质中的由处理器220执行的程序指令。本申请的方法和/或流程可以以程序指令的方式实现。计算设备200也包括输入/输出部件260,用于支持电脑与其他部件之间的输入/输出。计算设备200也可以通过网络通讯接收本申请中的程序和数据。
为理解方便,图2中仅示例性绘制了一个处理器。然而,需要注意的是,本申请中的计算设备200可以包括多个处理器,因此本申请中描述的由一个处理器实现的操作和/或方法也可以共同地或独立地由多个处理器实现。例如,如果在本申请中,计算设备200的处理器执行步骤1和步骤2,应当理解的是,步骤1和步骤2也可以由计算设备200的两个不同的处理器共同地或独立地执行(例如,第一处理器执行步骤1,第二处理器执行步骤2;或者第一和第二处理器共同地执行步骤1和步骤2)。
图3是根据本申请一些实施例所示的移动设备300的示例性硬件和/或软件的示意图。服务请求端120和/或服务提供端140可以在移动设备300上实现。如图3所示,移动设备300可以包括通信单元310、显示单元320、图形处理器330、处理器340、输入/输出单元350、内存360和存储单元390。移动设备300中还可以包括总线或者控制器。在一些实施例中,移动操作系统370和一个或多个应用程序380可以从存储单元390加载到内存360中,并由处理器340执行。在一些实施例中,应用程序380可以接收和显示与处理引擎112有关的图像处理或其他信息的信息。输入/输出单元350可以实现用户与数据维护系统100的交互,并将交互相关信息通过网络150提供给数据维护系统100中的其他部件,如服务器110。
为了实现本申请中描述的各种模块、单元及其功能,计算机硬件平台可以用作这里提到的一个或多个元件的硬件平台。一个拥有用户界面元件的计算机可以用于实现个人计算机(PC)或者其它任何形式的工作站或终端设备。通过合适的编程,一个计算机也可以充当一台服务器。
图4所示为根据本申请一些实施例所示的数据维护系统的模块图。如图4所示,该数据维护系统(例如处理引擎112)可以包括信息项存储模块410、信息对象组合模块420、信息对象存储模块430、信息对象分组模块440、索引串确定模块450和索引串存储模块460。
信息项存储模块410可以用于处理信息项。例如,信息项存储模块410可以用于将至少一条记录的至少一个信息项存储在数据库表(如第一数据库表)中。又例如,信息项存储模块410可以将至少一条记录或至少一条记录的至少一个信息项从数据库表中删除。再例如,信息项存储模块410可以将至少一条记录的至少一个信息项存储在第一数据库表中。
信息对象组合模块420可以用于对信息项进行组合从而获得结构型信息对象。例如,信息对象组合模块420可以将至少一条记录的至少一个信息项组成结构型信息对象。
信息对象存储模块430可以用于处理结构型信息对象。例如,信息对象存储模块430可以将至少一条记录的结构型信息对象以数据串结构的形式存储在预留字段中。例如,信息对象存储模块430可以将结构型信息对象中信息项的名称存储到数据串结构(如JSON数据串)的key中,并将结构型信息对象中信息项的相应数据存储到数据串结构的value中。在一些实施例中,信息对象存储模块430还可以对数据串结构的内容进行修改、删除等操作。在一些实施例中,信息对象存储模块430可以将分组后的结构型信息对象以数据串结构的形式存储在不同的预留字段中。
信息对象分组模块440可以用于对结构型信息对象进行分组操作。例如,信息对象分组模块440可以将记录的结构型信息对象按照一定策略分为两组或多组。在一些实施例中,信息对象分组模块440可以将结构型信息对象按照信息项内容分为两组或多组。在一些实施例中,信息对象分组模块440可以将结构型信息对象按照访问频率分为两组或多组。在一些实施例中,信息对象分组模块440也可以根据其他规则对结构型信息对象进行分组。例如,信息对象分组模块440可以根据结构型信息对象中各信息项的存储时间进行分组(如将存储时间相近的分为一组)。又例如,信息对象分组模块440可以根据结构型信息对象中各信息项的覆盖情况进行分组。
索引串确定模块450可以用于确定索引字符串的相关操作。例如,索引串确定模块450可以确定至少一条记录的结构型信息对象中访问频率大于某频率阈值的一个或多个信息项。索引串确定模块450还可以将所确定的访问频率大于该频率阈值的一个或多个信息项的内容拼接为该至少一条记录的索引字符串。
索引串存储模块460可以用于处理索引字符串。例如,索引串存储模块460可以将至少一条记录的索引字符串存储在数据库表中。又例如,索引串存储模块460可以将重新确定后的索引字符串替代原索引字符串。
应当理解,图4所示的系统及其模块可以利用各种方式来实现。例如,在一些实施例中,系统及其模块可以通过硬件、软件或者软件和硬件的结合来实现。其中,硬件部分可以利用专用逻辑来实现;软件部分则可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域技术人员可以理解上述的方法和系统可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本申请的系统及其模块不仅可以有诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用例如由各种类型的处理器所执行的软件实现,还可以由上述硬件电路和软件的结合(例如,固件)来实现。
需要注意的是,以上对于数据维护系统及其模块的描述,仅为描述方便,并不能把本申请限制在所举实施例范围之内。可以理解,对于本领域的技术人员来说,在了解该系统的原理后,可能在不背离这一原理的情况下,对各个模块进行任意组合,或者构成子系统与其他模块连接。例如,在一些实施例中,信息对象组合模块420、信息对象存储模块430、信息对象分组模块440可以是一个系统中的不同模块,也可以是一个模块实现上述的两个或两个以上模块的功能。例如,信息对象组合模块420、信息对象存储模块430、信息对象分组模块440可以是一个模块(如信息对象处理模块)同时具有获取、存储和分组功能。例如,各个模块可以共用一个存储模块,各个模块也可以分别具有各自的存储模块。诸如此类的变形,均在本申请的保护范围之内。
图5所示为根据本申请一些实施例所示的数据维护方法的示例性流程图。如图5所示,数据维护方法500可以包括:
步骤510,将至少一条记录的至少一个信息项组合成结构型信息对象。具体的,步骤510可以由信息对象组合模块420执行。
在一些实施例中,一条记录可以表示某具体的人或事物的相关信息。仅仅作为示例,一条记录可以表示一名用户(如司机、乘客等)的部分或所有相关信息。用户的相关信息可以包括但不限于姓名、昵称、性别、国籍、年龄、联系方式(电话号码、手机号码、社交账号信息(例如微信号、QQ号和Linkedin等)等可以联系到本人的方式等)、职业、评价等级、使用时间、驾龄、车龄、车型、车况、车牌号、驾驶证号、认证情况、用户习惯/喜好、使用次数、注册时间、登录次数、累计消费等一种或多种的任意组合。在一些实施例中,每条记录可以包括多个信息项,用户的每个相关信息可以对应于每条记录中的一个信息项。
数据库是按照数据结构来组织、存储和管理数据的仓库,数据库表是常见的一种数据库类型。数据库表是一系列二维数组的集合,用来代表和储存数据对象之间的关系。数据库表一般由纵向的列和横向的行组成。例如,在一个有关用户信息的数据库表中,每列包含的可以是所有用户的某一具体相关信息(例如姓名、年龄、性别等);而每行包含的可以是某一特定用户的部分或所有相关信息。在本实施例中,一条记录可以对应于数据库表中的一行;一个字段可以对应于数据库表中的一列。在一些实施例中,一个字段中可以包含一个或多个信息项。在一些实施例中,本申请所涉及的数据库表可以是宽表,该宽表一般代表的是字段比较多的数据库表。
在一些实施例中,可以将至少一名用户的一项或多项相关信息存储(如写入、录入)在数据库表的相应字段中。在一些实施例中,用户的相关信息可以是由处理引擎112通过网络150从服务请求端120和/或服务提供端140获取的信息。例如,处理引擎112可以通过网络150获取乘客和/或司机通过终端注册和/或使用服务的过程中所填写的信息和/或所产生的数据。在一些实施例中,乘客和/或司机可以对其发送给处理引擎112的信息和/或数据进行选择。在一些实施例中,用户的相关信息可以是由处理引擎112从存储设备130获得的信息。例如,处理引擎112可以从存储设备中获得历史订单记录,并从历史订单记录中提取用户的相关信息(如累计使用次数、累计使用时间等)。在一些实施例中,可以将至少一条记录或至少一条记录的至少一个信息项从数据库表中删除。
在一些实施例中,可以按照一定规则将一个或多个相同或不同类型的信息项组合成一个结构型信息对象,具体的,本步骤可以由信息对象组合模块执行。在一些实施例中,可以按照结构体的语法规则将一个或多个信息项进行组合,也可以按照数组的语法规则将一个或多个信息项进行组合,还可以按照JSON数据串、XML数据串等一种或多种的语法规则将一个或多个信息项进行组合。JSON(全称为JavaScript Object Notation)是一种轻量级的数据交换格式。JSON采用完全独立于语言的文本格式,易于开发人员的阅读和编写,同时也易于机器解析和生成,是一种较理想的数据交换语言。在一些实施例中,JSON数据串可以包括任何通过JSON表示的数据类型。例如,JSON数据串可以包括字符串、数字、对象、数组等。在一些实施例中,JSON数据串可以包括一个或多个键值对,每个键值对可以包括key和value两个属性值;其中,key是一个字符串,用于标识键值对的名称,value为对应的数值。例如,key可以为“过去一个月使用网约车服务的次数”;value可以为某用户在过去一个月使用网约车服务次数的统计值(如“10”、“25”等)。XML(全称为Extensible MarkupLanguage),可扩展标记语言,是一种用于标记电子文件使其具有结构性的标记语言。XML使用一系列简单的标记描述数据,而这些标记可以用方便的方式建立,虽然XML占用的空间比二进制数据要占用更多的空间,但XML极其简单易于掌握和使用。本申请实施例主要以数据串结构中的JSON数据串为例进行说明,但值得注意的是,JSON数据串也可以被替换为其他数据串结构(如XML数据串),本申请对此不作限制。
在一些实施例中,数据库表中可以包括用于存储数据串结构的预留字段。例如,可以在数据库表中预留一列或多列(即预留字段)用于存储数据串结构。在一些实施例中,在数据库表中预留用于存储数据串结构的预留字段可以由人为设定实现,也可以由处理引擎112处理实现。例如,在建立数据库表时便可以人为在数据库表中指定用于存储数据串结构的预留字段。又例如,处理引擎112可以根据一定的规则在数据库表中设定该预留字段(如每100个字段中预留一个字段(如一列)用于存储数据串结构)。
在一些实施例中,该预留字段可以根据数据库表的情况增加或减少。例如,当数据库表的字段增加时,可以相应地增加预留字段(如增加一列用于存储数据串结构)。在一些实施例中,可以将数据库表的末尾列作为预留字段用于存储数据串结构。在一些实施例中,可以在字段中间插入一列或多列作为预留字段。在一些替代性实施例中,还可以将非预留字段转换为预留字段。例如,可以将原本包含某信息项的一列转换为用于存储数据串结构的列。在一些实施例中,也可以删除一列或多列用于存储数据串结构的预留字段,或者将预留字段转换为非预留字段。值得注意的是,上述所涉及的操作可以由人为和/或处理引擎112实现。
在一些实施例中,结构型信息对象可以包括临时性信息项和/或非共有信息项。临时性信息项可以表示在数据库表中存储时间小于某设定时间阈值的信息项。非共有信息项可以表示在数据库表中并非所有记录均具有的信息项。
在一些实施例中,处理引擎112在获得某信息项的同时可以获取该信息项在数据库表中的预计存储时间。例如,某些信息项只在近期(如未来1个月内)被使用,而过了这段时期该信息项将失去价值,可以被删除,则该信息项在数据库表中的存储时间即可以为该信息项被使用的时间(如1个月)。在一些实施例中,处理引擎112可以设定一个时间阈值。例如,处理引擎112可以设定时间阈值为1周、2周、1个月、3个月、6个月、1年等。当某信息项在数据库表中的预计存储时间小于该设定的时间阈值时,则可以将该信息项认定为是临时性信息项。当某信息项在数据库表中的预计存储时间大于或等于该设定的时间阈值时,则可以将该信息项认定为是非临时性信息项。在一些实施例中,处理引擎112可以针对不同的预留字段分别设定时间阈值。例如,处理引擎112可以设定第一预留字段(如一列)的时间阈值为1周,使该第一预留字段用于以数据串结构的形式存储预计存储时间小于一周的信息项。又例如,处理引擎112可以设定第二预留字段(如另一列)的时间阈值为1个月,使该第二预留字段用于以数据串结构的形式存储预计存储时间小于一个月的信息项。
在一些实施例中,非共有信息项只对应于数据库中的部分记录。例如,仅仅作为举例,对于网约车平台的用户,有时部分用户可以获得某些优惠券,对于持有优惠券的用户,平台可以统计其优惠券金额。在本实施例中,由于“优惠券金额”只对应于数据库中的部分记录,可以将其看作是非共有信息项,从而可以将“优惠券金额”以数据串结构的形式进行存储。又例如,网约车平台希望统计某城市(如北京)的用户过去一周使用网约车服务的次数,由于该统计的信息项只针对数据库中的部分用户(如北京用户),因此也可以将其看作是非共有信息项。
值得注意的是,结构型信息对象可以不限于临时性信息项和/或非共有信息项。对于一些其他信息项(例如,存储时间不确定的信息项、分支较多的信息项等),也可以被组合到结构型信息对象中。
步骤520,将所述至少一条记录的结构型信息对象以数据串结构的形式存储在所述预留字段中。具体的,步骤520可以由信息对象存储模块430执行。
在一些实施例中,信息对象存储模块430可以将结构型信息对象中信息项的名称存储到数据串结构(如JSON数据串)的key中,并将结构型信息对象中信息项的相应数据存储到数据串结构的value中。例如,信息项可以是用户在过去一周使用网约车服务的次数,即可以将名称“过去一周使用网约车服务的次数”存储到数据串结构的key中,将用户在过去一周使用网约车服务次数的统计值(如“5”、“10”等)存储到数据串结构的value中。例如,数据串结构可以是{“过去一周使用网约车服务的次数”:“5”}、{“过去一周使用网约车服务的次数”:“10”}等。又例如,信息项可以是用户的家乡,即可以将名称“家乡”存储到数据串结构的key中,并将用户相应的家乡所在地存储到数据串结构的value中。例如,数据串结构可以是{“家乡”:[{“省”:“江苏”},{“市”:“苏州”},{“区”:“虎丘”}]}。在一些实施例中,信息对象存储模块430还可以对数据串结构的内容进行修改、删除等操作。
在一些实施例中,处理引擎112(如信息对象分组模块440)可以将记录的结构型信息对象按照一定策略分为两组或多组。信息对象存储模块430可以将分组后的结构型信息对象以数据串结构的形式存储在不同的预留字段中。关于结构型信息对象分组存储的更多说明可以参见图7及其相应描述。
在一些实施例中,处理引擎112(如索引串确定模块450)可以确定至少一条记录的结构型信息对象中访问频率大于某频率阈值的一个或多个信息项。索引串确定模块450还可以将所确定的访问频率大于该频率阈值的一个或多个信息项的内容拼接为该至少一条记录的索引字符串。在一些实施例中,处理引擎112(如索引串存储模块460)可以将该至少一条记录的索引字符串存储在数据库表中。关于确定及存储索引字符串的更多说明可以参见图8及其相应描述。
值得注意的是,以上关于数据维护方法的流程是示例性的,并不用于限定本申请的保护范围。对于本领域技术人员来说,可以在本申请实施例的基础上做出适当的变化和修改,而不脱离本申请的保护范围。例如,可以人为设定某一信息项是否被组合到结构型信息对象中。
图6所示为根据本申请一些实施例所示的数据维护方法的示例性流程图。如图6所示,数据维护方法600可以包括:
步骤610,将至少一条记录的至少一个信息项存储在第一数据库表中。具体的,步骤610可以由信息项存储模块410执行。
在一些实施例中,信息项存储模块410可以将至少一名用户的一项或多项相关信息存储(如写入、录入)在数据库表的相应字段中。在一些实施例中,用户的相关信息可以是由处理引擎112通过网络150从服务请求端120和/或服务提供端140获取的信息。例如,处理引擎112可以通过网络150获取乘客和/或司机通过终端注册和/或使用服务的过程中所填写的信息和/或所产生的数据。在一些实施例中,乘客和/或司机可以对其发送给处理引擎112的信息和/或数据进行选择。在一些实施例中,用户的相关信息可以是由处理引擎112从存储设备130获得的信息。例如,处理引擎112可以从存储设备中获得历史订单记录,并从历史订单记录中提取用户的相关信息(如累计使用次数、累计使用时间等)。在一些实施例中,信息项存储模块410可以将至少一条记录或至少一条记录的至少一个信息项从数据库表中删除。
在一些实施例中,一条记录可以表示某具体的人或事物(如用户)的部分或所有相关信息。每条记录可以包括多个信息项,用户的每个相关信息可以对应于每条记录中的一个信息项。在一些实施例中,用户的相关信息可以分别存储在不同的数据库表中。例如,信息项存储模块410可以将与一条或多条记录对应的部分信息项存储在其中一个数据库表(如第一数据库表)中。关于记录、信息项和数据库的更多说明可以参见图5及其相关描述。
步骤620,将所述至少一条记录的至少一个信息项组合成结构型信息对象。具体的,步骤620可以由信息对象组合模块420执行。此处所涉及的至少一条记录的结构型信息对象与步骤510中涉及的结构型信息对象类似,在此不再赘述。
步骤630,将所述至少一条记录的结构型信息对象以数据串结构的形式存储在第二数据库表的预留字段中。具体的,步骤630可以由信息对象存储模块430执行。此处所涉及的将结构型信息对象以数据串结构的形式存储在预留字段中与步骤520中涉及的存储方式类似,在此不再赘述。
在一些实施例中,在第一数据库表中可以包括信息对象指针。例如,可以在第一数据库表中设置一列或多列用于存储信息对象指针。在一些实施例中,信息对象指针可以为指向某数据串结构的地址。例如,可以将数据串结构存储在另一个数据库表(如第二数据库表)的预留字段中,此时信息对象指针可以为第二数据库表中用于存储数据串结构的该预留字段的地址或者该预留字段的行信息、列信息等。在一些实施例中,该数据串结构可以包含某条记录的至少一条其他信息项(即不属于第一数据库表的信息项)。此处所涉及的数据串结构和预留字段与图5中所涉及的数据串结构和预留字段类似,在此不再赘述。
在一些实施例中,通过将信息对象指针存储在第一数据库表中,而将信息对象以数据串结构存储在第二数据库表中,可以在一定程度上方便数据库的维护。例如,当需要对数据串结构中的内容进行修改时,可以仅针对第二数据库表进行修改。
在一些实施例中,处理引擎112(如信息对象分组模块440)可以将记录的结构型信息对象按照一定策略分为两组或多组。信息对象存储模块430可以将分组后的结构型信息对象以数据串结构的形式存储在不同的预留字段中。关于结构型信息对象分组存储的更多说明可以参见图7及其相应描述。在一些实施例中,第一数据库表中可以包括多组信息对象指针。每组结构型信息对象可以对应1组信息对象指针。在一些替代性实施例中,1组信息对象指针可以指向第二数据库表中的1列或多列预留字段。相应的,1组信息对象指针可以对应1组或多组结构型信息对象。
在一些实施例中,处理引擎112(如索引串确定模块450)可以确定至少一条记录的结构型信息对象中访问频率大于某频率阈值的一个或多个信息项。索引串确定模块450还可以将所确定的访问频率大于该频率阈值的一个或多个信息项的内容拼接为该至少一条记录的索引字符串。在一些实施例中,处理引擎112(如索引串存储模块460)可以将该至少一条记录的索引字符串存储在数据库表中。关于确定及存储索引字符串的更多说明可以参见图8及其相应描述。在本实施例中,该索引字符串可以存储在第一数据库表和/或第二数据库表中。
值得注意的是,以上关于数据维护方法的流程是示例性的,并不用于限定本申请的保护范围。对于本领域技术人员来说,可以在本申请实施例的基础上做出适当的变化和修改,而不脱离本申请的保护范围。例如,可以人为设定某一信息项是否被组合到结构型信息对象中。又例如,数据库还可以包括第三数据库表,该第三数据库表中包括用于存储结构型信息对象的预留字段,与此对应,第一数据库表中可以进一步包括指向该预留字段的信息对象指针。
图7所示为根据本申请一些实施例所示的结构型信息对象分组及存储的示例性流程图。如图7所示,对结构型信息对象进行分组和存储的流程700可以包括:
步骤710,将至少一条记录的结构型信息对象按照一定策略分为至少两组。具体的,步骤710可以由信息对象分组模块440执行。
在一些实施例中,信息对象分组模块440可以将结构型信息对象按照信息项内容分为两组或多组。例如,当结构型信息对象是一个用户的家乡时,其数据串结构可以是{“家乡”:[{“省”:“江苏”},{“市”:“苏州”},{“区”:“虎丘”}]}。当数据库表被访问时,可能只需要获得用户的家乡属于哪个省或哪个市,在此情况下,可以将该结构型信息对象分为两组或三组。以分为三组为例,可以将“家乡”所对应的数据串结构分为{“家乡(省)”:“江苏”}、{“家乡(市)”:“苏州”}以及{“家乡(区)”:“虎丘”}。又例如,当结构型信息对象是用户的喜好时,其数据串结构可以是{“喜好”:[{“食品”:“牛肉”},{“衣服”:“西服”}]}。此时,可以将“喜好”信息项下的“食品”信息项和“衣服”信息项进行拆分,从而在对数据库表进行访问时可以更有针对性,以减少不必要的数据处理。对于本示例,该结构型信息对象“喜好”可以拆分为{“喜好的食品”:“牛肉”}以及{“喜好的衣服”:“西服”}。
在一些实施例中,信息对象分组模块440可以将结构型信息对象按照访问频率分为两组或多组。在一些实施例中,处理引擎112可以统计结构型信息对象中各信息项被访问的频率。例如,处理引擎112可以记录一定时间周期内该数据库表的访问信息,并根据访问信息确定结构型信息对象以及其中各信息项被访问的频率。其中,该时间周期可以是从当前时间起的一段历史时期(例如,过去1天、1周、2周、1个月等)。在一些实施例中,处理引擎112可以对一定时间周期内该数据表的访问信息进行连续记录或者抽样记录。例如,处理引擎112可以记录该时间周期内的所有访问信息。又例如,处理引擎112可以抽样记录(如每隔10分钟记录5分钟等)该时间周期内的访问信息。在一些实施例中,处理引擎112可以根据访问频率的统计结果,将结构型信息对象分为两组或多组。例如,处理引擎112可以将结构型信息对象中访问频率最高的信息项提取出来单独形成一组。仍以结构型信息对象涉及用户的家乡为例,对于某用户,该结构型信息对象的数据串结构可以是{“家乡”:[{“省”:“江苏”},{“市”:“苏州”},{“区”:“虎丘”}]}。假设根据统计结果,该结构型信息对象中信息项“市”的访问频率最高,则可以将信息项“市”或者“省市”提取出来作为额外的结构型信息对象。例如,某用户的数据串结构可以是{“市”:“苏州”}或者{“省市”:“江苏省苏州市”}。在此情况下,后续要访问某用户属于哪个城市时,仅需访问结构型信息对象“市”或“省市”,而无需访问“家乡”信息项,在一定程度上可以减小处理的数据量,提升访问效率。
在一些实施例中,信息对象分组模块440也可以根据其他规则对结构型信息对象进行分组。例如,信息对象分组模块440可以根据结构型信息对象中各信息项的存储时间进行分组(如将存储时间相近的分为一组)。又例如,信息对象分组模块440可以根据结构型信息对象中各信息项的覆盖情况进行分组。具体来说,可以将覆盖所有记录的信息项分为一组;或者将覆盖相似记录数量的信息项分为一组,等等。在一些实施例中,还可以人为指定结构型信息对象的分组规则,并根据该分组规则进行相应分组。
步骤720,将分组后的结构型信息对象以数据串结构的形式存储在不同的预留字段中。具体的,步骤720可以由信息对象存储模块430执行。此处所涉及的将每组结构型信息对象以数据串结构的形式存储在预留字段中与步骤520中涉及的存储方式类似,在此不再赘述。
图8所示为根据本申请一些实施例所示的确定及存储索引字符串的示例性流程图。如图8所示,对索引字符串进行确定(如拼接)和存储的流程800可以包括:
步骤810,确定至少一条记录的结构型信息对象中访问频率大于某设定频率阈值的至少一个信息项,将所述至少一个信息项的内容拼接为所述至少一条记录的索引字符串。具体的,步骤810可以由索引串确定模块450执行。
在一些实施例中,与步骤710中所描述的类似,处理引擎112可以统计结构型信息对象中各信息项被访问的频率。在一些实施例中,处理引擎112可以设定频率阈值。频率阈值可以是单位时间内被访问的次数。例如,仅仅作为举例,频率阈值可以是10次/周,50次/月等。在一些实施例中,索引串确定模块450可以确定结构型信息对象中访问频率大于该设定频率阈值的一个或多个信息项。仅仅作为举例,结构型信息对象可以包括“家乡”和“喜好”。在一些实施例中,该结构型信息对象的“家乡”信息项下可以包括“国家”、“省”、“市”和“区”等。例如,对于某具体用户,该“家乡”信息项的数据串结构可以是{“家乡”:[{“国家”:“中国”},{“省”:“江苏”},{“市”:“苏州”},{“区”:“虎丘”}]}。在一些实施例中,该结构型信息对象的“喜好”信息项下可以包括“食品”、“衣服”、“运动”、“歌曲类型”等。例如,对于某具体用户,该“喜好”信息项的数据串结构可以是{“喜好”:[{“食品”:“牛肉”},{“衣服”:“西服”},{“运动”:“足球”},{“歌曲类型”:“摇滚”}]}。经过处理引擎112在一段时间内对该结构型信息对象中各信息项被访问频率的统计,索引串确定模块450可以确定访问频率大于某设定频率阈值的至少一个信息项。例如,仅仅作为举例,该结构型信息对象中“家乡”信息项下的“市”信息项以及“喜好”信息项下的“运动”信息项的访问频率大于所设定的频率阈值。
在一些实施例中,索引串确定模块450还可以将上述所确定的访问频率大于该设定频率阈值的至少一个信息项的内容拼接为所述至少一条记录的索引字符串。例如,所确定的访问频率大于该设定频率阈值的信息项为:“家乡”信息项下的“市”信息项以及“喜好”信息项下的“运动”信息项。则索引串确定模块450可以将两个信息项中的内容拼接为索引字符串。例如,对于某具体用户,该索引字符串可以为“苏州足球”。在一些实施例中,索引字符串可以是多个(两个及以上)信息项中的内容拼接而成。在一些实施例中,索引字符串也可以是单个信息项中的内容。例如,当只有“喜好”信息项下的“运动”信息项的访问频率大于该设定频率阈值时,该索引字符串可以仅为“运动”信息项中的内容(如,足球)。
步骤820,将所述至少一条记录的索引字符串存储在所述数据库表中。具体的,步骤820可以由索引串存储模块460执行。
在一些实施例中,索引串存储模块460可以将索引字符串作为一个单独的信息项存储到数据库表中。例如,索引串存储模块460可以将索引字符串存储到数据库表的单独一列中。在一些实施例中,在访问该数据库表时,可以通过对索引字符串进行查找进而直接定位到相应的记录。例如,可以通过在索引字符串中查找“足球”,从而找出该数据库表中喜好的运动是足球的用户。在一些实施例中,可以采用结构化查询语言(SQL,Structured QueryLanguage)的相关语句(如LIKE语句)进行数据查找。例如,可以在数据库表(如,数据库表的名称为“用户列表”)中查找喜欢足球的用户,查询语句可以是:select*from用户列表where运动like‘%足球%’,该语句表示从名称为“用户列表”的数据库表中“运动”信息项下查找包含“足球”两个字的用户。在一些替代性实施例中,也可以采用其他数据查询语言进行数据查找,本申请对此不做限制。通过将结构型信息对象中访问频率高的信息项内容拼接为索引字符串,可以在数据访问时直接访问索引字符串中的内容,而无需访问结构型信息对象,在一定程度上可以减小处理的数据量,提升访问效率。
在一些实施例中,处理引擎112(如索引串确定模块450和/或索引串存储模块460)还可以对索引字符串进行更新。例如,当结构型信息对象中的内容变化,或者当结构型信息对象中各信息项的访问频率发生变化时,索引串确定模块450可以重新确定访问频率大于该设定频率阈值的至少一个信息项,并将上述所确定的信息项内容拼接为索引字符串;索引串存储模块460可以将重新确定后的索引字符串替代原索引字符串。在一些实施例中,处理引擎112可以定期(如每隔3天、1周、1个月等)对索引字符串进行更新。
值得注意的是,以上关于确定及存储索引字符串的流程是示例性的,并不用于限定本申请的保护范围。对于本领域技术人员来说,可以在本申请实施例的基础上做出适当的变化和修改,而不脱离本申请的保护范围。例如,在一些情况下,可以人为确定索引字符串(如,可以指定将某结构型信息对象中的某一个或多个信息项中的内容拼接为索引字符串)。
本申请实施例可能带来的有益效果包括但不限于:(1)避免临时性数据在无效时仍占用数据库表的存储空间;(2)避免非共有信息项占用过多资源,有效降低数据库表的字段数量;(3)提高数据库表的访问效率;(4)便于对数据库表进行维护。需要说明的是,不同实施例可能产生的有益效果不同,在不同的实施例里,可能产生的有益效果可以是以上任意一种或几种的组合,也可以是其他任何可能获得的有益效果。
上文已对基本概念做了描述,显然,对于本领域技术人员来说,上述详细披露仅仅作为示例,而并不构成对本申请的限定。虽然此处并没有明确说明,本领域技术人员可能会对本申请进行各种修改、改进和修正。该类修改、改进和修正在本申请中被建议,所以该类修改、改进、修正仍属于本申请示范实施例的精神和范围。
同时,本申请使用了特定词语来描述本申请的实施例。如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本申请至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一替代性实施例”并不一定是指同一实施例。此外,本申请的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。
此外,本领域技术人员可以理解,本申请的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的工序、机器、产品或物质的组合,或对他们的任何新的和有用的改进。相应地,本申请的各个方面可以完全由硬件执行、可以完全由软件(包括固件、常驻软件、微码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“数据块”、“模块”、“引擎”、“单元”、“组件”或“系统”。此外,本申请的各方面可能表现为位于一个或多个计算机可读介质中的计算机产品,该产品包括计算机可读程序编码。
计算机存储介质可能包含一个内含有计算机程序编码的传播数据信号,例如在基带上或作为载波的一部分。该传播信号可能有多种表现形式,包括电磁形式、光形式等,或合适的组合形式。计算机存储介质可以是除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令执行系统、装置或设备以实现通讯、传播或传输供使用的程序。位于计算机存储介质上的程序编码可以通过任何合适的介质进行传播,包括无线电、电缆、光纤电缆、RF、或类似介质,或任何上述介质的组合。
本申请各部分操作所需的计算机程序编码可以用任意一种或多种程序语言编写,包括面向对象编程语言如Java、Scala、Smalltalk、Eiffel、JADE、Emerald、C++、C#、VB.NET、Python等,常规程序化编程语言如C语言、Visual Basic、Fortran 2003、Perl、COBOL 2002、PHP、ABAP,动态编程语言如Python、Ruby和Groovy,或其他编程语言等。该程序编码可以完全在用户计算机上运行、或作为独立的软件包在用户计算机上运行、或部分在用户计算机上运行部分在远程计算机运行、或完全在远程计算机或服务器上运行。在后种情况下,远程计算机可以通过任何网络形式与用户计算机连接,比如局域网(LAN)或广域网(WAN),或连接至外部计算机(例如通过因特网),或在云计算环境中,或作为服务使用如软件即服务(SaaS)。
此外,除非权利要求中明确说明,本申请所述处理元素和序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本申请流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本申请实施例实质和范围的修正和等价组合。例如,虽然以上所描述的系统组件可以通过硬件设备实现,但是也可以只通过软件的解决方案得以实现,如在现有的服务器或移动设备上安装所描述的系统。
同理,应当注意的是,为了简化本申请披露的表述,从而帮助对一个或多个实施例的理解,前文对本申请实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。但是,这种披露方法并不意味着本申请对象所需要的特征比权利要求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。
Claims (18)
1.一种数据维护方法,其特征在于,包括:
将至少一条记录的至少一个信息项组合为结构型信息对象;
将所述结构型信息对象存储在数据库表中;
所述结构型信息对象为将至少一个信息项按照一定规则组合在一起。
2.如权利要求1所述的数据维护方法,其特征在于,所述将所述结构型信息对象存储在数据库表中包括:
将所述结构型信息对象以JSON数据串或XML数据串形式存储在数据库表中。
3.如权利要求1所述的数据维护方法,其特征在于,所述结构型信息对象包括临时性信息项和/或非共有信息项;其中,
所述临时性信息项是指在数据库表中存储时间小于某设定时间阈值的信息项;
所述非共有信息项是指在数据库表中非所有记录均具有的信息项。
4.如权利要求1所述的数据维护方法,其特征在于,还包括:
将所述至少一条记录的结构型信息对象按照一定策略分为至少两组;
将分组后的结构型信息对象以JSON数据串或XML数据串的形式存储在所述数据库表中的不同字段中。
5.如权利要求4所述的数据维护方法,其特征在于,将所述至少一条记录的结构型信息对象按照一定策略分为至少两组进一步包括:
将所述至少一条记录的结构型信息对象按照信息项内容分为至少两组;或者,
将所述至少一条记录的结构型信息对象按照访问频率分为至少两组。
6.如权利要求1所述的数据维护方法,其特征在于,还包括:
确定所述至少一条记录的结构型信息对象中访问频率大于某设定频率阈值的至少一个信息项,将所述至少一个信息项的内容拼接为字符串并将其作为所述至少一条记录的索引字符串;
将所述至少一条记录的索引字符串存储在所述数据库表中。
7.一种数据维护系统,其特征在于,包括信息对象组合模块、和信息对象存储模块,其中,
所述信息对象组合模块用于将至少一条记录的至少一个信息项组合为结构型信息对象;
所述信息对象存储模块用于将所述结构型信息对象存储在数据库表中;
所述结构型信息对象为将至少一个信息项按照一定规则组合在一起。
8.如权利要求7所述的数据维护系统,其特征在于,所述信息对象存储模块还用于将所述结构型信息对象以JSON数据串或XML数据串的形式存储在数据库表中。
9.如权利要求7所述的数据维护系统,其特征在于,所述结构型信息对象包括临时性信息项和/或非共有信息项;
所述临时性信息项是指在数据库表中存储时间小于某设定时间阈值的信息项;
所述非共有信息项是指在数据库表中并非所有记录均具有的信息项。
10.如权利要求7所述的数据维护系统,其特征在于,还包括信息对象分组模块,其中,所述信息对象分组模块用于将所述至少一条记录的结构型信息对象按照一定策略分为至少两组;
所述信息对象存储模块还用于将分组后的结构型信息对象以JSON数据串或XML数据串的形式存储在数据库表的不同字段中。
11.如权利要求10所述的数据维护系统,其特征在于,所述信息对象分组模块进一步用于:
将所述至少一条记录的结构型信息对象按照信息项内容分为至少两组;或者,
将所述至少一条记录的结构型信息对象按照访问频率分为至少两组。
12.如权利要求7所述的数据维护系统,其特征在于,还包括索引串确定模块和索引串存储模块,其中,
所述索引串确定模块用于确定所述至少一条记录的结构型信息对象中访问频率大于某设定频率阈值的至少一个信息项,将所述至少一个信息项的内容拼接为字符串并将其作为所述至少一条记录的索引字符串;
所述索引串存储模块用于将所述至少一条记录的索引字符串存储在所述数据库表中。
13.一种数据维护装置,包括处理器,其特征在于,所述处理器用于执行如权利要求1~6任一项所述的数据维护方法。
14.一种计算机可读存储介质,所述存储介质存储计算机指令,当计算机读取存储介质中的计算机指令后,计算机执行如权利要求1~6任一项所述的数据维护方法。
15.一种数据维护方法,其特征在于,包括:
将至少一条记录的至少一个信息项存储在第一数据库表中;
将所述至少一条记录的至少一个信息项组成结构型信息对象;
将所述结构型信息对象存储在第二数据库表中;
其中,所述第一数据库表中包括信息对象指针,所述信息对象指针反映所述结构型信息对象在第二数据库表中的存储地址;
所述结构型信息对象为将至少一个信息项按照一定规则组合在一起。
16.一种数据维护系统,其特征在于,包括信息项存储模块、信息对象组合模块和信息对象存储模块,其中,
所述信息项存储模块用于将至少一条记录的至少一个信息项存储在第一数据库表中;
所述信息对象组合模块用于将所述至少一条记录的至少一个信息项组成结构型信息对象;
所述信息对象存储模块用于将所述结构型信息对象存储在第二数据库表中;
其中,所述第一数据库表中包括信息对象指针,所述信息对象指针反映所述结构型信息对象在第二数据库表中的存储地址;
所述结构型信息对象为将至少一个信息项按照一定规则组合在一起。
17.一种数据维护装置,包括处理器,其特征在于,所述处理器用于执行如权利要求15所述的数据维护方法。
18.一种计算机可读存储介质,所述存储介质存储计算机指令,当计算机读取存储介质中的计算机指令后,计算机执行如权利要求15所述的数据维护方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811467277.XA CN111259201B (zh) | 2018-12-03 | 2018-12-03 | 一种数据维护方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811467277.XA CN111259201B (zh) | 2018-12-03 | 2018-12-03 | 一种数据维护方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111259201A true CN111259201A (zh) | 2020-06-09 |
CN111259201B CN111259201B (zh) | 2023-08-18 |
Family
ID=70946620
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811467277.XA Active CN111259201B (zh) | 2018-12-03 | 2018-12-03 | 一种数据维护方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111259201B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112579570A (zh) * | 2020-12-16 | 2021-03-30 | 中国辐射防护研究院 | 一种核环境数据存储方法和装置 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001290647A (ja) * | 2000-02-04 | 2001-10-19 | Fujitsu Ltd | 表形式データベース加工装置、表形式データベース加工処理用プログラム及びそのプログラムの記録媒体 |
US20120179728A1 (en) * | 2011-01-07 | 2012-07-12 | International Business Machines Corporation | Processing of Destructive Schema Changes in Database Management Systems |
CN104298690A (zh) * | 2013-07-19 | 2015-01-21 | 国际商业机器公司 | 为关系数据库表建立索引结构并进行查询的方法和装置 |
CN104346466A (zh) * | 2014-11-12 | 2015-02-11 | 中国建设银行股份有限公司 | 数据库中添加新属性数据的方法和装置 |
CN105229633A (zh) * | 2013-03-13 | 2016-01-06 | 萨勒斯福斯通讯有限公司 | 用于实现数据上传、处理和预测查询api公开的系统、方法和装置 |
CN106202403A (zh) * | 2016-07-11 | 2016-12-07 | 浪潮通用软件有限公司 | 一种通过动态分析创建数据库索引的方法 |
CN107491523A (zh) * | 2017-08-17 | 2017-12-19 | 三星(中国)半导体有限公司 | 存储数据对象的方法及装置 |
CN107491494A (zh) * | 2017-07-24 | 2017-12-19 | 广东省环境监测中心 | 一种应用于土壤环境监测系统的字段存储方法及系统 |
CN108140046A (zh) * | 2015-10-23 | 2018-06-08 | 甲骨文国际公司 | 对于任何半结构化数据格式的高效存储器中db查询处理 |
-
2018
- 2018-12-03 CN CN201811467277.XA patent/CN111259201B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001290647A (ja) * | 2000-02-04 | 2001-10-19 | Fujitsu Ltd | 表形式データベース加工装置、表形式データベース加工処理用プログラム及びそのプログラムの記録媒体 |
US20120179728A1 (en) * | 2011-01-07 | 2012-07-12 | International Business Machines Corporation | Processing of Destructive Schema Changes in Database Management Systems |
CN105229633A (zh) * | 2013-03-13 | 2016-01-06 | 萨勒斯福斯通讯有限公司 | 用于实现数据上传、处理和预测查询api公开的系统、方法和装置 |
CN104298690A (zh) * | 2013-07-19 | 2015-01-21 | 国际商业机器公司 | 为关系数据库表建立索引结构并进行查询的方法和装置 |
CN104346466A (zh) * | 2014-11-12 | 2015-02-11 | 中国建设银行股份有限公司 | 数据库中添加新属性数据的方法和装置 |
CN108140046A (zh) * | 2015-10-23 | 2018-06-08 | 甲骨文国际公司 | 对于任何半结构化数据格式的高效存储器中db查询处理 |
CN106202403A (zh) * | 2016-07-11 | 2016-12-07 | 浪潮通用软件有限公司 | 一种通过动态分析创建数据库索引的方法 |
CN107491494A (zh) * | 2017-07-24 | 2017-12-19 | 广东省环境监测中心 | 一种应用于土壤环境监测系统的字段存储方法及系统 |
CN107491523A (zh) * | 2017-08-17 | 2017-12-19 | 三星(中国)半导体有限公司 | 存储数据对象的方法及装置 |
Non-Patent Citations (1)
Title |
---|
任毅: "无线互联科技", 一种数据库动态字段实现方案, vol. 2018, no. 22, pages 121 - 122 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112579570A (zh) * | 2020-12-16 | 2021-03-30 | 中国辐射防护研究院 | 一种核环境数据存储方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111259201B (zh) | 2023-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11468103B2 (en) | Relational modeler and renderer for non-relational data | |
US9875272B1 (en) | Method and system for designing a database system for high event rate, while maintaining predictable query performance | |
KR102522274B1 (ko) | 사용자 그룹화 방법 및 장치, 컴퓨터 장비, 컴퓨터 판독가능 저장 매체 및 컴퓨터 프로그램 | |
US11514040B2 (en) | Global dictionary for database management systems | |
US20130103658A1 (en) | Time series data mapping into a key-value database | |
CN111949541A (zh) | 多源数据库语句检查方法及装置 | |
US10877968B2 (en) | Systems and methods for data processing | |
US20160379011A1 (en) | Anonymization apparatus, and program | |
US10331662B2 (en) | Dynamic column synopsis for analytical databases | |
US10268713B2 (en) | Federated social media analysis system and method thereof | |
CN112434015B (zh) | 数据存储的方法、装置、电子设备及介质 | |
CN110800001B (zh) | 用于数据存储和数据查询的系统和方法 | |
US11100087B2 (en) | Data tokenization system maintaining data integrity | |
US10445370B2 (en) | Compound indexes for graph databases | |
WO2020211258A1 (zh) | 区块链账本数据的查询方法、电子装置及存储介质 | |
CN110362630A (zh) | 数据管理方法、装置、设备与计算机可读存储介质 | |
CN111858612B (zh) | 基于图数据库的数据加速访问方法、装置及存储介质 | |
CN111259201B (zh) | 一种数据维护方法和系统 | |
US10936611B2 (en) | Search promotion systems and method | |
CN111221814B (zh) | 二级索引的构建方法、装置及设备 | |
US11170046B2 (en) | Network node consolidation | |
CN115495452A (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
US11301458B2 (en) | Automated content generation | |
US20170124203A1 (en) | Search promotion systems and method | |
WO2020248149A1 (en) | Data sharing and data analytics implementing local differential privacy |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |