CN108038171A - 数据写入方法、装置及数据服务器 - Google Patents
数据写入方法、装置及数据服务器 Download PDFInfo
- Publication number
- CN108038171A CN108038171A CN201711284851.3A CN201711284851A CN108038171A CN 108038171 A CN108038171 A CN 108038171A CN 201711284851 A CN201711284851 A CN 201711284851A CN 108038171 A CN108038171 A CN 108038171A
- Authority
- CN
- China
- Prior art keywords
- data
- user terminal
- write
- user
- user behavior
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
- G06F11/263—Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提供一种数据写入方法、装置及数据服务器,所述方法包括:接收至少一个用户终端发送的用户行为数据,并将用户行为数据映射到共享内存中;对预设时间段内共享内存中的所有用户行为数据进行数据合并,得到各用户终端对应的行为数据变化情况;对存储数据库的数据写入压力进行检测,得到存储数据库当前的写入压力情况;根据存储数据库当前的写入压力情况,及各用户终端的行为数据变化情况,为对应用户终端分配数据写入次数;根据各用户终端对应的数据写入次数及预设规则,将共享内存中对应的用户行为数据写入到存储数据库中。所述方法能够节省数据服务器的可用存储空间,缓解数据库的数据存储压力,提高数据写入效率。
Description
技术领域
本发明涉及数据存储技术领域,具体而言,涉及一种数据写入方法、装置及数据服务器。
背景技术
现有的服务器在将用户对应的用户行为数据写入到数据库中以进行存储时,会根据用户行为数据的变化次数对应写入用户行为数据,即用户行为数据有多少次变化,就需要写入多少次变化后的行为数据,因此在这种情况下,服务器的可用存储空间会相应地减小,整体的数据写入效率不高,数据库的数据存储压力将大大增加。
发明内容
为了克服现有技术中的上述不足,本发明的目的在于提供一种数据写入方法、装置及数据服务器,所述数据写入方法能够节省数据服务器的可用存储空间,缓解数据库的数据存储压力,并相应地提高数据写入效率。
就数据写入方法而言,本发明较佳的实施例提供一种数据写入方法,所述方法应用于与至少一个用户终端通信连接的数据服务器,所述数据服务器包括共享内存及存储数据库,所述方法包括:
接收所述至少一个用户终端发送的用户行为数据,并将各用户终端对应的用户行为数据映射到所述共享内存中;
对预设时间段内所述共享内存中各用户终端对应的所有用户行为数据进行数据合并,得到各用户终端在对应时间段内的行为数据变化情况;
对所述存储数据库的数据写入压力进行检测,得到所述存储数据库当前的写入压力情况;
根据所述存储数据库当前的写入压力情况,及各用户终端在预设时间段内的行为数据变化情况,为对应用户终端分配数据写入次数;
根据各用户终端对应的数据写入次数及预设规则,将所述共享内存中各用户终端对应的用户行为数据写入到所述存储数据库中。
就数据写入装置而言,本发明较佳的实施例提供一种数据写入装置,所述装置应用于与至少一个用户终端通信连接的数据服务器,所述数据服务器包括共享内存及存储数据库,所述装置包括:
数据映射模块,用于接收所述至少一个用户终端发送的用户行为数据,并将各用户终端对应的用户行为数据映射到所述共享内存中;
数据合并模块,用于对预设时间段内所述共享内存中各用户终端对应的所有用户行为数据进行数据合并,得到各用户终端在对应时间段内的行为数据变化情况;
压力检测模块,用于对所述存储数据库的数据写入压力进行检测,得到所述存储数据库当前的写入压力情况;
次数分配模块,用于根据所述存储数据库当前的写入压力情况,及各用户终端在预设时间段内的行为数据变化情况,为对应用户终端分配数据写入次数;
数据写入模块,用于根据各用户终端对应的数据写入次数及预设规则,将所述共享内存中各用户终端对应的用户行为数据写入到所述存储数据库中。
就数据服务器而言,本发明较佳的实施例提供一种数据服务器,所述数据服务器包括:
存储介质;
处理器;及
数据写入装置,所述装置存储于所述存储介质中并包括由所述处理器执行的软件功能模块,所述数据服务器包括共享内存及存储数据库,所述装置包括:
数据映射模块,用于接收至少一个用户终端发送的用户行为数据,并将各用户终端对应的用户行为数据映射到所述共享内存中;
数据合并模块,用于对预设时间段内所述共享内存中各用户终端对应的所有用户行为数据进行数据合并,得到各用户终端在对应时间段内的行为数据变化情况;
压力检测模块,用于对所述存储数据库的数据写入压力进行检测,得到所述存储数据库当前的写入压力情况;
次数分配模块,用于根据所述存储数据库当前的写入压力情况,及各用户终端在预设时间段内的行为数据变化情况,为对应用户终端分配数据写入次数;
数据写入模块,用于根据各用户终端对应的数据写入次数及预设规则,将所述共享内存中各用户终端对应的用户行为数据写入到所述存储数据库中。
相对于现有技术而言,本发明较佳的实施例提供的数据写入方法、装置及数据服务器具有以下有益效果:所述数据写入方法能够节省数据服务器的可用存储空间,缓解数据库的数据存储压力,并相应地提高数据写入效率。所述方法应用于与至少一个用户终端通信连接的数据服务器,所述方法在接收到至少一个用户终端发送的用户行为数据后,会将各用户终端对应的用户行为数据映射到所述数据服务器的共享内存中;所述方法通过对预设时间段内所述共享内存中各用户终端对应的所有用户行为数据进行数据合并,得到各用户终端在对应时间段内的行为数据变化情况;所述方法通过对所述数据服务器的数据写入压力进行检测,得到所述存储数据库当前的写入压力情况;所述方法可根据所述存储数据库当前的写入压力情况,及各用户终端在预设时间段内的行为数据变化情况,为对应用户终端分配数据写入次数,以根据各用户终端对应的数据写入次数及预设规则,将所述共享内存中各用户终端对应的用户行为数据写入到所述存储数据库中,从而使得所述数据服务器在不丢失数据的情况下,能够节省可用存储空间,缓解存储数据库的数据存储压力,减小存储数据库的数据写入次数,并相应地提高数据写入效率。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举本发明较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对本发明权利要求保护范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明较佳的实施例提供的数据服务器与至少一个用户终端通信的交互示意图。
图2为本发明较佳的实施例提供的图1中所示的数据服务器的方框示意图。
图3为本发明较佳的实施例提供的数据写入方法的流程示意图。
图4为图3中所示的步骤S320包括的子步骤的流程示意图。
图5为图3中所示的步骤S330包括的子步骤的流程示意图。
图6为图3中所示的步骤S350包括的子步骤的流程示意图。
图7为图2中所示的数据写入装置的方框示意图。
图8为图7中所示的数据合并模块的方框示意图。
图9为图7中所示的压力检测模块的方框示意图。
图10为图7中所示的数据写入模块的方框示意图。
图标:10-数据服务器;20-用户终端;30-网络;100-数据写入装置;11-总线;12-处理器;13-存储介质;14-总线接口;15-网络适配器;16-用户接口;110-数据映射模块;120-数据合并模块;121-数据提取子模块;122-数据划分子模块;123-数据比较子模块;130-压力检测模块;131-数量检测子模块;132-比值计算子模块;133-比较判断子模块;140-次数分配模块;150-数据写入模块;151-数据选取子模块;152-数据写入子模块。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
下面结合附图,对本发明的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
请参照图1,是本发明较佳的实施例提供的数据服务器10与至少一个用户终端20通信的交互示意图。在本发明实施例中,所述数据服务器10可通过网络30与至少一个所述用户终端20通信连接,完成与所述用户终端20之间的数据交互,以对所述用户终端20发送的用户行为数据进行写入效率高的数据写入。在本实施例中,所述数据服务器10可以是,但不限于,云端服务器、集群服务器、分布服务器等;所述用户终端20可以是,但不限于,智能手机、个人电脑(personal computer,PC)、平板电脑、个人数字助理(personal digitalassistant,PDA)、移动上网设备(mobile Internet device,MID)等;所述网络30可以是,但不限于,有线网络或无线网络。
请参照图2,是本发明较佳的实施例提供的图1中所示的数据服务器10的方框示意图。在本发明实施例中,所述数据服务器10应被理解为提供处理、资料库、通讯设施的业务点。例如,所述数据服务器10可以指具有相关通信和资料存储和资料库设施的单个的物理处理器,或它可以指联网或集聚的处理器、相关网路和存放装置的集合体,并且对软体和一个或多个资料库***和支援数据服务器10所提供的服务的应用软体进行操作。数据服务器10可以在配置或性能上差异很大,但是数据服务器10一般可以包括一个或多个中央处理单元和存储单元。数据服务器10还可以包括一个或多个大型存放区设备、一个或多个电源、一个或多个有线或无线网络组件、一个或多个输入/输出组件、或一个或多个作业***,诸如,Windows Server、Mac OS X、Unix、Linux、FreeBSD。
在本实施例中,所述数据服务器10可由总线11作一般性的总线体系结构来实现。根据数据服务器10的具体应用和整体设计约束条件,所述总线11可以包括任意数量的互连总线和桥接。所述总线11将各种电路连接在一起,这些电路包括处理器12、存储介质13和总线接口14。可选地,数据服务器10可以使用总线接口14将网络适配器15等经由总线11连接。网络适配器15可用于实现无线电子设备中物理层的信号处理功能,并通过天线实现射频信号的发送和接收。用户接口16可以连接外接入设备,例如:键盘、显示器、鼠标或者操纵杆等。总线11还可以连接各种其它电路,如定时源、***设备、电压调节器或者功率管理电路等,这些电路是本领域所熟知的,因此不再详述。
可替换的,数据服务器10也可配置成通用处理***,例如通称为芯片,该通用处理***包括:提供处理功能的一个或多个微处理器,以及提供存储介质13的至少一部分的外部存储器,所有这些都通过外部总线体系结构与其它支持电路连接在一起。
可替换的,数据服务器10可以使用下述来实现:具有处理器12、总线接口14、用户接口16的ASIC(专用集成电路);以及集成在单个芯片中的存储介质13的至少一部分,或者,数据服务器10可以使用下述来实现:一个或多个FPGA(现场可编程门阵列)、PLD(可编程逻辑器件)、控制器、状态机、门逻辑、分立硬件部件、任何其它适合的电路、或者能够执行本发明通篇所描述的各种功能的电路的任意组合。
其中,处理器12负责管理总线11和一般处理(包括执行存储在存储介质13上的软件)。处理器12可以使用一个或多个通用处理器和/或专用处理器来实现。处理器12的例子包括微处理器、微控制器、DSP处理器和能够执行软件的其它电路。应当将软件广义地解释为表示指令、数据或其任意组合,而不论是将其称作为软件、固件、中间件、微代码、硬件描述语言还是其它。
在图2中存储介质13被示为与处理器12分离,然而,本领域技术人员很容易明白,存储介质13或其任意部分可位于所述数据服务器10之外。举例来说,存储介质13可以包括传输线、用数据调制的载波波形、和/或与无线节点分离开的计算机制品,这些介质均可以由处理器12通过总线接口14来访问。可替换地,存储介质13或其任意部分可以集成到处理器12中,例如,可以是高速缓存和/或通用寄存器。
在本实施例中,所述存储介质13中可以存储有数据写入装置100,所述数据写入装置100可用于在所述数据服务器10不丢失数据的情况下,节省所述数据服务器10可用存储空间,缓解所述数据服务器10的数据存储压力,降低对应的数据写入次数,并相应地提高数据写入效率。其中,所述数据写入装置100可由所述处理器12执行。
请参照图3,是本发明较佳的实施例提供的数据写入方法的流程示意图。在本发明实施例中,所述数据写入方法应用于与至少一个用户终端20通信连接的数据服务器10,所述数据服务器10包括共享内存及存储数据库,其中所述共享内存及所述存储数据库设置于所述存储介质13内。下面对图3所示的数据写入方法的具体流程和步骤进行详细阐述。
在本发明实施例中,所述数据写入方法包括以下步骤:
步骤S310,接收至少一个用户终端20发送的用户行为数据,并将各用户终端20对应的用户行为数据映射到共享内存中。
在本实施例中,所述共享内存为所述数据服务器10在存储介质13的内存中单独划分出的,用于对各用户终端20发送的用户行为数据进行映射存储的存储空间。所述数据服务器10在接收到所述至少一个用户终端20发送的用户行为数据后,会将所述用户行为数据映射到所述共享内存中,以通过所述共享内存确保所述数据服务器10接收到的所有用户行为数据不会丢失。
步骤S320,对预设时间段内所述共享内存中各用户终端20对应的所有用户行为数据进行数据合并,得到各用户终端20在对应时间段内的行为数据变化情况。
在本实施例中,所述预设时间段为相邻预设时间间隔之间的时间段,所述数据服务器10可通过对预设时间间隔进行设置的方式,完成对所述预设时间段的设置。
可选地,请参照图4,是图3中所示的步骤S320包括的子步骤的流程示意图。在本实施例中,所述步骤S320可以包括子步骤S321、子步骤S322及子步骤S323,所述子步骤S321、子步骤S322及子步骤S323如下所示:
子步骤S321,对所述预设时间段内映射到所述共享内存的用户行为数据进行提取。
在本实施例中,所述数据服务器10可通过所述共享内存中映射的用户行为数据的映射时间进行读取的方式,将映射时间处于所述预设时间段内的用户行为数据从所有用户行为数据中提取出来。
子步骤S322,对提取到的各用户行为数据进行终端识别,并将各用户行为数据划分到对应用户终端20下。
在本实施例中,所述数据服务器10在提取出所述预设时间段内映射的所有用户行为数据后,将对提取到的每个用户行为数据进行识别,从而判断出各用户行为数据对应的用户终端20,并将对应同一用户终端20的用户行为数据划分到一起。
子步骤S323,根据映射先后顺序对同一用户终端20的所有用户行为数据进行排序,并对所述所有用户行为数据进行相互比较,得到对应用户终端20在所述预设时间段内的行为数据变化情况。
在本实施例中,所述行为数据变化情况为对应用户终端20的各用户行为数据在所述预设时间段内对应的行为数据变化次数,例如,一个用户终端20的用户行为数据在5分钟中由1变为10,则对应的行为数据变化次数为9。
请再次参照图3,步骤S330,对存储数据库的数据写入压力进行检测,得到所述存储数据库当前的写入压力情况。
在本实施例中,所述存储数据库用于对所述共享内存中映射的某些用户行为数据进行写入存储,从而节省所述数据服务器10的可用存储空间,降低所述数据服务器10的存储压力,提高整个数据写入过程的数据写入效率。
可选地,请参照图5,是图3中所示的步骤S330包括的子步骤的流程示意图。在本实施例中,所述步骤S330可以包括子步骤S331、子步骤S332及子步骤S333,所述子步骤S331、子步骤S332及子步骤S333如下所示:
子步骤S331,对所述存储数据库中当前存储的各用户终端20对应的用户行为数据量进行检测。
在本实施例中,所述数据服务器10可采用分类存储的方式将各用户终端20的用户行为数据写入存储到所述存储数据库中。
子步骤S332,基于各用户终端20在所述存储数据库和所述共享内存中的用户行为数据量,计算得到每个用户终端20在预设时间段内映射的用户行为数据量与所述存储数据库中的用户行为数据量之间的数据量比值。
在本实施例中,所述数据服务器10可在所述共享内存处获得各用户终端20在预设时间段内映射的用户行为数据量,可在所述存储数据库处获得各用户终端20写入存储的用户行为数据量,并通过上述两种用户行为数据量对应得到各用户终端20对应的所述数据量比值。
子步骤S333,将各用户终端20对应的数据量比值分别与预设比值阈值进行比较,若大于,则判定所述存储数据库对对应用户终端20的用户行为数据的写入压力过大。
步骤S340,根据所述存储数据库当前的写入压力情况,及各用户终端20在预设时间段内的行为数据变化情况,为对应用户终端20分配数据写入次数。
在本实施例中,所述根据所述存储数据库当前的写入压力情况,及各用户终端20在预设时间段内的行为数据变化情况,为对应用户终端20分配数据写入次数的步骤,包括:
若所述存储数据库对对应用户终端20的用户行为数据的写入压力过大时,根据所述用户终端20在预设时间段内的行为数据变化次数,及预设写入次数分配策略,对应地为所述用户终端20分配对应匹配的数据写入次数。
其中,所述预设写入次数分配策略可以是,将一个次数预设值分别与各用户终端20的行为数据变化次数进行相减得到的差值,作为各用户终端20对应分配的数据写入次数,例如,一个次数预设值为100,一个用户终端20的行为数据变化次数为99,另一个用户终端20的行为数据变化次数为80时,前一用户终端20分配到的数据写入次数为1次,后一用户终端20分配到的数据写入次数为20次。所述预设写入次数分配策略也可以是,将一个比例预设值分别与各用户终端20的行为数据变化次数进行相乘得到的积值,作为各用户终端20对应分配的数据写入次数,例如,一个次数预设值为0.5,一个用户终端20的行为数据变化次数为10,另一个用户终端20的行为数据变化次数为14时,前一用户终端20分配到的数据写入次数为5次,后一用户终端20分配到的数据写入次数为7次。其中所述预设写入次数分配策略可根据需求进行不同的设置。
步骤S350,根据各用户终端20对应的数据写入次数及预设规则,将所述共享内存中各用户终端20对应的用户行为数据写入到所述存储数据库中。
在本实施例中,所述数据服务器10在获取到各用户终端20对应的数据写入次数后,将依据预设规则将所述共享内存中各用户终端20对应的用户行为数据写入存储到所述存储数据库中,以实现数据写入。
可选地,请参照图6,是图3中所示的步骤S350包括的子步骤的流程示意图。在本实施例中,所述步骤S350可以包括子步骤S351及子步骤S352,所述子步骤S351及子步骤S352如下所示:
子步骤S351,按照预设规则从所述共享内存中对应选取数目与各用户终端20的数据写入次数相同的用户行为数据。
在本实施例中,所述预设规则可以是,按照对应的数据写入次数从所述共享内存中对应用户终端20在预设时间段内排序好了的所有用户行为数据中,对应选取平均等分的用户行为数据,例如,一个用户终端20在预设时间段内的用户行为数据由1变化到100,而该用户终端20分配到数据写入次数为5时,对应选取到的用户行为数据将会是20、40、60、80及100。所述预设规则也可以是,按照对应的数据写入次数从所述共享内存中对应用户终端20在预设时间段内排序好了的所有用户行为数据中,对应选取到倒数数目与所述数据写入次数相同的用户行为数据,例如,一个用户终端20在预设时间段内的用户行为数据由1变化到100,而该用户终端20分配到数据写入次数为5时,对应选取到的用户行为数据将会是96、97、98、99及100。其中所述预设规则可根据需求进行不同的设置。
子步骤S352,将选取到的各用户终端20对应的用户行为数据对应写入到所述存储数据库中。
在本实施例中,所述数据服务器10可按照同一用户终端20下选取到的各用户行为数据的选取次序,依次将同一用户终端20下选取到的用户行为数据对应写入到所述存储数据库中。
请参照图7,是图2中所示的数据写入装置100的方框示意图。在本发明实施例中,所述数据写入装置100可以包括数据映射模块110、数据合并模块120、压力检测模块130、次数分配模块140及数据写入模块150。
所述数据映射模块110,用于接收至少一个用户终端20发送的用户行为数据,并将各用户终端20对应的用户行为数据映射到共享内存中。
在本实施例中,所述数据映射模块110可以执行图3中所示的步骤S310,具体的执行过程可参照上文中对步骤S310的详细描述。
所述数据合并模块120,用于对预设时间段内所述共享内存中各用户终端20对应的所有用户行为数据进行数据合并,得到各用户终端20在对应时间段内的行为数据变化情况。
在本实施例中,所述数据合并模块120可以执行图3中所示的步骤S320,具体的执行过程可参照上文中对步骤S320的详细描述。
可选地,请参照图8,是图7中所示的数据合并模块120的方框示意图。在本实施例中,所述数据合并模块120可以包括数据提取子模块121、数据划分子模块122及数据比较子模块123。
所述数据提取子模块121,用于对所述预设时间段内映射到所述共享内存的用户行为数据进行提取。
所述数据划分子模块122,用于对提取到的各用户行为数据进行终端识别,并将各用户行为数据划分到对应用户终端20下。
所述数据比较子模块123,用于根据映射先后顺序对同一用户终端20的所有用户行为数据进行排序,并对所述所有用户行为数据进行相互比较,得到对应用户终端20在所述预设时间段内的行为数据变化情况。
请再次参照图7,所述压力检测模块130,用于对存储数据库的数据写入压力进行检测,得到所述存储数据库当前的写入压力情况。
在本实施例中,所述压力检测模块130可以执行图3中所示的步骤S330,具体的执行过程可参照上文中对步骤S330的详细描述。
可选地,请参照图9,是图7中所示的压力检测模块130的方框示意图。在本实施例中,所述压力检测模块130可以包括数量检测子模块131、比值计算子模块132及比较判断子模块133。
所述数量检测子模块131,用于对所述存储数据库中当前存储的各用户终端20对应的用户行为数据量进行检测。
所述比值计算子模块132,用于基于各用户终端20在所述存储数据库和所述共享内存中的用户行为数据量,计算得到每个用户终端20在预设时间段内映射的用户行为数据量与所述存储数据库中的用户行为数据量之间的数据量比值。
所述比较判断子模块133,用于将各用户终端20对应的数据量比值分别与预设比值阈值进行比较,若大于,则判定所述存储数据库对对应用户终端20的用户行为数据的写入压力过大。
所述次数分配模块140,用于根据所述存储数据库当前的写入压力情况,及各用户终端20在预设时间段内的行为数据变化情况,为对应用户终端20分配数据写入次数。
在本实施例中,所述次数分配模块140可以执行图3中所示的步骤S340,具体的执行过程可参照上文中对步骤S340的详细描述。
所述数据写入模块150,用于根据各用户终端20对应的数据写入次数及预设规则,将所述共享内存中各用户终端20对应的用户行为数据写入到所述存储数据库中。
可选地,请参照图10,是图7中所示的数据写入模块150的方框示意图。在本实施例中,所述数据写入模块150可以包括数据选取子模块151及数据写入子模块152。
所述数据选取子模块151,用于按照预设规则从所述共享内存中对应选取数目与各用户终端20的数据写入次数相同的用户行为数据。
所述数据写入子模块152,用于将选取到的各用户终端20对应的用户行为数据对应写入到所述存储数据库中。
综上所述,在本发明较佳的实施例提供的数据写入方法、装置及数据服务器中,所述数据写入方法能够节省数据服务器的可用存储空间,缓解数据库的数据存储压力,并相应地提高数据写入效率。所述方法应用于与至少一个用户终端通信连接的数据服务器,所述方法在接收到至少一个用户终端发送的用户行为数据后,会将各用户终端对应的用户行为数据映射到所述数据服务器的共享内存中;所述方法通过对预设时间段内所述共享内存中各用户终端对应的所有用户行为数据进行数据合并,得到各用户终端在对应时间段内的行为数据变化情况;所述方法通过对所述数据服务器的数据写入压力进行检测,得到所述存储数据库当前的写入压力情况;所述方法可根据所述存储数据库当前的写入压力情况,及各用户终端在预设时间段内的行为数据变化情况,为对应用户终端分配数据写入次数,以根据各用户终端对应的数据写入次数及预设规则,将所述共享内存中各用户终端对应的用户行为数据写入到所述存储数据库中,从而使得所述数据服务器在不丢失数据的情况下,能够节省可用存储空间,缓解存储数据库的数据存储压力,减小存储数据库的数据写入次数,并相应地提高数据写入效率。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种数据写入方法,其特征在于,应用于与至少一个用户终端通信连接的数据服务器,所述数据服务器包括共享内存及存储数据库,所述方法包括:
接收所述至少一个用户终端发送的用户行为数据,并将各用户终端对应的用户行为数据映射到所述共享内存中;
对预设时间段内所述共享内存中各用户终端对应的所有用户行为数据进行数据合并,得到各用户终端在对应时间段内的行为数据变化情况;
对所述存储数据库的数据写入压力进行检测,得到所述存储数据库当前的写入压力情况;
根据所述存储数据库当前的写入压力情况,及各用户终端在预设时间段内的行为数据变化情况,为对应用户终端分配数据写入次数;
根据各用户终端对应的数据写入次数及预设规则,将所述共享内存中各用户终端对应的用户行为数据写入到所述存储数据库中。
2.根据权利要求1所述的方法,其特征在于,所述对预设时间段内所述共享内存中各用户终端对应的所有用户行为数据进行数据合并,得到各用户终端在对应时间段内的行为数据变化情况的步骤,包括:
对所述预设时间段内映射到所述共享内存的用户行为数据进行提取;
对提取到的各用户行为数据进行终端识别,并将各用户行为数据划分到对应用户终端下;
根据映射先后顺序对同一用户终端的所有用户行为数据进行排序,并对所述所有用户行为数据进行相互比较,得到对应用户终端在所述预设时间段内的行为数据变化情况。
3.根据权利要求1所述的方法,其特征在于,所述对所述存储数据库的数据写入压力进行检测,得到所述存储数据库当前的写入压力情况的步骤包括:
对所述存储数据库中当前存储的各用户终端对应的用户行为数据量进行检测;
基于各用户终端在所述存储数据库和所述共享内存中的用户行为数据量,计算得到每个用户终端在预设时间段内映射的用户行为数据量与所述存储数据库中的用户行为数据量之间的数据量比值;
将各用户终端对应的数据量比值分别与预设比值阈值进行比较,若大于,则判定所述存储数据库对对应用户终端的用户行为数据的写入压力过大。
4.根据权利要求3所述的方法,其特征在于,所述根据所述存储数据库当前的写入压力情况,及各用户终端在预设时间段内的行为数据变化情况,为对应用户终端分配数据写入次数的步骤,包括:
若所述存储数据库对对应用户终端的用户行为数据的写入压力过大时,根据所述用户终端在预设时间段内的行为数据变化次数,及预设写入次数分配策略,对应地为所述用户终端分配对应匹配的数据写入次数。
5.根据权利要求1所述的方法,其特征在于,所述根据各用户终端对应的数据写入次数及预设规则,将所述共享内存中各用户终端对应的用户行为数据写入到所述存储数据库中的步骤,包括:
按照预设规则从所述共享内存中对应选取数目与各用户终端的数据写入次数相同的用户行为数据;
将选取到的各用户终端对应的用户行为数据对应写入到所述存储数据库中。
6.一种数据写入装置,其特征在于,应用于与至少一个用户终端通信连接的数据服务器,所述数据服务器包括共享内存及存储数据库,所述装置包括:
数据映射模块,用于接收所述至少一个用户终端发送的用户行为数据,并将各用户终端对应的用户行为数据映射到所述共享内存中;
数据合并模块,用于对预设时间段内所述共享内存中各用户终端对应的所有用户行为数据进行数据合并,得到各用户终端在对应时间段内的行为数据变化情况;
压力检测模块,用于对所述存储数据库的数据写入压力进行检测,得到所述存储数据库当前的写入压力情况;
次数分配模块,用于根据所述存储数据库当前的写入压力情况,及各用户终端在预设时间段内的行为数据变化情况,为对应用户终端分配数据写入次数;
数据写入模块,用于根据各用户终端对应的数据写入次数及预设规则,将所述共享内存中各用户终端对应的用户行为数据写入到所述存储数据库中。
7.根据权利要求6所述的装置,其特征在于,所述数据合并模块包括:
数据提取子模块,用于对所述预设时间段内映射到所述共享内存的用户行为数据进行提取;
数据划分子模块,用于对提取到的各用户行为数据进行终端识别,并将各用户行为数据划分到对应用户终端下;
数据比较子模块,用于根据映射先后顺序对同一用户终端的所有用户行为数据进行排序,并对所述所有用户行为数据进行相互比较,得到对应用户终端在所述预设时间段内的行为数据变化情况。
8.根据权利要求6所述的装置,其特征在于,所述压力检测模块包括:
数量检测子模块,用于对所述存储数据库中当前存储的各用户终端对应的用户行为数据量进行检测;
比值计算子模块,用于基于各用户终端在所述存储数据库和所述共享内存中的用户行为数据量,计算得到每个用户终端在预设时间段内映射的用户行为数据量与所述存储数据库中的用户行为数据量之间的数据量比值;
比较判断子模块,用于将各用户终端对应的数据量比值分别与预设比值阈值进行比较,若大于,则判定所述存储数据库对对应用户终端的用户行为数据的写入压力过大。
9.根据权利要求6所述的装置,其特征在于,所述数据写入模块包括:
数据选取子模块,用于按照预设规则从所述共享内存中对应选取数目与各用户终端的数据写入次数相同的用户行为数据;
数据写入子模块,用于将选取到的各用户终端对应的用户行为数据对应写入到所述存储数据库中。
10.一种数据服务器,其特征在于,所述数据服务器包括:
存储介质;
处理器;及
数据写入装置,所述装置存储于所述存储介质中并包括由所述处理器执行的软件功能模块,所述数据服务器包括共享内存及存储数据库,所述装置包括:
数据映射模块,用于接收至少一个用户终端发送的用户行为数据,并将各用户终端对应的用户行为数据映射到所述共享内存中;
数据合并模块,用于对预设时间段内所述共享内存中各用户终端对应的所有用户行为数据进行数据合并,得到各用户终端在对应时间段内的行为数据变化情况;
压力检测模块,用于对所述存储数据库的数据写入压力进行检测,得到所述存储数据库当前的写入压力情况;
次数分配模块,用于根据所述存储数据库当前的写入压力情况,及各用户终端在预设时间段内的行为数据变化情况,为对应用户终端分配数据写入次数;
数据写入模块,用于根据各用户终端对应的数据写入次数及预设规则,将所述共享内存中各用户终端对应的用户行为数据写入到所述存储数据库中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711284851.3A CN108038171B (zh) | 2017-12-07 | 2017-12-07 | 数据写入方法、装置及数据服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711284851.3A CN108038171B (zh) | 2017-12-07 | 2017-12-07 | 数据写入方法、装置及数据服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108038171A true CN108038171A (zh) | 2018-05-15 |
CN108038171B CN108038171B (zh) | 2020-07-03 |
Family
ID=62096228
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711284851.3A Active CN108038171B (zh) | 2017-12-07 | 2017-12-07 | 数据写入方法、装置及数据服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108038171B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110275882A (zh) * | 2019-05-08 | 2019-09-24 | 平安科技(深圳)有限公司 | 基于hbase的数据写入方法、***、装置及可读存储介质 |
CN113411503A (zh) * | 2021-07-01 | 2021-09-17 | 上海卓易科技股份有限公司 | 一种云手机相机预览方法、装置及计算机设备、存储介质 |
WO2022151989A1 (zh) * | 2021-01-14 | 2022-07-21 | 苏州浪潮智能科技有限公司 | 一种数据io的处理方法、装置、存储介质及设备 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101719260A (zh) * | 2009-12-01 | 2010-06-02 | 中国建设银行股份有限公司 | 数据监控方法、***以及监控服务端 |
CN102420814A (zh) * | 2011-11-21 | 2012-04-18 | 航天科工深圳(集团)有限公司 | 一种数据访问方法、装置及服务器 |
CN102891873A (zh) * | 2011-07-21 | 2013-01-23 | 腾讯科技(深圳)有限公司 | 一种存储日志数据的方法及日志数据存储*** |
CN103778041A (zh) * | 2012-10-18 | 2014-05-07 | 腾讯科技(北京)有限公司 | 用于互联网的数据监控方法和装置 |
CN105005617A (zh) * | 2015-07-21 | 2015-10-28 | 领航动力信息***有限公司 | 一种时间序列数据的存储方法及装置 |
CN105095240A (zh) * | 2014-05-04 | 2015-11-25 | ***股份有限公司 | 数据库的数据样本采集 |
CN105589881A (zh) * | 2014-10-23 | 2016-05-18 | 大唐软件技术股份有限公司 | 一种数据处理方法和装置 |
CN107229673A (zh) * | 2017-04-20 | 2017-10-03 | 努比亚技术有限公司 | Hbase数据库的数据写入方法、Hbase终端及存储介质 |
-
2017
- 2017-12-07 CN CN201711284851.3A patent/CN108038171B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101719260A (zh) * | 2009-12-01 | 2010-06-02 | 中国建设银行股份有限公司 | 数据监控方法、***以及监控服务端 |
CN102891873A (zh) * | 2011-07-21 | 2013-01-23 | 腾讯科技(深圳)有限公司 | 一种存储日志数据的方法及日志数据存储*** |
CN102420814A (zh) * | 2011-11-21 | 2012-04-18 | 航天科工深圳(集团)有限公司 | 一种数据访问方法、装置及服务器 |
CN103778041A (zh) * | 2012-10-18 | 2014-05-07 | 腾讯科技(北京)有限公司 | 用于互联网的数据监控方法和装置 |
CN105095240A (zh) * | 2014-05-04 | 2015-11-25 | ***股份有限公司 | 数据库的数据样本采集 |
CN105589881A (zh) * | 2014-10-23 | 2016-05-18 | 大唐软件技术股份有限公司 | 一种数据处理方法和装置 |
CN105005617A (zh) * | 2015-07-21 | 2015-10-28 | 领航动力信息***有限公司 | 一种时间序列数据的存储方法及装置 |
CN107229673A (zh) * | 2017-04-20 | 2017-10-03 | 努比亚技术有限公司 | Hbase数据库的数据写入方法、Hbase终端及存储介质 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110275882A (zh) * | 2019-05-08 | 2019-09-24 | 平安科技(深圳)有限公司 | 基于hbase的数据写入方法、***、装置及可读存储介质 |
WO2022151989A1 (zh) * | 2021-01-14 | 2022-07-21 | 苏州浪潮智能科技有限公司 | 一种数据io的处理方法、装置、存储介质及设备 |
CN113411503A (zh) * | 2021-07-01 | 2021-09-17 | 上海卓易科技股份有限公司 | 一种云手机相机预览方法、装置及计算机设备、存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN108038171B (zh) | 2020-07-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108365967B (zh) | 动态配置通讯参数的方法、***、终端及计算机可读存储介质 | |
CN106909333B (zh) | 显示屏的配屏方法及装置 | |
CN108038171A (zh) | 数据写入方法、装置及数据服务器 | |
CN105163135B (zh) | 网络资源的下载方法、装置及***和移动终端 | |
US20130019087A1 (en) | System structure management device, system structure management method, and program | |
CN110365536A (zh) | 一种物联网设备的故障提示方法及相关装置 | |
CN114244717B (zh) | 虚拟网卡资源的配置方法、装置、计算机设备及介质 | |
CN107729570A (zh) | 用于服务器的数据迁移方法和装置 | |
CN106534281A (zh) | 一种数据请求的响应方法、装置及*** | |
CN110221822A (zh) | 特效的合并方法、装置、电子设备及计算机可读存储介质 | |
CN107396199A (zh) | 弹幕数据展示方法及装置、计算机可读存储介质 | |
CN107329991A (zh) | 一种列表页访问和展示方法及其*** | |
CN108733787A (zh) | 数据库操作方法、装置、电子设备及存储介质 | |
CN104267974B (zh) | 业务接口的调用方法及装置 | |
CN110300165A (zh) | 一种功能程序的调用方法、装置、设备及存储介质 | |
CN108369538A (zh) | 下载视觉资产 | |
CN115665284A (zh) | 基于分布式配置中心的报文处理方法、装置及计算机设备 | |
CN106067158B (zh) | 一种基于gpu的特征比对方法及装置 | |
CN108595211A (zh) | 用于输出数据的方法和装置 | |
CN107423395A (zh) | 导航数据处理*** | |
CN110286981A (zh) | 虚拟云桌面服务器的使用状态的显示方法及显示*** | |
CN107391003A (zh) | 导航数据处理方法 | |
CN109165723A (zh) | 用于处理数据的方法和装置 | |
CN109783321A (zh) | 监控数据管理方法、装置、终端设备 | |
CN110162410A (zh) | 一种消息处理方法和装置 |
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 | ||
EE01 | Entry into force of recordation of patent licensing contract | ||
EE01 | Entry into force of recordation of patent licensing contract |
Application publication date: 20180515 Assignee: Hangzhou spoon Network Technology Co., Ltd Assignor: Hangzhou dianhun Network Technology Co., Ltd Contract record no.: X2021330000727 Denomination of invention: Data writing method, device and data server Granted publication date: 20200703 License type: Common License Record date: 20211109 |