货源数据的数据压缩方法、装置、计算机设备和存储介质
技术领域
本申请涉及数据处理技术领域,特别是涉及一种货源数据的数据压缩方法、装置、计算机设备和存储介质。
背景技术
商品从生产到销售的整个过程中涉及生产商、销售商以及供应商等多个节点。各个节点之间进行商品交易的过程中涉及商品的货源数据的传输、管理以及维护。由于商品的货源数据量巨大,因此,当商家的销售范围等货源数据发生调整时,会导致每天变化的数据量从几百万到几十亿不等,而这些变化的数据需要及时通过数据链路下发到下游***。
在目前的技术方案中,当将商品的货源数据的更新数据下发到下游***时,由于货源数据中存在较多的冗余数据,因此,最终下发到下游***时,下游***需对货源数据进行处理。然而,由于整个数据链路的消费能力有限,因此,目前的技术方案容易造成货源数据的积压,影响量整个数据链路的数据处理速度。
发明内容
基于此,有必要针对上述技术问题,提供一种能够对货源数据进行数据压缩,提升整个数据链路的数据处理效率的货源数据的数据压缩方法、装置、计算机设备和存储介质。
一种货源数据的数据压缩方法,所述方法包括:
从数据管理服务器获取第一货源数据,所述第一货源数据包括第一字段、第二字段和第三字段,所述第一货源数据还包括多条数据记录,各条数据记录分别包括所述第一字段的字段值、第二字段的字段值和第三字段的字段值;
将所述第一货源数据中所述第一字段的字段值相同,并且所述第二字段的字段值以及第三字段的字段值满足预设条件的数据记录,按照所述第一字段的字段值进行数据合并处理得到第二货源数据;
将所述第二货源数据发送给搜索服务器,以便所述搜索服务器在接收到客户端的数据搜索请求时,从所述第二货源数据中获取对应的数据反馈至所述客户端展示。
在其中一个实施例中,所述第一字段为商品编码,所述第二字段为销售区域,所述第三字段包括库位和供应商,所述将所述第一货源数据中所述第一字段的字段值相同,并且所述第二字段的字段值以及第三字段的字段值满足预设条件的数据记录,按照所述第一字段的字段值进行数据合并处理得到第二货源数据,包括:
获取所述第一货源数据中的商品编码的字段值、库位的字段值以及供应商的字段值均相同的多条数据记录;
根据所述多条数据记录,得到当前区域字段值列表,所述第一字段值列表中包括所述多条数据记录中各个销售区域的字段值;
当所述当前区域字段值列表中存在有预设的基准区域字段值列表中的全部字段值时,将所述多条数据记录合并成一条新的数据记录,所述新的数据记录的商品编码的字段值、库位的字段值以及供应商的字段值均为对应的原字段值,所述新的数据记录的销售区域的字段值设为预置区域字段值。
在其中一个实施例中,所述将所述第一货源数据中所述第一字段的字段值相同,并且所述第二字段的字段值以及第三字段的字段值满足预设条件的数据记录,按照所述第一字段的字段值进行数据合并处理得到第二货源数据,还包括:
在所述当前区域字段值列表中存在的销售区域的字段值为多个,且未存在有预设的基准区域字段值列表中的全部字段值时,将所述多条数据记录合并成一条新的数据记录,所述新的数据记录的商品编码的字段值、库位的字段值以及供应商的字段值均为对应的原字段值,所述新的数据记录的销售区域的字段值设为原字段值合并后的字段值组合。
在其中一个实施例中,所述从数据管理服务器获取第一货源数据,包括:
接收所述数据管理服务器下发的初始数据;
对所述初始数据进行校验以及过滤处理得到所述第一货源数据。
在其中一个实施例中,所述将所述第二货源数据发送给搜索服务器,包括:
将每隔预设时间段生成的第二货源数据作为一条消息加入预设的消息队列中;
当所述消息队列中的消息条数达到预设数量时,将所述消息队列中的消息压缩后发送至所述搜索服务器。
在其中一个实施例中,所述将所述第二货源数据发送给搜索服务器,还包括:
在所述消息队列中的消息条数达到预设数量之前,若消息在消息队列中缓存的时间达到预置时间时,将所述消息队列中的消息进行压缩后发送至所述搜索服务器。
在其中一个实施例中,所述将所述第二货源数据发送给搜索服务器之前,包括:
将所述第二货源数据发送至价格全量计算服务器,通过所述价格全量计算服务器对所述第二货源数据中的各条数据记录添加价格对应的字段后发送至所述搜索服务器。
一种货源数据的数据压缩装置,所述装置包括:
获取模块,用于从数据管理服务器获取第一货源数据,所述第一货源数据包括第一字段、第二字段和第三字段,所述第一货源数据还包括多条数据记录,各条数据记录分别包括所述第一字段的字段值、第二字段的字段值和第三字段的字段值;
数据合并模块,用于将所述第一货源数据中所述第一字段的字段值相同,并且所述第二字段的字段值以及第三字段的字段值满足预设条件的数据记录,按照所述第一字段的字段值进行数据合并处理得到第二货源数据;
发送模块,用于将所述第二货源数据发送给搜索服务器,以便所述搜索服务器在接收到客户端的数据搜索请求时,从所述第二货源数据中获取对应的数据反馈至所述客户端展示。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一实施例方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一实施例方法的步骤。
上述的货源数据的数据压缩方法、装置、计算机设备和存储介质,通过从数据管理服务器获取第一货源数据,所述第一货源数据包括第一字段、第二字段和第三字段,所述第一货源数据还包括多条数据记录,各条数据记录分别包括所述第一字段的字段值、第二字段的字段值和第三字段的字段值;将所述第一货源数据中所述第一字段的字段值相同,并且所述第二字段的字段值以及第三字段的字段值满足预设条件的数据记录,按照所述第一字段的字段值进行数据合并处理得到第二货源数据;将所述第二货源数据发送给搜索服务器,以便所述搜索服务器在接收到客户端的数据搜索请求时,从所述第二货源数据中获取对应的数据反馈至所述客户端展示。本申请通过将上游***的第一货源数据进行数据合并处理,并将处理后生成的货第二源数据下发至下游搜索***,减少了网络资源,提升了整个数据链路的数据处理效率。
附图说明
图1为本申请一示例性实施例中货源数据的数据压缩方法的应用环境图;
图2为本申请一示例性实施例中提供的一种货源数据的数据压缩方法的流程示意图;
图3为本申请一示例性实施例中提供的一种货源数据的数据压缩装置的结构框图;
图4为本申请一示例性实施例中提供的将第二货源数据发送给搜索服务器的流程示意图;
图5为本申请一示例性实施例中提供的计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
图1为本申请一示例性实施例提供的一种货源数据的数据压缩方法的应用环境示意图。如图1所示,该货源数据的数据压缩方法执行于平台寻源***,该平台寻源***作为一个数据处理节点应用于货源数据的数据处理链路中。其中,货源数据的数据处理链路包括数据管理***、平台寻源***以及搜索***,对应的服务器分别为数据管理服务器100、数据压缩服务器101以及搜索服务器102。其中,数据管理服务器100与数据压缩服务器101之间以及数据压缩服务器101与搜索服务器102之间通过网络103进行通信。
具体的,数据管理服务器100用于管理及维护第一货源数据并将第一货源数据下发至下游的数据压缩服务器101。数据管理服务器可以通过人工录入第一货源数据至对应的数据管理***进行数据维护。数据管理服务器100可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
数据压缩服务器101用于对第一货源数据进行数据合并处理生成第二货源数据,并将第二货源数据下发至下游的搜索服务器103。数据压缩服务器101可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
搜索服务器103用于接收数据压缩服务器101下发的第二货源数据,并在接收到客户端的数据搜索请求时,从第二货源数据中获取对应的数据展示于客户端。搜索服务器103可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
网络103用于实现数据管理服务器100与数据压缩服务器101之间以及数据压缩服务器101与搜索服务器102之间的通信。具体的,数据管理服务器100通过网络103将第一货源数据传输至数据压缩服务器101,数据压缩服务器101通过网络103将生成的第二货源数据传输至搜索服务器102。
在一个实施例中,如图2所示,提供了一种货源数据的数据压缩方法,以该方法应用于图1中的数据压缩服务器为例进行说明,包括以下步骤:
S11、从数据管理服务器获取第一货源数据,第一货源数据包括第一字段、第二字段和第三字段,第一货源数据还包括多条数据记录,各条数据记录分别包括第一字段的字段值、第二字段的字段值和第三字段的字段值。
本申请中,上游的数据管理服务器用于对人工录入或导入的货源的初始数据进行数据维护与管理,并且将货源的初始数据下发至数据压缩服务器。
数据压缩服务器接收货源的初始数据后对初始数据进行预处理得到第一货源数据。其中,第一货源数据包括第一字段、第二字段和第三字段,另外还包括多条数据记录,各条数据记录中包括第一字段的字段值、第二字段的字段值和第三字段的字段值。
S12、将第一货源数据中第一字段的字段值相同,并且第二字段的字段值以及第三字段的字段值满足预设条件的数据记录,按照第一字段的字段值进行数据合并处理得到第二货源数据。
本申请中,预先设定预设条件,在第一货源数据中第一字段的字段值相同的多条数据记录满足该预设条件时,则对该多条数据记录进行数据合并处理得到第二货源数据,实现数据的压缩,减轻了数据链路的数据积压程度。
S13、将第二货源数据发送给搜索服务器,以便搜索服务器在接收到客户端的数据搜索请求时,从第二货源数据中获取对应的数据反馈至客户端展示。
本申请中,数据压缩服务器对第一货源数据进行数据合并处理后生成第二货源数据,并将第二货源数据下发至搜索服务器。在搜索服务器一端,当接收到客户端发起的数据搜索请求时,依据数据搜索请求从第二货源数据中获取对应的数据反馈至客户端展示,无需搜索服务器对货源数据进行压缩处理,节省了搜索服务器端的数据处理时间,提升了数据传输的效率。
在其中一个实施例中,上述的第一字段为商品编码,第二字段为销售区域,第三字段包括库位和供应商,上述的将第一货源数据中第一字段的字段值相同,并且第二字段的字段值以及第三字段的字段值满足预设条件的数据记录,按照第一字段的字段值进行数据合并处理得到第二货源数据,包括:
获取第一货源数据中的商品编码的字段值、库位的字段值以及供应商的字段值均相同的多条数据记录;根据多条数据记录,得到当前区域字段值列表,第一字段值列表中包括多条数据记录中各个销售区域的字段值;在当前区域字段值列表中存在有预设的基准区域字段值列表中的全部字段值时,将多条数据记录合并成一条新的数据记录,新的数据记录的商品编码的字段值、库位的字段值以及供应商的字段值均为对应的原字段值,新的数据记录的销售区域的字段值设为预置区域字段值。
需要说明的是,第一字段为商品编码、第二字段为销售区域、第三字段包括库位以及供应商。其中,销售区域可以根据实际情况设定区域的粒度,例如,可以设定为城市。进一步的,本申请的第三字段可以根据实际货源信息的情况设定包括更多或者更少的字段。在一种实施例中,第三字段包括库位以及供应商。在另一种实施例中,第三字段也可以包括其他与货源信息相关的字段,如商品价格等,本申请对第三字段的字段名不做具体限定。
具体的,本申请中,预先设定了基准区域字段值列表,该基准区域字段值列表中包括多个基准区域对应的字段值。例如,可以设定基准区域字段值列表中包括全国所有的城市对应的字段值或者全国所有的区对应的字段值等。
进一步的,当多条数据记录满足预设条件时,则对满足预设条件的多条数据记录进行数据合并。本实施例中,预设条件为:
其一、多条数据记录的商品编码的字段值、库位的字段值以及供应商的字段值均相同;
其二、多条数据记录的销售区域的字段值构成当前区域字段值列表,在当前区域字段值列表中存在有预设的基准区域字段值列表中的全部字段值。
当多条数据记录同时满足以上两个条件时,即确定该多条数据记录的第一字段的字段值相同,并且第二字段的字段值以及第三字段的字段值满足预设条件,则对该多条数据记录进行数据合并处理。
具体的,本申请对满足预设条件的多条数据记录进行数据合并处理时,将该多条数据记录中相同的字段值合并成一个与原字段值相同的值,将销售区域的字段值赋予预置值,以生成一条新的数据记录。本申请中,预置值可以根据需要设定,本申请中将预置值设置为:000001000999。
一种可能的设计中,第一货源数据如下表1所示:
表1一种实施例中第一货源数据的数据表
如表1所示,第一货源数据中包括第一字段、第二字段以及第三字段。其中,第一字段为商品编码、第二字段为销售区域、第三字段为库位以及供应商。在表1中,第一货源数据还包括多条数据记录,各条数据记录分别为第一字段的字段值、第二字段字段值以及第三字段的字段值。在第条数据记录中包括4个字段值,分别为商品编码对应的字段值000000011151286245、销售区域对应的字段值000001000000、库位对应的字段值0001以及供应商对应的字段值0070807952。依此类推,可以从表1中获取第2条数据记录、第3条数据记录....第n条数据记录。
对表1中的第一货源数据进行数据合并处理后得到第二货源数据,该第二货源数据如下表2所示:
表2一种实施例中第二货源数据的数据表
商品编码 |
销售区域 |
库位 |
供应商 |
000000011151286245 |
000001000999 |
0001 |
0070807952 |
如表2所示,由于表1中的第一货源数据满足,商品编码为:000000011151286245的各条数据记录中,销售区域的字段值所构成的当前区域字段值列表中存在有预设的基准区域字段值列表中的全部字段值,因此,本申请对表1中的第一货源数据进行数据合并处理后得到的第二货源数据,如表2所示。
在表2中,商品编码的字段值、库位的字段值以及供应商的字段值均为对应的原字段值,销售区域的字段值取预置值“000001000999”。本申请提供该数据合并方法通过将多条数据记录合并成一条数据记录,实现了数据的压缩,减轻了数据链路的数据传输压力。
在其中一个实施例中,上述的将第一货源数据中第一字段的字段值相同,并且第二字段的字段值以及第三字段的字段值满足预设条件的数据记录,按照第一字段的字段值进行数据合并处理得到第二货源数据,还可以包括步骤:
在当前区域字段值列表中存在的销售区域的字段值为多个,且未存在有预设的基准区域字段值列表中的全部字段值时,将多条数据记录合并成一条新的数据记录,新的数据记录的商品编码的字段值、库位的字段值以及供应商的字段值均为对应的原字段值,新的数据记录的销售城市的字段值设为原字段值合并后的字段值组合。
本申请中,在对将销售区域的字段值进行合并时,将销售区域对应的各个原字段值合并到一行,并通过分隔符分隔得到原字段值的组合,将该字段值的组合作为新的销售区域的字段值。
一种可能的设计中,该实施例中数据合并的过程如下表3以及下表4所示。
表3一种实施例中第一货源数据的数据表
商品编码 |
销售区域 |
库位 |
供应商 |
000000011151286245 |
000001000001 |
0001 |
0070807952 |
000000011151286245 |
000001000002 |
0001 |
0070807952 |
如表3所示,商品编码为000000011151286245对应的各条数据记录满足:商品编码的字段值、库位的字段值以及供应商的字段值均相同,并且各条数据记录中的销售区域的字段值构成的当前区域字段值列表中存在的销售区域的字段值为多个,且未存在有预设的基准区域字段值列表中的全部字段值。因此,可对该商品编码对应的所有的数据记录进行数据合并处理得到一条新的数据记录,该新的数据记录的商品编码的字段值以及供应商的字段值均为对应的原字段值,新的数据记录的销售城市的字段值设为原字段值合并后的字段值组合。另外,由于本申请中库位这个字段在搜索服务器中不作为检索的关键词,因此,库位这个字段可以作为冗余字段删除,合并后的结果如下表4所示。
表4一种实施例中第一货源数据的数据表
如表4所示,合并后的第二货源数据中,商品编码以及供应商对应的字段值取原数据记录中的值,销售区域的字段值取原数据记录中的各个值进行合并,并通过分隔符分隔开。进一步的,将冗余的扩展信息如库位的字段值删除。
在其中一个实施例中,上述的从数据管理服务器获取第一货源数据,包括:接收数据管理服务器下发的初始数据;对初始数据进行校验以及过滤处理得到第一货源数据。
本申请中,数据管理服务器将初始数据下发至数据压缩服务器,数据源压缩服务器接收初始数据后,对初始数据进行预处理,该预处理具体包括对初始数据进行数据校验,将校验不通过的初始数据进行过滤得到第一货源数据。具体的,本申请对初始数据进行校验时,具体包括:把接受到的初始数据按业务规则进行过。例如,要校验初始数据中的A商品的销售区域为M城市,则首先检查A商品是否上架,在哪些仓库上架,这些仓库是否有库存,商户在M城市是否可以销售等等。通过检查的结果校验初始数据是否有效,将无效的初始数据进行过滤得到第一货源数据供后续的数据合并处理。
在其中一个实施例中,上述的将第二货源数据发送给搜索服务器,包括:当消息队列中的消息条数达到预设数量时,将消息队列中的消息压缩后发送至搜索服务器。
本申请中,在获取第一货源数据时,每隔预设时间段获取一次第一货源数据,并对该第一货源数据进行数据合并处理得到第二货源数据,将该第二货源数据作为一条消息加入预设的消息队列中等待被发送。进一步的,将每一次获取的第一货源数据合并后生成的第二货源数据均作为一条消息加入到消息队列中等待被发送。
将每次生成的第二货源数据作为一条消息加入消息队列后,消息队列中缓存了若干条消息,当消息队列中的消息达到预设数量时,执行将消息队列中的消息进行压缩后发送至搜索服务器,其中,预设数量可以根据实际需求设定。
在其中一个实施例中,上述的将第二货源数据发送给搜索服务器,还包括:
在消息队列中的消息条数达到预设数量之前,若消息在消息队列中的缓存时间达到预置时间时,将消息队列中的消息进行压缩后发送至搜索服务器。
请参考图4所示,图4为一种实施例中,本申请将第二货源数据发送给搜索服务器的流程示意图。如图4所示,本申请将第二货源数据发送给搜索服务器时,具体包括如下步骤:
S21、将每隔预设时间段生成的第二货源数据作为一条消息加入预设的消息队列中。
S22、在消息队列中的消息条数达到预设数量之前,若消息在消息队列中缓存的时间达到预置时间时,将消息队列中的消息进行消息压缩。
S23、将压缩后的消息发送至搜索服务器。
本申请中,预先设定按照消息条数发送的规则以及按照预置时间发送的规则,并且优先选择按照预置时间发送的规则。本申请中的预置时间为消息在消息队列中缓存的时间,优选的,预置时间以第一条加入消息队列中的消息所缓存的时间为准。该预置时间可以根据实际需求设定,例如,可以设定为5000毫秒,当消息队列中的消息缓存的时间达到5000毫秒时,即使消息队列中的消息的条数不足预设条数也执行消息的发送。
本申请中,在对消息队列中的消息进行压缩时采用KAFKA消息组件提供的gzip方式对消息进行压缩,可以把消息大小压缩至原有的20%左右。相应的,接收方使用KAFKA消息组件接收消息后自动解压无需特殊配置。
在其中一个实施例中,上述的将第二货源数据发送给搜索服务器之前,包括:
将第二货源数据发送至价格全量计算服务器,通过价格全量计算服务器对第二货源数据中的各条数据记录添加价格对应的字段后发送至搜索服务器。
本申请中,在平台寻源***得到第二货源数据后,将第二货源数据发送至价格全量计算***,通过价格全量计算***对第二货源户数中的每条数据记录添加价格的字段后发送至搜索***。具体的,通过价格全量计算***对应的价格全量计算服务器对第二货源数据中的各条数据记录添加价格对应的字段后发送至搜索服务器。
在一个实施例中,如图3所示,提供了一种货源数据的数据压缩装置,包括:
获取模块11,用于从数据管理服务器获取第一货源数据,第一货源数据包括第一字段、第二字段和第三字段,第一货源数据还包括多条数据记录,各条数据记录分别包括第一字段的字段值、第二字段的字段值和第三字段的字段值;
数据合并模块12,用于将第一货源数据中第一字段的字段值相同,并且第二字段的字段值以及第三字段的字段值满足预设条件的数据记录,按照第一字段的字段值进行数据合并处理得到第二货源数据;
发送模块13,用于将第二货源数据发送给搜索服务器,以便搜索服务器在接收到客户端的数据搜索请求时,从第二货源数据中获取对应的数据反馈至客户端展示。
在其中一个实施例中,上述的第一字段为商品编码,第二字段为销售区域,第三字段包括库位和供应商,数据合并模块12,包括:
第一合并单元,用于获取第一货源数据中的商品编码的字段值、库位的字段值以及供应商的字段值均相同的多条数据记录;
根据多条数据记录,得到当前区域字段值列表,第一字段值列表中包括多条数据记录中各个销售区域的字段值;
在当前区域字段值列表中存在有预设的基准区域字段值列表中的全部字段值时,将多条数据记录合并成一条新的数据记录,新的数据记录的商品编码的字段值、库位的字段值以及供应商的字段值均为对应的原字段值,新的数据记录的销售区域的字段值设为预置区域字段值。
在其中一个实施例中,数据合并模块12,还包括:
第二合并单元,用于在当前区域字段值列表中存在的销售区域的字段值为多个,且未存在有预设的基准区域字段值列表中的全部字段值时,将多条数据记录合并成一条新的数据记录,新的数据记录的商品编码的字段值、库位的字段值以及供应商的字段值均为对应的原字段值,新的数据记录的销售区域的字段值设为原字段值合并后的字段值组合。
在其中一个实施例中,获取模块11,包括:
获取单元,用于接收数据管理服务器下发的初始数据;
对初始数据进行校验以及过滤处理得到第一货源数据。
在其中一个实施例中,发送模块13,包括:
第一发送单元,用于将每隔预设时间段生成的第二货源数据作为一条消息加入预设的消息队列中;
当消息队列中的消息条数达到预设数量时,将消息队列中的消息压缩后发送至搜索服务器。
在其中一个实施例中,发送模块13,还包括:
第二发送单元,用于在消息队列中的消息条数达到预设数量之前,若消息在消息队列中缓存的时间达到预置时间时,将消息队列中的消息进行压缩后发送至搜索服务器。
在其中一个实施例中,发送模块13,包括:
第三发送单元,用于将第二货源数据发送至价格全量计算服务器,通过价格全量计算服务器对第二货源数据中的各条数据记录添加价格对应的字段后发送至搜索服务器。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是数据压缩服务器,其内部结构图可以如图5所示。该计算机设备包括通过***总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***和计算机程序。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种货源数据的数据压缩方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
从数据管理服务器获取第一货源数据,第一货源数据包括第一字段、第二字段和第三字段,第一货源数据还包括多条数据记录,各条数据记录分别包括第一字段的字段值、第二字段的字段值和第三字段的字段值;将第一货源数据中第一字段的字段值相同,并且第二字段的字段值以及第三字段的字段值满足预设条件的数据记录,按照第一字段的字段值进行数据合并处理得到第二货源数据;将第二货源数据发送给搜索服务器,以便搜索服务器在接收到客户端的数据搜索请求时,从第二货源数据中获取对应的数据反馈至客户端展示。
在一个实施例中,上述的第一字段为商品编码,第二字段为销售区域,第三字段包括库位和供应商,处理器执行计算机程序实现上述的将第一货源数据中第一字段的字段值相同,并且第二字段的字段值以及第三字段的字段值满足预设条件的数据记录,按照第一字段的字段值进行数据合并处理得到第二货源数据步骤时,具体实现以下步骤:
获取第一货源数据中的商品编码的字段值、库位的字段值以及供应商的字段值均相同的多条数据记录;
根据多条数据记录,得到当前区域字段值列表,第一字段值列表中包括多条数据记录中各个销售区域的字段值;
在当前区域字段值列表中存在有预设的基准区域字段值列表中的全部字段值时,将多条数据记录合并成一条新的数据记录,新的数据记录的商品编码的字段值、库位的字段值以及供应商的字段值均为对应的原字段值,新的数据记录的销售区域的字段值设为预置区域字段值。
在一个实施例中,处理器执行计算机程序实现上述的将第一货源数据中第一字段的字段值相同,并且第二字段的字段值以及第三字段的字段值满足预设条件的数据记录,按照第一字段的字段值进行数据合并处理得到第二货源数据的步骤时,具体实现以下步骤:
在当前区域字段值列表中存在的销售区域的字段值为多个,且未存在有预设的基准区域字段值列表中的全部字段值时,将多条数据记录合并成一条新的数据记录,新的数据记录的商品编码的字段值、库位的字段值以及供应商的字段值均为对应的原字段值,新的数据记录的销售区域的字段值设为原字段值合并后的字段值组合。
在一个实施例中,处理器执行计算机程序实现上述的从数据管理服务器获取第一货源数据的步骤时,具体实现以下步骤:
接收数据管理服务器下发的初始数据;
对初始数据进行校验以及过滤处理得到第一货源数据。
在一个实施例中,处理器执行计算机程序实现上述的将第二货源数据发送给搜索服务器的步骤时,具体实现以下步骤:
将每隔预设时间段生成的第二货源数据作为一条消息加入预设的消息队列中;
当消息队列中的消息条数达到预设数量时,将消息队列中的消息压缩后发送至搜索服务器。
在一个实施例中,处理器执行计算机程序实现上述的将第二货源数据发送给搜索服务器的步骤时,具体实现以下步骤:
在消息队列中的消息条数达到预设数量之前,若消息在消息队列中缓存的时间达到预置时间时,将消息队列中的消息进行压缩后发送至搜索服务器。
在一个实施例中,处理器执行计算机程序实现上述的将第二货源数据发送给搜索服务器的步骤之前,具体实现以下步骤:
将第二货源数据发送至价格全量计算服务器,通过价格全量计算服务器对第二货源数据中的各条数据记录添加价格对应的字段后发送至搜索服务器。
本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述任意一个实施例中的货源数据的数据压缩方法的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。