CN103235811A - 一种数据存储方法及装置 - Google Patents
一种数据存储方法及装置 Download PDFInfo
- Publication number
- CN103235811A CN103235811A CN2013101454350A CN201310145435A CN103235811A CN 103235811 A CN103235811 A CN 103235811A CN 2013101454350 A CN2013101454350 A CN 2013101454350A CN 201310145435 A CN201310145435 A CN 201310145435A CN 103235811 A CN103235811 A CN 103235811A
- Authority
- CN
- China
- Prior art keywords
- data
- behind
- categorical
- format transformation
- adds
- 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
Abstract
本发明公开了一种数据存储方法及装置,用以解决现有技术中基于存储的数据进行机器学习的效率较低的问题。该方法服务器获取日志文件后,提取日志文件中指定类型的数据,再根据提取的数据的类型,对提取的数据进行合并,并将合并后的数据转换为指定格式,最后将转换格式后的数据与自身当前保存的数据进行合并存储。通过上述方法,服务器可从日志文件中仅提取出机器学习所需的数据,并可将格式不同的数据转换为统一格式的数据并存储,因此后续基于存储的数据进行机器学习时,无需耗费大量的时间清洗数据,可有效提高机器学习的效率。
Description
技术领域
本申请涉及计算机技术领域,特别涉及一种数据存储方法及装置。
背景技术
随着网络的迅速发展,由诸如微博等社交相关的服务所产生的日志文件中的数据也是海量的,如何存储这些日志文件,以备后续使用(如后续基于日志文件中的数据进行机器学习)成为一个亟待解决的问题。
在现有技术中,一般通过hadoop服务器集群的HDFS文件管理方式来存储日志文件。具体的,按照时间将日志文件中的各数据划分为若干数据块,如以天为单位将日志文件中的数据划分为若干数据块(一天的数据组合成一个数据块),并存储在服务器上。
但是,由于各日志文件的来源有所不同,因此日志文件中的数据的格式差别较大,后续利用存储的这些数据进行机器学习时需要耗费大量的时间对这些数据进行数据清洗,降低了机器学习的效率。
而且,日志文件中一般会详细记录用户信息和操作信息,如,在微博的日志文件中,一般会详细记录用户标识、用户状态(如是否为手机绑定用户、是否为达人用户、是否为重要用户等)、操作行为的类别(如发布微博、转发微博、关注其他用户、被其他用户关注等、使用了应用)、操作的次数、操作的对象(如关注了哪个用户、被哪个用户关注、使用了哪个应用等)、操作行为发生的时间等。而在后续基于这些日志文件中的数据进行机器学习时,往往只根据其中的状态类型数据(如用户是否为手机绑定用户、达人用户、重要用户等)和累加类型数据(如某个类别的操作行为的次数)进行学习,并不会根据其他数据进行学习,也就是说,hadoop服务器集群保存的日志文件中诸如操作的对象和操作行为发生的时间等数据对于后续的机器学习而言是多余的,因此,根据保存的包括这些多余数据在内的日志文件进行后续的机器学习,也会降低机器学习的效率。
发明内容
本发明实施例提供一种数据存储方法及装置,用以解决现有技术中基于存储的数据进行机器学习的效率较低的问题。
本发明实施例提供的一种数据存储方法,包括:
服务器获取日志文件;并
提取所述日志文件中指定类型的数据,其中,所述指定类型包括状态类型和累加类型;以及
根据提取的数据的类型,对提取的数据进行合并,并将合并后的数据转换为指定格式;
所述服务器根据转换格式后的数据以及自身当前保存的数据,对转换格式后的数据以及自身当前保存的数据进行合并及存储。
本申请实施例提供的一种数据存储装置,包括:
获取模块,用于获取日志文件;
提取模块,用于提取所述日志文件中指定类型的数据,其中,所述指定类型包括状态类型和累加类型;
第一合并模块,用于根据提取的数据类型,对提取的数据进行合并,并将合并后的数据转换为指定格式;
第二合并模块,用于根据转换格式后的数据以及自身当前保存的数据,对转换格式后的数据以及自身当前保存的数据进行合并及存储。
本申请实施例提供一种数据存储方法及装置,该方法服务器获取日志文件后,提取日志文件中指定类型的数据,再根据提取的数据的类型,对提取的数据进行合并,并将合并后的数据转换为指定格式,最后将转换格式后的数据与自身当前保存的数据进行合并存储。通过上述方法,服务器可从日志文件中仅提取出机器学习所需的数据,并可将格式不同的数据转换为统一格式的数据并存储,因此后续基于存储的数据进行机器学习时,无需耗费大量的时间清洗数据,可有效提高机器学习的效率。
附图说明
图1为本申请实施例提供的数据存储过程;
图2为本发明实施例提供的数据存储装置结构示意图。
具体实施方式
为了提高基于存储的数据进行机器学习的效率,本发明实施例仅从日志文件中提取出后续机器学习需要的数据,并将提取的数据转换为统一格式进行存储,可有效提高后续基于存储的数据进行机器学习的效率。
下面结合附图对本申请优选的实施方式进行详细说明。
图1为本申请实施例提供的数据存储过程,具体包括以下步骤:
S101:服务器获取日志文件。
在本发明实施例中,服务器可按照设定周期获取日志文件,每次获取到日志文件后可执行下述步骤S102~S103存储日志文件中的数据。
其中,服务器获取的日志文件中的数据详细记录了用户标识、用户状态、操作行为的类别、操作的次数、操作的对象、操作行为发生的时间等。
S102:提取日志文件中指定类型的数据,其中,指定类型包括状态类型和累加类型。
即,服务器提取日志文件中的状态类型数据和累加类型数据。如,提取记录有用户标识、用户状态的数据作为状态类型数据,提取记录有用户标识、操作类别、操作的次数的数据作为累加类型数据。
S103:根据提取的数据类型,对提取的数据进行合并,将合并后的数据转换为指定格式。
在本发明实施例中,服务器提取了状态类型数据和累加类型数据后,可对具有相同用户标识和状态类别的状态类型数据进行合并,对具有相同用户标识和操作类别的累加类型数据进行合并。
具体的,服务器可针对提取的状态类型数据,查找包含相同的用户标识及状态类别的状态类型数据,在查找到的各状态类型数据中确定生成时间最晚的状态类型数据,并将生成时间最晚的状态类型数据确定为对查找到的各状态类型数据进行合并后的状态类型数据。
针对提取的累加类型数据,查找包含相同的用户标识及操作类别的累加类型数据,将查找到的各累加类型数据中包含的累加次数相加的和值作为第一合并累加次数,将以该相同的用户标识及操作类别、以及得到的第一合并累加次数构成的数据确定为对查找到的各累加类型数据进行合并后的累加类型数据。
例如,假设提取的状态类型数据如表1所示。
UId | ActionId | Value |
101101 | 10006 | 0 |
101101 | 10007 | 0 |
101101 | 10006 | 1 |
表1
在表1中,UId表示用户标识,ActionId相对于状态类型数据而言表示状态类别,Value表示相应状态类别的状态值。
在如表1所示的状态类型数据中,3条数据包含的UId都是101101,即都是同一用户的状态类型数据。ActionId为10006表示手机绑定状态类别,相应的Value为0则表示该用户不是手机绑定用户,为1则表示该用户是手机绑定用户。ActionId为10007表示达人状态类别,相应的Value为0则表示该用户不是达人用户,为1则表示该用户是达人用户。
服务器提取了如表1所示的状态类型数据后,查找到包含相同的用户标识及状态类别的状态类型数据即为表1中的第一条和第三条数据(用户标识均为101101,状态类别均为10006),而由于在第一条和第三条数据中,第三条数据的生成时间最晚,因此,将第三条数据确定为对第一条和第三条数据进行合并后的状态类型数据,并将合并后的数据转换为指定格式。合并、转换格式后的状态类型数据如表2所示。
UId | ActionId | Value |
101101 | 10006 | 1 |
101101 | 10007 | 0 |
表2
可见,在如表2所示的合并后的状态类型数据中,相同用户标识及状态类别的数据是唯一的,其表示了哪个用户的哪个状态类别是何状态。
假设提取的累加类型数据如表3所示。
UId | ActionId | Value |
101101 | 10001 | 1 |
101101 | 10002 | 1 |
101101 | 10002 | 1 |
101101 | 10002 | 1 |
表3
在表3中,UId表示用户标识,ActionId相对于累加类型数据而言表示操作类别,Value表示相应累加类别的累加次数。
在如表3所示的累加类型数据中,4条数据包含的UId都是101101。ActionId为10001表示新增登录天数操作类别,相应的Value则表示新增的登录天数。ActionId为10002表示新增登录次数操作类别,相应的Value则表示新增的登录次数。
服务器提取了如表3所示的累加类型数据后,查找到包含相同的用户标识及操作类别的累加类型数据即为表3中第二条、第三条和第四条数据(用户标识均为101101,操作类别均为10002),查找到的这3条数据中包含的累加次数均为1,因此将这3条数据中包含的累加次数相加后得到的第一合并累加次数即为3,最后,将以该相同的用户标识(101101)及操作类别(10002)、以及得到的第一合并累加次数(3)构成的数据确定为对查找到的上述3条数据合并后的累加类型数据,并将合并后的数据转换为指定格式。合并、转换格式后的累加类型数据如表4所示。
UId | ActionId | Value |
101101 | 10001 | 1 |
101101 | 10002 | 3 |
表4
可见,在如表4所示的合并后的累加类型数据中,相同用户标识及操作类别的数据是唯一的,其表示了哪个用户的进行了何种操作类别的操作共多少次。
S104:服务器根据转换格式后的数据以及自身当前保存的数据,对转换格式后的数据以及自身当前保存的数据进行合并及存储。
采用上述方法对从服务器中提取的数据进行合并并转换成指定格式后,服务器则可采用类似的方法对转换格式后的数据以及自身当前保存的数据进行合并存储。
具体的,服务器针对转换格式后的每条状态类型数据,可在自身当前保存的数据中查找与该状态类型数据包含相同用户标识及状态类别的数据,将转换格式后的该状态类型数据确定为对该状态类型数据以及查找到的数据进行合并后的数据。
针对转换格式后的每条累加类型数据,可在自身当前保存的数据中查找与该累加类型数据包含相同用户标识及操作类别的数据,将转换格式后的该累加类型数据中包含的第一合并累加次数与查找到的数据中包含的累加次数的和值作为第二合并累加次数,将以该相同用户标识及操作类别、以及得到的第二合并累加次数构成的数据确定为对该累加类型数据以及查找到的数据进行合并后的数据。
继续沿用上例,假设转换格式后的状态类型数据如上述表2所示,转换格式后的累加类型数据如上述表4所示,服务器自身当前保存的数据如表5所示。
UId | ActionId | Value |
101101 | 10001 | 50 |
101101 | 10002 | 80 |
101101 | 10003 | 63 |
101101 | 10004 | 48 |
101101 | 10005 | 104 |
101101 | 10006 | 0 |
101101 | 10007 | 0 |
表5
则服务器针对表2所示的第一条数据(状态类型数据),可在自身保存的如表5所示的数据中查找与表2中第一条数据包含相同用户标识(UId为101101)及状态类别的数据(ActionId为10006)的数据,查找到的数据即为表5中的第六条数据,因此,服务器将表2中的第一条数据确定为对表2中的第一条数据和表5中的第六条数据进行合并后的数据,并存储。类似的,针对对表2中的第二条数据也采用相同方法与表5中的第七条数据进行合并。
服务器针对表4所示的第一条数据(累加类型数据),可在自身保存的如表5所示的数据中查找与表4中第一条数据包含相同用户标识(UId为101101)及状态类别的数据(ActionId为10001)的数据,查找到的数据即为表5中的第一条数据,因此,服务器确定表4第一条数据中的第一合并累加次数(1)与表5中第一条数据的累加次数(50)的和值为51,将该和值51作为第二合并累加次数,并将以该相同用户标识(UId为101101)及操作类别(ActionId为10001)、以及得到的第二合并累加次数(51)构成的数据确定为对表4中第一条数据和表5中第一条数据进行合并后的数据,并存储。类似的,针对对表4中的第二条数据也采用相同方法与表5中的第二条数据进行合并。
服务器将表2、表4、表5中的数据进行合并后存储的数据如表6所示。
UId | ActionId | Value |
101101 | 10001 | 51 |
101101 | 10002 | 83 |
101101 | 10003 | 63 |
101101 | 10004 | 48 |
101101 | 10005 | 104 |
101101 | 10006 | 1 |
101101 | 10007 | 0 |
表6
可见,在服务器最终存储的如表6所示的数据中,相同UId(用户标识)及ActionId(状态类别或操作类别)的数据是唯一的,其仅记录了机器学习所需的用户标识、相应的用户状态和相应操作类别的操作次数,并未记录操作的对象等多余数据,而且格式相同,因此后续基于服务器中存储的数据进行机器学习可有效提高机器学习的效率。
在本发明实施例中,服务器通过上述步骤S102将提取的数据进行合并并转换为指定格式后,可对转换格式后的数据中的用户标识进行哈希运算,并将得到相同哈希值的转换格式后的数据划分为一个数据块,一个数据块保存在一个更新文件中,更新文件的文件名可以设置为其保存的数据中用户标识的哈希值。
相应的,服务器自身保存的数据也是按照对各数据中的用户标识进行哈希运算得到的哈希值进行分块存储的,相同哈希值的数据划分为一个数据块,一个数据块存储在一个全量文件中,全量文件的文件名可以设置为其保存的数据中用户标识的哈希值。
这样,服务器在根据转换格式后的数据的用户标识和状态类别或操作类别,查找自身保存的具有相同用户标识和状态类别或操作类别的数据时,只需查找与该转换格式后的数据所在的更新文件的文件名相同的全量文件,再在该全量文件的数据块中查找与该转换格式后的数据具有相同用户标识和状态类别或操作类别的数据即可,可缩小查找范围,提高查找速度,又可实现多个具有相同文件名的更新文件和全量文件的多线程同步合并,可提高数据存储速度。
还可在更新文件和全量文件中以用户标识从小到大(或从大到小)的顺序,进行排序,这样,当在某个全量文件的数据块中查找某个用户标识某个状态类别或操作类别的数据时,可采用二分查找法进行查找,可进一步提高查找速度。
进一步的,在实际应用中,可能存在转换格式后的数据夹杂了旧数据的情况,此时,若服务器直接采用上述方法对转换格式后的数据和自身保存的数据进行合并,就会造成合并后的数据出错,因此,服务器在通过图1所示的步骤S103将提取的数据合并并转换格式后,还可根据当前时刻,对转换格式后的每条数据设置时间戳。
相应的,在步骤S104中,服务器针对转换格式后的状态类型数据,将转换格式后的该状态类型数据确定为该状态类型数据与查找到的数据合并的数据之前,还要确定转换格式后的该状态类型数据的时间戳晚于查找到的数据的时间戳;针对转换格式后的累加类型数据,将以相同用户标识及操作类别、以及得到的第二合并累加次数构成的数据确定为该累加类型数据与查找到的数据合并的数据之前,也要确定转换格式后的该累加类型数据的时间戳晚于查找到的数据的时间戳。当然,对于转换格式后的一条数据和自身保存的一条数据来说,将这两条数据合并后的数据的时间戳以这两条数据中最晚的时间戳为准。
也即,服务器在对转换格式后的数据与自身当前保存的数据进行合并之前,需判断转换格式后的数据的时间戳是否晚于自身当前保存的数据的时间戳,若是,则按照上述方法合并,否则,说明转换格式后的数据是夹杂的旧数据,不进行合并,仍保持当前保存的数据不变。
例如,转换格式后的数据如表7所示。
UId | ActionId | Value | Time |
101101 | 10001 | 1 | 1346337000 |
101101 | 10002 | 3 | 1346339000 |
101101 | 10006 | 1 | 1346339000 |
101101 | 10007 | 0 | 1346339000 |
表7
假设服务器当前自身保存的数据如表8所示。
UId | ActionId | Value | Time |
101101 | 10001 | 50 | 1346338000 |
101101 | 10002 | 80 | 1346338000 |
101101 | 10003 | 63 | 1346338000 |
101101 | 10004 | 48 | 1346338000 |
101101 | 10005 | 104 | 1346338000 |
101101 | 10006 | 0 | 1346338000 |
101101 | 10007 | 0 | 1346338000 |
表8
在表7和表8中,ActionId为10001~10005的数据是累加类型数据,ActionId为10006和10007的数据是状态类型数据,Time为相应数据的时间戳,Time的数值越大,说明时间戳越晚。
则服务器在将表7中的第一条数据与表8中的第一条数据合并之前(表7中第一条数据与表8中第一条数据是相同用户标识和操作类别的数据),判断表7中第一条数据的时间戳不晚于表8中第一条数据的时间戳,因此不对这两条数据进行合并,而在将表7中第二条数据与表8中第二条数据合并之前,判断表7中第二条数据的时间戳晚于表8中第二条数据的时间戳,因此合并这两条数据,并以表7中第二条数据的时间戳作为合并后的数据的时间戳。类似的,对表7中的第三条、第四条数据以及表8中的第六条、第七条数据也进行上述判断后再进行合并。将表7和表8合并后的数据如表9所示。
UId | ActionId | Value | Time |
101101 | 10001 | 50 | 1346338000 |
101101 | 10002 | 83 | 1346339000 |
101101 | 10003 | 63 | 1346338000 |
101101 | 10004 | 48 | 1346338000 |
101101 | 10005 | 104 | 1346338000 |
101101 | 10006 | 1 | 1346339000 |
101101 | 10007 | 0 | 1346339000 |
表9
可见,在如表9所示的数据中,第一条数据并未经过合并,仍保持了时间戳为1346338000的数据不变,而第二条、第六条和第七条数据是经过合并后的数据,这样就可以保证夹杂的旧数据不会影响合并的数据的准确性。而且,即使在合并过程中服务器出现异常而中断合并,后续也可以根据转换格式后的数据的时间戳和自身保存的数据的时间戳直接进行重新合并(对于转换格式后的数据,只对时间戳晚于服务器保存的数据的时间戳的数据进行合并),而无需耗费资源来寻找断点。
另外,服务器在通过图1所示的步骤S104存储了数据后,还可对数据进行备份,本发明实施例为了提高备份数据的效率,服务器可确定对转换格式后的数据以及自身当前保存的数据进行合并后发生变化的数据,根据确定的发生变化的数据进行数据备份。
仍以表7、表8和表9为例进行说明,服务器将表7的数据(转换格式后的数据)与表8的数据(服务器当前保存的数据)进行合并存储后,存储的数据即为如表9所示的数据,而相对于表8而言,表9中发生变化的数据就是第二条、第六条和第七条数据。由于此时备份的数据仍是如表8所示的数据,因此,服务器可根据表9中发生变化的第二条、第六条和第七条数据,进行数据备份,而无需将整个表9都重新备份,可提高备份效率。
当然,上述数据存储方法可以由一个服务器执行,也可由服务器集群执行,这里就不再一一赘述。
以上为本发明实施例提供的数据存储方法,基于同样的发明思路,本发明实施例还提供一种数据存储装置,如图2所示。
图2为本发明实施例提供的数据存储装置结构示意图,具体包括:
获取模块201,用于获取日志文件;
提取模块202,用于提取所述日志文件中指定类型的数据,其中,所述指定类型包括状态类型和累加类型;
第一合并模块203,用于根据提取的数据类型,对提取的数据进行合并,并将合并后的数据转换为指定格式;
第二合并模块204,用于根据转换格式后的数据以及自身当前保存的数据,对转换格式后的数据以及自身当前保存的数据进行合并及存储。
所述第一合并模块203具体用于,针对提取的状态类型数据,查找包含相同的用户标识及状态类别的状态类型数据,在查找到的各状态类型数据中确定生成时间最晚的状态类型数据,并将生成时间最晚的状态类型数据确定为对查找到的各状态类型数据进行合并后的状态类型数据;针对提取的累加类型数据,查找包含相同的用户标识及操作类别的累加类型数据,将查找到的各累加类型数据中包含的累加次数相加的和值作为第一合并累加次数,将以所述相同的用户标识及操作类别、以及得到的第一合并累加次数构成的数据确定为对查找到的各累加类型数据进行合并后的累加类型数据。
所述第二合并模块204具体用于,针对转换格式后的每条状态类型数据,在自身当前保存的数据中查找与该状态类型数据包含相同用户标识及状态类别的数据,将转换格式后的该状态类型数据确定为对该状态类型数据以及查找到的数据进行合并后的数据;针对转换格式后的每条累加类型数据,在自身当前保存的数据中查找与该累加类型数据包含相同用户标识及操作类别的数据,将转换格式后的该累加类型数据中包含的第一合并累加次数与查找到的数据中包含的累加次数的和值作为第二合并累加次数,将以所述相同用户标识及操作类别、以及得到的第二合并累加次数构成的数据确定为对该累加类型数据以及查找到的数据进行合并后的数据。
所述第一合并模块203还用于,将合并后的数据转换为指定格式之后,根据当前时刻,对转换格式后的每条数据设置时间戳;
所述第二合并模块204还用于,将转换格式后的该状态类型数据确定为对该状态类型数据以及查找到的数据进行合并后的数据之前,确定转换格式后的该状态类型数据的时间戳晚于查找到的数据的时间戳;将以所述相同用户标识及操作类别、以及得到的第二合并累加次数构成的数据确定为对该累加类型数据以及查找到的数据进行合并后的数据之前,确定转换格式后的该累加类型数据的时间戳晚于查找到的数据的时间戳。
所述装置还包括:
备份模块205,用于在所述第二合并模块204对转换格式后的数据以及自身当前保存的数据进行合并之后,确定对转换格式后的数据以及自身当前保存的数据进行合并后发生变化的数据,根据确定的发生变化的数据进行数据备份。
具体的上述数据存储装置可以位于服务器中。
本申请实施例提供一种数据存储方法及装置,该方法服务器获取日志文件后,提取日志文件中指定类型的数据,再根据提取的数据的类型,对提取的数据进行合并,并将合并后的数据转换为指定格式,最后将转换格式后的数据与自身当前保存的数据进行合并存储。通过上述方法,服务器可从日志文件中仅提取出机器学习所需的数据,并可将格式不同的数据转换为统一格式的数据并存储,因此后续基于存储的数据进行机器学习时,无需耗费大量的时间清洗数据,可有效提高机器学习的效率。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请实施例进行各种改动和变型而不脱离本申请实施例的精神和范围。这样,倘若本申请实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (10)
1.一种数据存储方法,其特征在于,包括:
服务器获取日志文件;并
提取所述日志文件中指定类型的数据,其中,所述指定类型包括状态类型和累加类型;以及
根据提取的数据的类型,对提取的数据进行合并,并将合并后的数据转换为指定格式;
所述服务器根据转换格式后的数据以及自身当前保存的数据,对转换格式后的数据以及自身当前保存的数据进行合并及存储。
2.如权利要求1所述的方法,其特征在于,根据提取的数据的类型,对提取的数据进行合并,具体包括:
针对提取的状态类型数据,查找包含相同的用户标识及状态类别的状态类型数据,在查找到的各状态类型数据中确定生成时间最晚的状态类型数据,并将生成时间最晚的状态类型数据确定为对查找到的各状态类型数据进行合并后的状态类型数据;
针对提取的累加类型数据,查找包含相同的用户标识及操作类别的累加类型数据,将查找到的各累加类型数据中包含的累加次数相加的和值作为第一合并累加次数,将以所述相同的用户标识及操作类别、以及得到的第一合并累加次数构成的数据确定为对查找到的各累加类型数据进行合并后的累加类型数据。
3.如权利要求2所述的方法,其特征在于,所述服务器根据转换格式后的数据以及自身当前保存的数据,对转换格式后的数据以及自身当前保存的数据进行合并,具体包括:
所述服务器针对转换格式后的每条状态类型数据,在自身当前保存的数据中查找与该状态类型数据包含相同用户标识及状态类别的数据,将转换格式后的该状态类型数据确定为对该状态类型数据以及查找到的数据进行合并后的数据;
针对转换格式后的每条累加类型数据,在自身当前保存的数据中查找与该累加类型数据包含相同用户标识及操作类别的数据,将转换格式后的该累加类型数据中包含的第一合并累加次数与查找到的数据中包含的累加次数的和值作为第二合并累加次数,将以所述相同用户标识及操作类别、以及得到的第二合并累加次数构成的数据确定为对该累加类型数据以及查找到的数据进行合并后的数据。
4.如权利要求3所述的方法,其特征在于,将合并后的数据转换为指定格式之后,所述方法还包括:
根据当前时刻,对转换格式后的每条数据设置时间戳;
将转换格式后的该状态类型数据确定为对该状态类型数据以及查找到的数据进行合并后的数据之前,所述方法还包括:
确定转换格式后的该状态类型数据的时间戳晚于查找到的数据的时间戳;
将以所述相同用户标识及操作类别、以及得到的第二合并累加次数构成的数据确定为对该累加类型数据以及查找到的数据进行合并后的数据之前,所述方法还包括:
确定转换格式后的该累加类型数据的时间戳晚于查找到的数据的时间戳。
5.如权利要求1所述的方法,其特征在于,对转换格式后的数据以及自身当前保存的数据进行合并之后,所述方法还包括:
确定对转换格式后的数据以及自身当前保存的数据进行合并后发生变化的数据;
根据确定的发生变化的数据进行数据备份。
6.一种数据存储装置,其特征在于,包括:
获取模块,用于获取日志文件;
提取模块,用于提取所述日志文件中指定类型的数据,其中,所述指定类型包括状态类型和累加类型;
第一合并模块,用于根据提取的数据类型,对提取的数据进行合并,并将合并后的数据转换为指定格式;
第二合并模块,用于根据转换格式后的数据以及自身当前保存的数据,对转换格式后的数据以及自身当前保存的数据进行合并及存储。
7.如权利要求6所述的装置,其特征在于,所述第一合并模块具体用于,针对提取的状态类型数据,查找包含相同的用户标识及状态类别的状态类型数据,在查找到的各状态类型数据中确定生成时间最晚的状态类型数据,并将生成时间最晚的状态类型数据确定为对查找到的各状态类型数据进行合并后的状态类型数据;针对提取的累加类型数据,查找包含相同的用户标识及操作类别的累加类型数据,将查找到的各累加类型数据中包含的累加次数相加的和值作为第一合并累加次数,将以所述相同的用户标识及操作类别、以及得到的第一合并累加次数构成的数据确定为对查找到的各累加类型数据进行合并后的累加类型数据。
8.如权利要求7所述的装置,其特征在于,所述第二合并模块具体用于,针对转换格式后的每条状态类型数据,在自身当前保存的数据中查找与该状态类型数据包含相同用户标识及状态类别的数据,将转换格式后的该状态类型数据确定为对该状态类型数据以及查找到的数据进行合并后的数据;针对转换格式后的每条累加类型数据,在自身当前保存的数据中查找与该累加类型数据包含相同用户标识及操作类别的数据,将转换格式后的该累加类型数据中包含的第一合并累加次数与查找到的数据中包含的累加次数的和值作为第二合并累加次数,将以所述相同用户标识及操作类别、以及得到的第二合并累加次数构成的数据确定为对该累加类型数据以及查找到的数据进行合并后的数据。
9.如权利要求8所述的装置,其特征在于,所述第一合并模块还用于,将合并后的数据转换为指定格式之后,根据当前时刻,对转换格式后的每条数据设置时间戳;
所述第二合并模块还用于,将转换格式后的该状态类型数据确定为对该状态类型数据以及查找到的数据进行合并后的数据之前,确定转换格式后的该状态类型数据的时间戳晚于查找到的数据的时间戳;将以所述相同用户标识及操作类别、以及得到的第二合并累加次数构成的数据确定为对该累加类型数据以及查找到的数据进行合并后的数据之前,确定转换格式后的该累加类型数据的时间戳晚于查找到的数据的时间戳。
10.如权利要求6所述的装置,其特征在于,所述装置还包括:
备份模块,用于在所述第二合并模块对转换格式后的数据以及自身当前保存的数据进行合并之后,确定对转换格式后的数据以及自身当前保存的数据进行合并后发生变化的数据,根据确定的发生变化的数据进行数据备份。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310145435.0A CN103235811B (zh) | 2013-04-24 | 2013-04-24 | 一种数据存储方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310145435.0A CN103235811B (zh) | 2013-04-24 | 2013-04-24 | 一种数据存储方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103235811A true CN103235811A (zh) | 2013-08-07 |
CN103235811B CN103235811B (zh) | 2017-08-25 |
Family
ID=48883852
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310145435.0A Active CN103235811B (zh) | 2013-04-24 | 2013-04-24 | 一种数据存储方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103235811B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103412924A (zh) * | 2013-08-12 | 2013-11-27 | 东软集团股份有限公司 | 日志多语言查询方法和系统 |
CN106557564A (zh) * | 2016-11-17 | 2017-04-05 | 北京锐安科技有限公司 | 一种对象数据分析方法及装置 |
CN106844495A (zh) * | 2016-12-26 | 2017-06-13 | 北京五八信息技术有限公司 | 一种网站操作日志的获取方法及装置 |
CN106844143A (zh) * | 2016-12-27 | 2017-06-13 | 微梦创科网络科技(中国)有限公司 | 一种日志去重处理方法及装置 |
CN108092768A (zh) * | 2017-12-21 | 2018-05-29 | 中国联合网络通信集团有限公司 | 数据融合方法与系统 |
CN108874585A (zh) * | 2018-05-25 | 2018-11-23 | 北京极秒科技有限公司 | 文件备份方法、装置及系统 |
CN111198859A (zh) * | 2018-11-16 | 2020-05-26 | 北京微播视界科技有限公司 | 数据处理方法、装置、电子设备及计算机可读存储介质 |
CN111464571A (zh) * | 2019-01-18 | 2020-07-28 | 阿里巴巴集团控股有限公司 | 一种通信方法及系统、服务端、客户端 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1783916A (zh) * | 2004-11-30 | 2006-06-07 | 阿尔卡特公司 | 混合呼叫日志 |
US20090125387A1 (en) * | 2004-12-07 | 2009-05-14 | Bcode Pty Limited | Electronic Commerce System, Method and Apparatus |
CN101888309A (zh) * | 2010-06-30 | 2010-11-17 | 中国科学院计算技术研究所 | 在线日志分析方法 |
CN102186186A (zh) * | 2010-11-30 | 2011-09-14 | 无锡悟莘科技有限公司 | 基础设施的无线传感网络监测方法以及系统 |
CN103020135A (zh) * | 2012-11-20 | 2013-04-03 | 北京思特奇信息技术股份有限公司 | 一种通信详单计费帐务的简化方法和简化系统 |
-
2013
- 2013-04-24 CN CN201310145435.0A patent/CN103235811B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1783916A (zh) * | 2004-11-30 | 2006-06-07 | 阿尔卡特公司 | 混合呼叫日志 |
US20090125387A1 (en) * | 2004-12-07 | 2009-05-14 | Bcode Pty Limited | Electronic Commerce System, Method and Apparatus |
CN101888309A (zh) * | 2010-06-30 | 2010-11-17 | 中国科学院计算技术研究所 | 在线日志分析方法 |
CN102186186A (zh) * | 2010-11-30 | 2011-09-14 | 无锡悟莘科技有限公司 | 基础设施的无线传感网络监测方法以及系统 |
CN103020135A (zh) * | 2012-11-20 | 2013-04-03 | 北京思特奇信息技术股份有限公司 | 一种通信详单计费帐务的简化方法和简化系统 |
Non-Patent Citations (1)
Title |
---|
许小明: "《多源异构日志的数据归并和预处理技术》", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103412924A (zh) * | 2013-08-12 | 2013-11-27 | 东软集团股份有限公司 | 日志多语言查询方法和系统 |
CN103412924B (zh) * | 2013-08-12 | 2017-10-31 | 东软集团股份有限公司 | 日志多语言查询方法和系统 |
CN106557564A (zh) * | 2016-11-17 | 2017-04-05 | 北京锐安科技有限公司 | 一种对象数据分析方法及装置 |
CN106844495A (zh) * | 2016-12-26 | 2017-06-13 | 北京五八信息技术有限公司 | 一种网站操作日志的获取方法及装置 |
CN106844143A (zh) * | 2016-12-27 | 2017-06-13 | 微梦创科网络科技(中国)有限公司 | 一种日志去重处理方法及装置 |
CN108092768A (zh) * | 2017-12-21 | 2018-05-29 | 中国联合网络通信集团有限公司 | 数据融合方法与系统 |
CN108874585A (zh) * | 2018-05-25 | 2018-11-23 | 北京极秒科技有限公司 | 文件备份方法、装置及系统 |
CN108874585B (zh) * | 2018-05-25 | 2021-01-22 | 南京云信达科技有限公司 | 文件备份方法、装置及系统 |
CN111198859A (zh) * | 2018-11-16 | 2020-05-26 | 北京微播视界科技有限公司 | 数据处理方法、装置、电子设备及计算机可读存储介质 |
CN111198859B (zh) * | 2018-11-16 | 2023-11-03 | 北京微播视界科技有限公司 | 数据处理方法、装置、电子设备及计算机可读存储介质 |
CN111464571A (zh) * | 2019-01-18 | 2020-07-28 | 阿里巴巴集团控股有限公司 | 一种通信方法及系统、服务端、客户端 |
Also Published As
Publication number | Publication date |
---|---|
CN103235811B (zh) | 2017-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108536761B (zh) | 报表数据查询方法及服务器 | |
CN103235811A (zh) | 一种数据存储方法及装置 | |
Lin et al. | Mining high utility itemsets in big data | |
CN107908672B (zh) | 基于Hadoop平台的应用报表实现方法、设备及存储介质 | |
US9361343B2 (en) | Method for parallel mining of temporal relations in large event file | |
CN102270225B (zh) | 数据变更日志监控方法和数据变更日志监控装置 | |
CN102129425B (zh) | 数据仓库中大对象集合表的访问方法及装置 | |
Jeong et al. | Anomaly teletraffic intrusion detection systems on hadoop-based platforms: A survey of some problems and solutions | |
CN105138661A (zh) | 一种基于Hadoop的网络安全日志k-means聚类分析系统及方法 | |
US20100299324A1 (en) | Information service for facts extracted from differing sources on a wide area network | |
CN105069109B (zh) | 一种分布式数据库扩容的方法和系统 | |
CN104657497A (zh) | 一种基于分布式计算的海量用电信息并行计算系统及方法 | |
CN104933173A (zh) | 一种用于异构多数据源的数据处理方法、装置和服务器 | |
CN108415964A (zh) | 数据表查询方法、装置、终端设备及存储介质 | |
CN111046237A (zh) | 用户行为数据处理方法、装置、电子设备及可读介质 | |
Elagib et al. | Big data analysis solutions using MapReduce framework | |
CN103617161A (zh) | 一种针对saas模式的数据存储方法和装置 | |
CN103019891A (zh) | 一种还原被删除文件的方法及系统 | |
CN104765651A (zh) | 一种数据处理方法和装置 | |
CN106250501B (zh) | 报表处理方法及报表系统 | |
CN102932416A (zh) | 一种信息流任务的中间数据存储方法、处理方法及装置 | |
Suriarachchi et al. | Big provenance stream processing for data intensive computations | |
CN115757642A (zh) | 一种基于归档日志文件的数据同步方法及装置 | |
US9092338B1 (en) | Multi-level caching event lookup | |
Keswani et al. | Enhanced approach to attain competent Big Data pre-processing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |