CN106547788A - 数据处理方法和装置 - Google Patents
数据处理方法和装置 Download PDFInfo
- Publication number
- CN106547788A CN106547788A CN201510608871.6A CN201510608871A CN106547788A CN 106547788 A CN106547788 A CN 106547788A CN 201510608871 A CN201510608871 A CN 201510608871A CN 106547788 A CN106547788 A CN 106547788A
- Authority
- CN
- China
- Prior art keywords
- order
- default
- default file
- key
- file
- 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
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/174—Redundancy elimination performed by the file system
- G06F16/1744—Redundancy elimination performed by the file system using compression, e.g. sparse files
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/565—Conversion or adaptation of application format or content
- H04L67/5651—Reducing the amount or size of exchanged application data
Abstract
本发明公开了一种数据处理方法和装置。该数据处理方法包括:解析日志记录,得到解析结果;分析业务需求和解析结果,得到对应的命令和键;批量压缩命令和键,得到压缩结果;将压缩结果保存到第一预设文件;将第一预设文件的内容提交至预设数据库。通过本发明,降低了数据处理占用网络资源的占用量。
Description
技术领域
本发明涉及计算机领域,具体而言,涉及一种数据处理方法和装置。
背景技术
在计算机数据处理中,日志记录经过日志收集和分发模块分发后,进入编程模块进行计算,在对计算结果保存到数据库的过程中,需要对指定的键执行相应的命令。目前采用的数据保存方式主要是将每一条包含命令和键的数据项通过客户端直接发送到指定的数据库服务器执行。但是,现有的方案存在一些弊端,在一些数据库,比如,redis和hbase中,客户端和服务器之间是分布式的,它们的交流基于网络,采用这样一种数据的存储方式使得客户端和服务器之间的交流过于频繁,客户端需要不断发起请求,服务器根据客户端发送的请求不断响应,因此在数据存储过程中占用大量网络资源。对于每一数据项都要执行一次提交到数据库的操作,在数据量比较大的情况下,数据处理效率低,降低了系统吞吐量。
针对相关技术中,针对数据处理占用网络资源量大的问题,目前尚未提出有效的解决方案。
发明内容
本发明的主要目的在于提供一种数据处理方法和装置,以解决数据处理占用网络资源量大问题。
为了实现上述目的,根据本发明的一个方面,提供了一种数据处理方法,该方法包括解析日志记录,得到解析结果;分析业务需求和解析结果,得到对应的命令和键;批量压缩命令和键,得到压缩结果;将压缩结果保存到第一预设文件;将第一预设文件的内容提交至预设数据库。
进一步地,解析日志记录,得到解析结果包括:对日志记录进行分解,得到业务需求所需的业务字段。
进一步地,批量压缩命令和键,得到压缩结果包括:将命令和键提取至预设对象,将预设对象中相同键的相同类型命令进行合并,得到合并后的命令,其中,合并后的命令与键一一对应。
进一步地,在将压缩结果保存到第一预设文件之后,该方法包括:统计第一预设文件中合并后的命令的个数;判断第一预设文件中合并后的命令的个数是否大于或等于预设阈值;如果判断出第一预设文件中的合并后的命令个数大于或等于预设阈值,则进行刷新操作,其中,刷新操作包括将第一预设文件的后缀名修改为预设后缀名,并新建预设文件,得到第二预设文件,将再次合并后的命令和键保存到第二预设文件。
进一步地,如果判断出第一预设文件中的合并后的命令个数小预设阈值,该方法还包括:获取第一预设文件的修改时间;计算修改时间与当前时间的差值,得到预设时间差;判断预设时间差是否超过预设时间;以及如果判断出预设时间差超过预设时间,进行刷新操作。
进一步地,将第一预设文件的内容提交至预设数据库包括:读取第一预设文件;判断第一预设文件的后缀名是否为预设后缀名;如果判断出第一预设文件的后缀名为预设后缀名,提交第一预设文件至预设数据库。
为了实现上述目的,根据本发明的另一方面,提供了一种数据处理的装置,该装置包括:解析单元,用于解析日志记录,得到解析结果;分析单元,用于分析业务需求和解析结果,得到对应的命令和键;压缩单元,用于批量命令和键,得到压缩结果;第一保存单元,用于将压缩结果保存到第一预设文件;以及提交单元,用于将第一预设文件的内容提交至预设数据库。
进一步地,解析单元包括:分解模块,用于对所述日志记录进行分解,得到所述业务需求所需的业务字段。
进一步地,压缩单元包括:提取模块,用于将命令和键提取至预设对象;合并模块,用于将预设对象中相同键的相同类型命令进行合并,得到合并后的命令,其中,合并后的命令与键一一对应。
进一步地,在将压缩结果保存到第一预设文件之后,装置还包括:第一统计单元,用于统计第一预设文件中合并后的命令的个数;第一判断单元,用于判断第一预设文件中合并后的命令的个数是否大于或等于预设阈值;以及刷新单元,用于在判断出预设文件中的合并后的命令个数大于或等于预设阈值,进行刷新操作,其中,刷新操作包括将预设文件的后缀名修改为预设后缀名,并新建预设文件,得到第二预设文件,将再次合并后的命令和键保存到第二预设文件。
进一步地,如果判断出第一预设文件中的合并后的命令个数小于预设阈值,该装置还包括:获取单元,用于获取第一预设文件的修改时间;计算单元,用于计算修改时间与当前时间的差值,得到预设时间差;第二判断单元,用于判断预设时间差是否超过预设时间,其中,刷新单元用于在判断出预设时间差超过预设时间时,进行刷新操作。
进一步地,提交单元包括:读取模块,用于读取第一预设文件;判断模块,用于判断第一预设文件的后缀名是否为预设后缀名;提交模块,用于在判断出第一预设文件的后缀名为预设后缀名,提交第一预设文件至预设数据库。
本发明通过对日志记录进行解析,并分析业务需求和解析结果,提取对应的命令和键,并对命令和键在客户端进行压缩处理,批量提交至服务器的预设数据库,这就使得客户端与服务器之间的通信次数和数据流量降低,从而解决了数据处理占用网络资源量大的问题,进而达到了降低数据处理占用网络资源量的效果。
附图说明
构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明第一实施例的数据处理方法的流程图;
图2是根据本发明第二实施例的数据处理方法的流程图;
图3是根据本发明第三实施例的数据处理方法的流程图;
图4是根据本发明第四实施例的数据处理方法的流程图;
图5是根据本发明第五实施例的数据处理方法的流程图;以及
图6是根据本发明实施例的数据处理装置的示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本发明提供了一种数据处理方法,图1是根据本发明第一实施例的数据处理方法的流程图。如图1所示,该方法包括以下的步骤:
步骤S102,解析日志记录,得到解析结果。
日志记录经过收集器收集和分布式消息系统,比如kafka分布式消息系统接收之后,对收集的日志记录进行分发处理。在对收集的日志记录经过分发处理之后,对日志记录进行解析。可选地,采用分布式解析方法,得到解析结果。解析结果包括对日志记录进行分解,得到业务需求所需的业务字段。
业务需求是指分析用户问题,提取解决问题所需的需求数据。举例而言,业务需求为统计业务的访问(Page View,简称为PV)量,也即,客户端对网页页面的浏览量或点击量,客户端每对网页页面进行一次浏览或点击,即被视为一次访问,从而通过对网页页面的浏览量或点击量统计出对业务的访问量;业务需求也可以是独立访客(Unique Visitor,简称为UV)数,也即,访问预设网站的客户端作为一个独立的访客,在一定时间段内持续访问,即被视为一次访问;业务需求也可以是请求的服务每隔一定时间的可用性,也即,对请求服务在每隔一定时间可以访问成功的次数;业务需求也可以是客户端在请求服务时的平均请求时延,也可以是某个时间段内对访问流量进行排序,得到访问流量最大或最小的前N个具体访问地址。
步骤S104,分析业务需求和解析结果,得到对应的命令和键。
分析业务需求和解析结果,也即,分析业务需求和业务需求所需的业务字段,得到业务需求和业务需求所需的业务字段对应的命令和键,其中,命令可以对键进行操作。
举例而言,分析业务需求和解析结果,得到对应的命令和键,可以是分析统计业务的PV量和对PV量日志记录进行分解得到PV量所需的业务字段,而得到的对应的命令和键;也可以是分析UV数和对UV数日志记录进行分解得到UV数所需的业务字段,而得到的对应的命令和键;也可以是分析请求服务每隔一定时间的可用性和对请求服务对应的日志记录进行分解得到的请求服务所需的业务字段,而得到的对应的命令和键;也可以是分析客户端在请求服务时的平均请求时延和对平均请求时延进行分解得到的平均请求时延的业务字段,而得到的对应的命令和键;也可以是分析某个时间段内对访问流量进行排序,得到访问流量最大或最小的前N个具体访问地址和对与其对应的日志记录进行分解,得到的对应的命令和键。
步骤S106,批量压缩命令和键,得到压缩结果。
在分析业务需求和解析结果,得到对应的命令和键之后,对得到的命令和键进行批量压缩。首先将命令和键提取至预设对象,可选地,在客户端将命令和键提取到Java内存缓冲区,也即,对象压缩输出。然后将预设对象中相同键的相同类型命令进行合并,得到合并后的命令,其中,合并后的命令与键一一对应,从而降低了客户端与服务器之间的通信次数和数据流量。
具体而言,对命令和键进行压缩为对相同键的相同类型命令对应的操作进行合并。比如,一条命令对键进行加1操作,另一条命令对相同键进行加2操作,则两条命令将被压缩成一条对相同键进行加3的命令。
步骤S108,将压缩结果保存到第一预设文件。
将压缩结果保存到第一预设文件包括将预设对象的命令和键批量保存到第一预设文件。在将合并后的命令和键保存到第一预设文件之后,设定预设阈值,并统计第一预设文件中合并后的命令的个数;判断第一预设文件中合并后的命令的个数是否大于或等于预设阈值;如果判断出第一预设文件中的合并后的命令个数大于或等于预设阈值,也即,第一预设文件保存的合并后的命令和键保存满之后,进行刷新操作。具体而言,刷新操作包括将第一预设文件的后缀名修改为预设后缀名,并新建预设文件,得到第二预设文件,在第一预设文件保存的合并后的命令和键保存满之后,将再次合并后的命令和键保存到第二预设文件。可选地,保存合并后的命令和键的文件有多个,当第二预设文件中保存的合并后的命令个数大于或等于预设阈值,也进行刷新操作,将第二预设文件的后缀名修改为预设后缀名,并再次新建预设文件,得到新的预设文件,从而保存再次合并后的命令和键,实现了将合并后的命令和键保存在多个文件中。
如果判断出第一预设文件中的合并后的命令个数小于预设阈值,则获取第一预设文件的修改时间,具体而言,当第一预设文件中的保存的内容与之前保存的内容不同时,可视为一次修改,计算修改时间与当前时间的差值,得到预设时间差;判断预设时间差是否超过预设时间;如果判断出预设时间差超过预设时间,则进行刷新操作,将第一预设文件的后缀名修改为预设后缀名,并新建预设文件,得到第二预设文件,在第一预设文件保存的命令和键保存满之后,将再次合并后的命令和键保存到第二预设文件。
举例而言,设第一预设文件的预设阈值设为10000,预设时间设为5秒。如果判断出第一预设文件中的合并后的命令个数大于或等于10000,则第一预设文件保存的合并后的命令和键保存满,则进行刷新操作,将第一预设文件的后缀名修改为预设后缀名,比如,将第一预设文件的后缀名修改为“.done”,并且新建预设文件,得到第二预设文件,从而使第一预设文件完成写入工作。可选地,当第二预设文件中保存的合并后的命令个数大于或等于第二预设文件的预设阈值,第二预设文件也进行刷新操作,将第二预设文件的后缀名修改为预设后缀名,并再次新建预设文件,得到新的预设文件,从而保存再次合并后的命令和键,从而实现了将合并后的命令和键保存在多个文件中。如果判断出第一预设文件中的合并后的命令个数小于10000,则获取第一预设文件的修改时间,计算修改时间与当前时间的差值,得到预设时间差;判断预设时间差是否超过5秒,如果预设时间差超过5秒,则仍然进行刷新操作,进而达到了降低数据处理占用网络资源量的效果。
步骤S110,将第一预设文件中的内容提交到预设数据库。
第一预设文件保存根据分析业务需求和解析结果,提取对应的命令和键将第一预设文件的内容提交至预设数据库,预设数据库为服务器端的预设数据库。可选的,提交合并后的命令和键到预设数据库redis或hbase中。首先读取第一预设文件,判断第一预设文件的后缀名是否为预设后缀名,可选地,预设后缀名为“.done”。如果判断出第一预设文件的后缀名为预设后缀名,则提交第一预设文件的合并后的命令和键到预设数据库,将预设数据库中的合并后的命令和键提交给编程模块storm框架的后台守护进程执行,比如,storm daemon。向预设数据库redis或hbase中提交合并后的命令和键的方法是根据不同预设数据库使用的压缩算法和提交合并后的命令和键到服务器的方法来定的。通过向预设数据库redis或hbase中提交合并后的命令和键使得客户端与服务器之间的通信次数和数据流量降低,进而达到了降低数据处理占用网络资源量的效果。
该实施例采用解析日志记录,得到解析结果,分析业务需求和解析结果,进一步根据业务需求和业务需求所需的业务字段得到对应的命令和键,然后批量压缩命令和键,得到压缩结果,再将压缩后的结果保存到第一预设文件中,最后将第一预设文件中的内容提交到预设数据库,通过对命令和键在客户端进行压缩处理,批量提交至服务器的预设数据库,从而降低了客户端与服务器之间的通信次数和数据流量,进一步降低了数据处理过程中网络资源的占用量。
图2是根据本发明第二实施例的数据处理方法的流程图。如图2所示,该方法包括以下步骤:
步骤S202,对日志记录收集分发。
日志记录经过收集器收集和分布式消息系统接收,比如,通过收集器collector和分布式消息系统kafka接收。
步骤S204,通过编程模块计算。
日志记录在客户端经过收集器收集、接收以及分发之后,进行解析处理,可选地,进入编程模块storm框架中进行解析,得到解析结果。其中,解析结果包括对日志记录进行分解,得到业务需求所需的业务字段。通过分析业务需求和业务需求所需的业务字段,得到业务需求和业务需求所需的业务字段对应的命令和键。然后将命令和键提取至预设对象,进行批量压缩,也即,将预设对象中相同键的相同类型命令进行合并,得到合并后的命令,其中,合并后的命令与键一一对应,将其保存在第一预设文件中。
步骤S206,开启后台进程。
在分析业务需求和解析结果,得到对应的命令和键,并对得到的命令和键进行批量压缩并保存在第一预设文件之后,开启后台进程,比如,开启storm daemon后台进程。
步骤S208,提交到预设数据库。
通过开启后台进程将第一预设文件中的合并后的命令和键提交到服务器端的预设数据库,其中,预设数据库可以为redis或hbase。具体而言,向不同的预设数据库提交的合并后的命令和键所对应的批量压缩算法不同,提交的合并后的命令和键到服务器的使用方法也不同。通过向预设数据库redis或hbase中提交合并后的命令和键使得降低了客户端发送请求和服务器端进行响应的次数,并且降低了数据流量。
该实施例采用对日志记录进行收集分发,通过编程模块计算,来分析业务需求和业务需求所需的业务字段,得到对应的命令和键,然后将命令和键进行压缩得到合并后的命令和键,并且批量压缩具有一一对应关系的合并后的命令和键,最后开启后台进程,提交合并后的命令和键到服务器端的预设数据库redis或hbase,这就使得客户端与服务器之间的通信次数和数据流量降低进而达到了降低数据处理占用网络资源量的效果。
图3是根据本发明第三实施例的数据处理方法的流程图。如图3所示,该方法包括以下步骤:
步骤S302,通过编程模块解析日志记录。
日志记录通过编程模块storm框架进行解析,具体而言,编程模块storm框架对日志记录进行分解,提取业务需求所需的业务字段,并且分析业务需求和业务需求所需的业务字段,得到业务需求和业务需求所需的业务字段对应的命令和键。
步骤S304,提取命令和键。
在得到业务需求和业务需求所需的业务字段对应的命令和键之后,提取命令和键,比如,将命令和键提取至预设对象Output中。在一次数据处理过程中,提取命令和键可以被多次执行,提取多个键和命令。
步骤S306,对命令和键进行压缩。
根据最终将业务需求和业务需求所需的业务字段对应的命令和键保存到预设数据库redis或hbase,获取预设数据库redis或hbase对应的压缩算法,对预设对象中相同键的相同类型命令进行合并,得到合并后的命令,使得合并后的命令与键一一对应,得到压缩结果。
步骤S308,写入第一预设文件。
在一次数据处理结束之后,将批量压缩的合并后的命令和键写入第一预设文件中。
该实施例通过编程模块解析日志记录,提取业务需求所需的业务字段,并且分析业务需求和业务需求所需的业务字段得到对应的命令和键,然后提取命令和键到预设对象中,再根据不同预设数据库的压缩算法对命令和键进行压缩,得到合并后的命令和键,将合并后的命令和键写入第一预设文件,从而达到了对压缩结果进行缓存的目的。
图4是根据本发明第四实施例的数据处理方法的流程图,如图4所示,该方法包括以下步骤:
步骤S401,判断第一预设文件中的命令个数是否大于或等于预设阈值。
在对业务需求和业务需求所需的业务字段对应的命令和键进行压缩得到合并后的命令和键,并且保存到第一预设文件之后,统计第一预设文件中的合并后的命令个数,判断第一预设文件中的命令个数是否大于或等于预设阈值,也即,判断第一预设文件是否已经保存满合并后的命令和键。
步骤S402,判断第一预设文件中的最后修改时间与当前时间之差是否超出预设时间。
如果判断出第一预设文件中的命令个数没有超过预设阈值,判断第一预设文件的最后修改时间与当前时间之差是否超出预设时间,也即,第一预设文件中保存的合并后的命令和键是否在预设时间有更新。
步骤S403,刷新操作。
如果判断出第一预设文件中文件命令个数大于或等于预设阈值,或者判断第一预设文件的最后修改时间与当前时间之差超出预设时间超过预设时间,则进行刷新操作,将正在操作的第一预设文件的后缀名修改成预设后缀名,比如,预设后缀名为“.done”,并新建预设文件,得到第二预设文件,将再次合并后的命令和键存入第二预设文件,从而实现将合并后的命令和键保存在多个文件中。
步骤S404,判断是否关闭线程。
如果合并后的命令和键在第一预设文件中的时间没有超过预设时间,或者在执行刷新操作结束后,判断是否关闭线程。如果不关闭线程,则返回到步骤S401执行第一预设文件中的命令个数是否大于或等于预设阈值的判断。如果关闭线程,则将第一预设文件中的内容提交到预设数据库,如果不关闭线程,则继续执行步骤S401。
该实施例通过判断第一预设文件中的命令条数是否大于或等于预设阈值,判断合并后的命令和键在第一预设文件中的时间是否大于预设时间来决定是否进行刷新操作,如果判断出第一预设文件中的命令条数大于或等于预设阈值,或者判断出刷新操作时间间隔大于预设时间,则对第一预设文件中命令所存储的缓冲区进行刷新操作,进一步判断是否需要关闭线程,从而达到了对缓冲区进行刷新的目的。
图5是根据本发明第五实施例的数据处理方法的流程图。如图5所示,该方法包括以下步骤:
步骤S501,读取第一预设文件。
系统开启新线程刷新预设数据库。第一预设文件中存储有对业务需求和业务需求所需的业务字段对应的命令和键进行压缩得到合并后的命令和键。从第一预设文件的路径中读取第一预设文件,同时获取第一预设文件的后缀名。
步骤S502,判断第一预设文件的后缀名是否为预设后缀名。
在读取第一预设文件之后,判断第一预设文件的后缀名是否已经修改为预设后缀名,比如,判断第一预设文件的后缀名是否为“.done”。如果判断出第一预设文件的后缀名修改为预设后缀名,则该第一预设文件已经完全完成写入工作。可选地,合并后的命令和键保存在多个文件中,确定每个文件是否完成写入工作都通过判断具体的文件的后缀名是否修改为预设后缀名来确定该文件是否完成写入工作。
步骤S503,将第一预设文件的内容提交至预设数据库。
在判断出第一预设文件的后缀名为预设后缀名之后,将第一预设文件的内容提交至预设数据库。如果判断出第一预设文件的后缀名不是预设后缀名,则执行步骤S501,读取第一预设文件。可选地,合并后的命令和键保存在多个文件中,在确定具体的文件的后缀名修改为预设后缀名之后,将该文件的内容提交至预设数据库。
该实施例通过读取保存有合并后的命令和键的文件,判断指定路径的该文件的后缀名是否为预设后缀名,如果判断出指定路径的该文件的后缀名为预设后缀名,再批量将该文件中的内容提交到预设数据库,从而实现了将合并后的的命令和键提交到预设数据,减少了数据处理过程中网络资源的占用量,从而提高了数据处理效率。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
为了实现上述目的,根据本发明的另一方面,提供了一种数据处理的装置。图6是根据本发明实施例的数据处理装置的示意图,如图6所示,该装置包括:解析单元10,分析单元20,压缩单元30,第一保存单元40和提交单元50。
解析单元10,用于解析日志记录,得到解析结果。解析单元包括分解模块,用于对日志记录进行分解,得到业务需求所需的业务字段。
分析单元20,用于分析业务需求和解析结果,得到对应的命令和键。
解析单元10在收集日志记录之后,对日志记录进行解析。
压缩单元30,用于批量压缩解析结果,得到压缩结果。压缩单元包括:提取模块,用于将命令和键提取至预设对象;合并模块,用于将预设对象中相同键的相同类型命令进行合并,得到合并后的命令,其中,合并后的命令与键一一对应。
第一保存单元40,用于将压缩结果保存到第一预设文件。在将压缩结果保存到第一预设文件之后,该装置还包括:第一统计单元,用于统计第一预设文件中合并后的命令的个数;第一判断单元,用于判断第一预设文件中合并后的命令的个数是否大于或等于预设阈值;以及刷新单元,用于在判断出第一预设文件中的合并后的命令个数大于或等于预设阈值,进行刷新操作,其中,刷新操作包括将第一预设文件的后缀名修改为预设后缀名,并新建预设文件,得到第二预设文件,将再次合并后的命令和键保存到第二预设文件。如果判断出第一预设文件中的合并后的命令个数小于预设阈值,该装置还包括:获取单元,用于获取第一预设文件的修改时间;计算单元,用于计算修改时间与当前时间的差值,得到预设时间差;第二判断单元,用于判断预设时间差是否超过预设时间,其中,刷新单元用于在判断出预设时间差超过预设时间时,进行刷新操作。
提交单元50,用于将第一预设文件的内容提交至预设数据库。该提交单元包括:读取模块,用于读取第一预设文件;判断模块,用于判断第一预设文件的后缀名是否为预设后缀名;以及提交模块,用于在判断出第一预设文件的后缀名为预设后缀名,提交第一预设文件至预设数据库。
该实施例通过解析单元10解析日志记录,得到解析结果,通过分析单元20分析业务需求和解析结果,得到对应的命令和键,通过压缩单元30批量压缩命令和键,得到压缩结果,通过第一保存单元40将压缩结果保存到第一预设文件,最后通过提交单元50将第一预设文件的内容提交至预设数据库,使得客户端与服务器之间的通信次数和数据流量降低,从而解决了数据处理占用网络资源量大的问题,进而达到了降低数据处理占用网络资源量的效果。
本发明实施例通过对日志进行解析得到解析结果,并分析业务需求和解析结果得到与业务需求和解析结果对应的命令和键,再将命令和键进行压缩得到压缩结果,包括合并后的命令和键,再将压缩结果保存到第一预设文件进行缓存,最后将预设文件的内容提交至预设数据库,大大减少分布式网络传输过程中的数据量,减少了客户端与服务器之间的交流,减少了网络资源的占用量,大幅度提高了系统的吞吐量,从而保证了编程模块在数据处理过程中的可靠性。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (12)
1.一种数据处理方法,其特征在于,包括:
解析日志记录,得到解析结果;
分析业务需求和所述解析结果,得到对应的命令和键;
批量压缩所述命令和所述键,得到压缩结果;
将所述压缩结果保存到第一预设文件;以及
将所述第一预设文件的内容提交至预设数据库。
2.根据权利要求1所述的方法,其特征在于,
解析所述日志记录,得到所述解析结果包括:对所述日志记录进行分解,得到所述业务需求所需的业务字段。
3.根据权利要求1所述的方法,其特征在于,批量压缩所述命令和所述键,得到所述压缩结果包括:
将所述命令和所述键提取至预设对象;以及
将所述预设对象中相同键的相同类型命令进行合并,得到合并后的命令,其中,所述合并后的命令与所述键一一对应。
4.根据权利要求3所述的方法,其特征在于,在将所述压缩结果保存到所述第一预设文件之后,所述方法还包括:
统计所述第一预设文件中所述合并后的命令的个数;
判断所述第一预设文件中所述合并后的命令的个数是否大于或等于预设阈值;以及
如果判断出所述第一预设文件中的所述合并后的命令个数大于或等于所述预设阈值,则进行刷新操作,
其中,所述刷新操作包括将所述第一预设文件的后缀名修改为预设后缀名,并新建预设文件,得到第二预设文件,将再次合并后的命令和所述键保存到所述第二预设文件。
5.根据权利要求4所述的方法,其特征在于,如果判断出所述第一预设文件中的所述合并后的命令个数小于所述预设阈值,所述方法还包括:
获取所述第一预设文件的修改时间;
计算所述修改时间与当前时间的差值,得到预设时间差;
判断所述预设时间差是否超过预设时间;以及
如果判断出所述预设时间差超过所述预设时间,进行所述刷新操作。
6.根据权利要求5所述的方法,其特征在于,将所述第一预设文件提交至所述预设数据库包括:
读取所述第一预设文件;
判断所述第一预设文件的后缀名是否为所述预设后缀名;以及
如果判断出所述第一预设文件的后缀名为所述预设后缀名,提交所述第一预设文件至所述预设数据库。
7.一种数据处理装置,其特征在于,包括:
解析单元,用于解析日志记录,得到解析结果;
分析单元,用于分析业务需求和所述解析结果,得到对应的命令和键;
压缩单元,用于批量压缩所述命令和所述键,得到压缩结果;
第一保存单元,用于将所述压缩结果保存到第一预设文件;以及
提交单元,用于将所述第一预设文件的内容提交至预设数据库。
8.根据权利要求7所述的装置,其特征在于,所述解析单元包括:
分解模块,用于对所述日志记录进行分解,得到所述业务需求所需的业务字段。
9.根据权利要求7所述的装置,其特征在于,所述压缩单元包括:
提取模块,用于将所述命令和所述键提取至预设对象;以及
合并模块,用于将所述预设对象中相同键的相同类型命令进行合并,得到合并后的命令,其中,所述合并后的命令与所述键一一对应。
10.根据权利要求9所述的装置,其特征在于,在将所述压缩结果保存到所述第一预设文件之后,所述装置还包括:
第一统计单元,用于统计所述第一预设文件中所述合并后的命令的个数;
第一判断单元,用于判断所述第一预设文件中所述合并后的命令的个数是否大于或等于预设阈值;以及
刷新单元,用于在判断出所述第一预设文件中的所述合并后的命令个数大于或等于所述预设阈值,进行刷新操作,
其中,所述刷新操作包括将所述第一预设文件的后缀名修改为预设后缀名,并新建预设文件,得到第二预设文件,将再次合并后的命令和所述键保存到所述第二预设文件。
11.根据权利要求10所述的装置,其特征在于,如果判断出所述第一预设文件中的所述合并后的命令个数小于所述预设阈值,所述装置还包括:
获取单元,用于获取所述第一预设文件的修改时间;
计算单元,用于计算所述修改时间与当前时间的差值,得到预设时间差;以及
第二判断单元,用于判断所述预设时间差是否超过预设时间,
其中,所述刷新单元用于在判断出所述预设时间差超过所述预设时间时,进行所述刷新操作。
12.根据权利要求11所述的装置,其特征在于,所述提交单元包括:
读取模块,用于读取所述第一预设文件;
判断模块,用于判断所述第一预设文件的后缀名是否为所述预设后缀名;以及
提交模块,用于在判断出所述第一预设文件的后缀名为所述预设后缀名,提交所述第一预设文件至所述预设数据库。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510608871.6A CN106547788B (zh) | 2015-09-22 | 2015-09-22 | 数据处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510608871.6A CN106547788B (zh) | 2015-09-22 | 2015-09-22 | 数据处理方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106547788A true CN106547788A (zh) | 2017-03-29 |
CN106547788B CN106547788B (zh) | 2020-09-25 |
Family
ID=58364198
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510608871.6A Active CN106547788B (zh) | 2015-09-22 | 2015-09-22 | 数据处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106547788B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109213736A (zh) * | 2017-06-29 | 2019-01-15 | 阿里巴巴集团控股有限公司 | 日志的压缩方法和装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090132607A1 (en) * | 2007-11-16 | 2009-05-21 | Lorenzo Danesi | Techniques for log file processing |
CN102411533A (zh) * | 2011-08-08 | 2012-04-11 | 浪潮电子信息产业股份有限公司 | 一种集群存储系统的日志管理优化方法 |
CN102891873A (zh) * | 2011-07-21 | 2013-01-23 | 腾讯科技(深圳)有限公司 | 一种存储日志数据的方法及日志数据存储系统 |
-
2015
- 2015-09-22 CN CN201510608871.6A patent/CN106547788B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090132607A1 (en) * | 2007-11-16 | 2009-05-21 | Lorenzo Danesi | Techniques for log file processing |
CN102891873A (zh) * | 2011-07-21 | 2013-01-23 | 腾讯科技(深圳)有限公司 | 一种存储日志数据的方法及日志数据存储系统 |
CN102411533A (zh) * | 2011-08-08 | 2012-04-11 | 浪潮电子信息产业股份有限公司 | 一种集群存储系统的日志管理优化方法 |
Non-Patent Citations (1)
Title |
---|
李彬: "基于MapReduce编程模型的航空日志分析研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109213736A (zh) * | 2017-06-29 | 2019-01-15 | 阿里巴巴集团控股有限公司 | 日志的压缩方法和装置 |
CN109213736B (zh) * | 2017-06-29 | 2022-06-14 | 阿里巴巴集团控股有限公司 | 日志的压缩方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN106547788B (zh) | 2020-09-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230177008A1 (en) | Session-Based Processing Method and System | |
CN109684052B (zh) | 事务分析方法、装置、设备及存储介质 | |
CN107895011B (zh) | 会话信息的处理方法、系统、存储介质和电子设备 | |
WO2015027829A1 (en) | Method and apparatus for monitoring website access data | |
CN102833111B (zh) | 一种可视化http数据监管方法及装置 | |
CN102929961A (zh) | 基于构建快速数据分级通道的数据处理方法及其装置 | |
CN106802904A (zh) | 日志处理方法、装置及系统 | |
US20130347127A1 (en) | Database management by analyzing usage of database fields | |
CN111882367A (zh) | 一种通过用户上网行为分析进行在线广告监测跟踪的方法 | |
CN111061837A (zh) | 话题识别方法、装置、设备及介质 | |
CN107832333A (zh) | 基于分布式处理和dpi数据构建用户网络数据指纹的方法和系统 | |
CN110807050B (zh) | 性能分析方法、装置、计算机设备及存储介质 | |
CN103297419A (zh) | 线下线上数据融合方法及系统 | |
CN106547788A (zh) | 数据处理方法和装置 | |
CN102055620B (zh) | 监控用户体验的方法和系统 | |
CN111694651B (zh) | 基于云计算和医疗大数据的任务处理优化系统 | |
CN111080362A (zh) | 广告监测系统及方法 | |
CN113037551B (zh) | 一种基于流量切片的涉敏业务快速识别定位方法 | |
CN113761443A (zh) | 一种网站页面数据采集与统计方法、存储介质及设备 | |
CN111400608B (zh) | 数据处理方法及装置、存储介质及电子设备 | |
CN114090407A (zh) | 基于线性回归模型的接口性能预警方法及其相关设备 | |
CN107205028A (zh) | 一种服务分类方法及装置 | |
CN112801788A (zh) | 一种互联网股权融资平台监控系统及监控方法 | |
CN112364207A (zh) | 基于互联网数据开放服务平台 | |
CN112256734A (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 |