一种商品轨迹系统及相关方法

文档序号:6526578阅读:790来源:国知局
一种商品轨迹系统及相关方法
【专利摘要】本发明提供了一种商品轨迹系统,包括数据模块,其包括商品信息数据库和数据表;通信模块,用于与商品数据管理系统通过队列服务进行交互;监控模块,用于在发现所述商品数据管理系统中的商品版本信息产生变动时,接收商品数据管理系统向所述队列服务发送的消息;以及轨迹记录模块,用于消耗队列消息,以存储变动的商品信息。本发明改进了保存多版本商品轨迹信息,保证商品系统的稳定性和数据的可扩展性。
【专利说明】一种商品轨迹系统及相关方法
【技术领域】
[0001]本发明涉及数据管理领域,特别涉及一种电子商务平台中存储商品版本信息的方法和系统。
【背景技术】
[0002]随着电子商务的快速发展,在线交易的商品的种类和数量逐渐增多,产品的制造商或销售商在电子商务系统中可以对所保持的商品进行数据管理,例如添加、删除商品。此夕卜,在当前电商平台的商品数据管理系统中,商户经常需要根据市场变化的需求调整自己的商品信息,例如调整商品的出售价格和库存量,在出厂参数发生变化时,商户还需要相应地修改产品的参数,如外观和条形码等。为了分析商品的变动情况,商品数据管理系统对商品信息的变动进行了版本快照存储。首先定义商品在系统中是有版本存在的,然后随着商户对商品信息的变动,特别是一些关键信息的修改,系统判定为商品版本发生了改变,并把改变的版本号通知给商品版本系统,版本系统根据版本号,再调用提出该版本的商品信息,然后进行存储。
[0003]当前系统面临的问题是,如何存储较多的版本变动数据,才能避免影响正常的系统流程,或利用商品的版本信息可以方便地进行各种统计分析与挖掘。已有系统商品版本信息以直接方式简单地进行存储,并未定义各个版本之间的数据关联,这会消耗大量的存储空间。即目前的商品系统还不能实现高效的进行版本定义与版本存储,尽可能的节省空间和便于提取分析。在商品信息升级方面,随着产品主体结构的修改,版本系统也需要持续进行优化改进,才能实现维护与支持,因此不利于数据的扩展。

【发明内容】

[0004]为解决上述现有技术所存在的问题,本发明提出了一种商品轨迹系统和方法,高效地保存多个版本的商品轨迹信息,并且保证商品系统的稳定性和数据的可扩展性。
[0005]本发明米用如下技术方案:一种商品轨迹系统,包括:
[0006]数据模块,其包括商品信息数据库和数据表,用于存储商品信息,其中所述商品信息包括商品属性信息和商品版本变动信息;
[0007]通信模块,用于与商品数据管理系统通过队列服务以远程调用API的方式进行交互,其中所述队列采用多线程执行;
[0008]监控模块,用于在发现所述商品数据管理系统中的商品信息产生变动时,若确定为是版本变动,则所述通信模块接收商品数据管理系统向所述队列服务发送的消息;以及
[0009]轨迹记录模块,用于消耗队列消息,同时获取该版本的商品信息,根据路由确认具体的数据库与数据表,以存储变动的商品信息。
[0010]优选地,所述轨迹系统部署在集群中,并且在多线程中执行,线程的数量由服务器性能确定。
[0011]优选地,所述数据模块中的所述数据库和数据表的存储结构在继承了所述商品数据管理系统中的存储结构基础上,增加两个商品属性信息字段,即版本号和版本记录时间。
[0012]优选地,所述数据模块中的所述数据表的主键配置为:商品数据管理系统中的产品信息表的主键与所述版本号字段的组合。
[0013]优选地,其中所述商品属性信息包括以下任意一个或多个:商品唯一标识、商品图片、商品名称、重量信息、厂商名称、商品价格、商品分类、商品描述。
[0014]优选地,所述轨迹系统是独立运行的应用程序,或者操作系统的服务。
[0015]优选地,所述轨迹记录模块还配置为,
[0016]通知商品数据管理系统需要获取的商品版本信息;
[0017]当要获取的版本号与当前最新的版本号一致时,表示版本号正常,向队列服务发送消息;
[0018]当要获取的版本号与当前最新的版本号不一致时,表示版本号错误,过程结束。
[0019]优选地,所述轨迹系统的数据模块采用MySql数据库,数据表基于商户编号来建立,MySql数据库由统一配置中心通过配置指定,该统一配置中心可通过操作和管理程序配置文件来实现。
[0020]优选地,所述轨迹系统的数据模块使用Mongo数据存储引擎,将Mongo设置为schma free 形式的 nosql。
[0021]优选地,所述Mongo数据存储引擎使用复合文档的方式,在确定监控字段的任意时间点,加入从MySql到Mongo的数据映射,利用Mongos分片方式,数据扩容对应用端透明;利用Mongos的代理机制,支持跨分片的查询;利用Mongo的mapreduce计算框架,实时以javascript脚本的方式执行统计任务,为平台提供数据统计支持;利用spring dataMongo框架,直接实现jpa到Mongo的映射,同时spring data的MongoRepository数据仓库,可以实现声明接口即实现crud的功能,快速实现数据操作。
[0022]本发明的另一方面提供了一种保存商品多版本的轨迹信息的方法,其特征在于,包括:
[0023]建立商品信息数据库和数据表,用于存储商品信息,其中所述商品信息包括商品属性信息和商品版本变动信息;
[0024]与商品数据管理系统通过队列服务以远程调用API的方式进行交互,其中所述队列采用多线程执行;
[0025]在发现所述商品数据管理系统中的商品信息产生变动时,若确定为是版本变动,则所述通信模块接收商品数据管理系统向所述队列服务发送的消息;以及
[0026]消耗队列消息,同时获取该版本的商品信息,根据路由确认具体的数据库与数据表,以存储变动的商品信息。
[0027]优选地,所述与商品数据管理系统通过队列服务交互包括:
[0028]在集群中多线程执行队列,所述线程的数量由服务器性能确定。
[0029]优选地,商品信息数据库的表的存储结构在继承了所述商品数据管理系统中的存储结构基础上,增加两个商品属性信息字段,即版本号和版本记录时间。
[0030]优选地,所述数据表的主键配置为:商品数据管理系统中的产品信息表的主键与所述版本号字段的组合。
[0031 ] 优选地,该方法还包括:[0032]通知商品数据管理系统需要获取的商品版本信息;
[0033]当要获取的版本号与当前最新的版本号一致时,表示版本号正常,向队列服务发送消息;
[0034]当要获取的版本号与当前最新的版本号不一致时,表示版本号错误,方法结束。
[0035]优选地,采用MySql数据库,数据表基于商户编号来建立,MySql数据库由统一配置中心通过配置指定,该统一配置中心可通过操作和管理程序配置文件来实现。
[0036]优选地,所述轨迹系统的数据模块使用Mongo数据存储引擎,将Mongo设置为schma free 形式的 nosql。
[0037]相比于现有技术,本发明的技术方案具有以下优点:
[0038]I)建立了商品轨迹系统,完善了商品版本存储体系,保证系统的稳定。
[0039]2)独立的系统,采用队列与API的交互方式,保证了与商品数据管理系统的松耦合,降低了依赖性。
[0040]3)当面临商户的频繁修改商品时,轨迹系统采用对线程增加缓存队列的方式处理消息,保证系统的吞吐能力。
[0041]4)利用商品变化轨迹信息,为以后的智能分析,产品变动分析等提供了充分的条件。
【专利附图】

【附图说明】
[0042]图1是根据本发明实施例在商品轨迹系统中记录版本变化的方法的流程图。
[0043]图2为根据本发明实施例的轨迹系统的队列的多线程执行过程示意图。
[0044]图3是根据本发明可选的实施例中数据引擎的结构图。
【具体实施方式】
[0045]多种方式可以用于(包括实施为过程;装置;系统;物质组成;在计算机可读存储介质上包括的计算机程序产品;和/或处理器(诸如如下处理器,该处理器被配置成执行在耦合到处理器的存储器上存储的和/或由该存储器提供的指令))实施本发明。在本说明书中,这些实施或者本发明可以采用的任何其他形式可以称为技术。一般而言,可以在本发明的范围内变更公开的过程的步骤顺序。除非另有明示,描述为被配置成执行任务的部件(诸如处理器或者存储器)可以实施为被临时配置成在给定时间执行该任务的一般部件或者被制造成执行该任务的具体部件。
[0046]下文与图示本发明原理的附图一起提供对本发明一个或者多个实施例的详细描述。结合这样的实施例描述本发明,但是本发明不限于任何实施例。本发明的范围仅由权利要求书限定,并且本发明涵盖诸多替代、修改和等同物。在下文描述中阐述诸多具体细节以便提供对本发明的透彻理解。出于示例的目的而提供这些细节,并且无这些具体细节中的一些或者所有细节也可以根据权利要求书实现本发明。
[0047]本发明的目的在于提供一种商品轨迹系统,以及应用于在此系统的方法,克服现有技术的海量商品数据管理中存在的问题。
[0048]图1是根据本发明实施例在商品轨迹系统中记录版本变化的处理流程图。该系统具有以下特征:[0049]I)确立一个商品轨迹系统,在本发明的实施例中定义该服务名称为prodversion,可以是独立运行的服务化app,也可以是操作系统后台运行的服务,与商品数据管理系统通过队列(MQ)与远程调用(API)的方式进行交互。商品数据管理系统包含存储商品基本属性信息的数据库,在一个实施例中,商品数据管理系统存储的商品的属性信息可包括商品唯一标识(ID)、商品图片、商品名称、重量信息、厂商名称、商品价格、商品分类、商品描述等信息。
[0050]2)轨迹系统的存储结构同商品数据管理系统的存储结构大体一致,在继承了商品数据管理系统中商品数据库的结构上,对应的每个商品实体的表上增加两列,一列是version (字段版本号),一列是version_date (版本记录的时间),其中表主键改成:原产品信息表的主键加上version字段所联合形成的主键。
[0051]3)轨迹系统的存储选择的数据库优选为MySql,在存储上按商户编号进行256张表的拆分,各个表所在的数据库由统一配置中心通过配置指定,该统一配置中心可通过操作和管理程序配置文件来实现。
[0052]4)当商品信息产生变动时,若确定为是版本变动,则向队列服务发送一消息;轨迹系统服务消耗队列消息,同时获取该版本的商品信息,根据路由确认具体的数据库与数据表,以存储变动的商品信息。
[0053]图2为根据本发明实施例的轨迹系统的队列的多线程执行过程示意图。
[0054]如图2所示,在轨迹系统的队列消耗上,为了充分利用系统资源,保证队列消耗的高效与准确性,利用集群部署所述轨迹系统,并且在多线程中执行,线程的数量由服务器CPU的核数与配置数量共 同确立,线程的执行过程中可增加缓存队列,增加系统的吞吐量。
[0055]为进一步阐述本发明,以下将服装类商品的价格信息产生变动的实际情况为例,具体描述的本发明商品轨迹系统与方法的实施例。
[0056]建立商品轨迹系统,作为独立运行的应用APP ;
[0057]通过远程调用API,与服装数据管理系统通过队列MQ方式进行交互;
[0058]假设已有的服装数据管理系统中商品实体的表包括如下字段,一条记录为:
[0059]
【权利要求】
1.一种商品轨迹系统,其特征在于,包括: 数据模块,其包括商品信息数据库和数据表,用于存储商品信息,其中所述商品信息包括商品属性信息和商品版本变动信息; 通信模块,用于与商品数据管理系统通过队列服务以远程调用API的方式进行交互,其中所述队列采用多线程执行; 监控模块,用于在发现所述商品数据管理系统中的商品信息产生变动时,若确定为是版本变动,则所述通信模块接收商品数据管理系统向所述队列服务发送的消息;以及 轨迹记录模块,用于消耗队列消息,同时获取该版本的商品信息,根据路由确认具体的数据库与数据表,以存储变动的商品信息。
2.根据权利要求1所述的系统,其特征在于: 所述轨迹系统部署在集群中,并且在多线程中执行,线程的数量由服务器性能确定。
3.根据权利要求1所述的系统,其特征在于: 所述数据模块中的所述数据库和数据表的存储结构在继承了所述商品数据管理系统中的存储结构基础上,增加两个商品属性信息字段,即版本号和版本记录时间。
4.根据权利要求3所述的系统,其特征在于:所述数据模块中的所述数据表的主键配置为:商品数据管理系统中的产品信息表的主键与所述版本号字段的组合。
5.根据权利要求1-4中任一个所述的系统,其中所述商品属性信息包括以下任意一个或多个:商品唯一标识、商 品图片、商品名称、重量信息、厂商名称、商品价格、商品分类、商品描述。
6.根据权利要求1所述的系统,其特征在于:所述轨迹系统是独立运行的应用程序,或者操作系统的服务。
7.根据权利要求1所述的系统,其特征在于,所述轨迹记录模块还配置为, 通知商品数据管理系统需要获取的商品版本信息; 当要获取的版本号与当前最新的版本号一致时,表示版本号正常,向队列服务发送消息; 当要获取的版本号与当前最新的版本号不一致时,表示版本号错误,过程结束。
8.根据权利要求1所述的系统,其特征在于,所述轨迹系统的数据模块采用MySql数据库,数据表基于商户编号来建立,MySql数据库由统一配置中心通过配置指定,该统一配置中心可通过操作和管理程序配置文件来实现。
9.根据权利要求1所述的系统,其特征在于,所述轨迹系统的数据模块使用Mongo数据存储引擎,将Mongo设置为schma free形式的nosql。
10.根据权利要求9所述的系统,其特征在于,所述Mongo数据存储引擎使用复合文档的方式,在确定监控字段的任意时间点,加入从MySql到Mongo的数据映射,利用Mongos分片方式,数据扩容对应用端透明;利用Mongos的代理机制,支持跨分片的查询;利用Mongo的mapreduce计算框架,实时以javascript脚本的方式执行统计任务,为平台提供数据统计支持;利用spring data Mongo框架,直接实现jpa到Mongo的映射,同时spring data的MongoRepository数据仓库,可以实现声明接口即实现crud的功能,快速实现数据操作。
11.一种保存商品多版本的轨迹信息的方法,其特征在于,包括: 建立商品信息数据库和数据表,用于存储商品信息,其中所述商品信息包括商品属性信息和商品版本变动信息; 与商品数据管理系统通过队列服务以远程调用API的方式进行交互,其中所述队列采用多线程执行; 在发现所述商品数据管理系统中的商品信息产生变动时,若确定为是版本变动,则所述通信模块接收商品数据管理系统向所述队列服务发送的消息;以及 消耗队列消息,同时获取该版本的商品信息,根据路由确认具体的数据库与数据表,以存储变动的商品信息。
12.根据权利要求11所述的方法,其特征在于,所述与商品数据管理系统通过队列服务交互包括: 在集群中多线程执行队列,所述线程的数量由服务器性能确定。
13.根据权利要求11所述的方法,其特征在于: 商品信息数据库的表的存储结构在继承了所述商品数据管理系统中的存储结构基础上,增加两个商品属性信息字段,即版本号和版本记录时间。
14.根据权利要求13所述的方法,其特征在于:所述数据表的主键配置为:商品数据管理系统中的产品信息表的主键与所述版本号字段的组合。
15.根据权利要求11-14中任一个所述的方法,其中所述商品属性信息包括以下任意一个或多个:商品唯一标识、商品图片、商品名称、重量信息、厂商名称、商品价格、商品分类、商品描述。
16.根据权利要求11所述的方法,其特征在于:所述方法作为独立运行的应用程序来执行,或者通过操作系统的服务执行。
17.根据权利要求11所述的方法,其特征在于,该方法还包括: 通知商品数据管理系统需要获取的商品版本信息; 当要获取的版本号与当前最新的版本号一致时,表示版本号正常,向队列服务发送消息; 当要获取的版本号与当前最新的版本号不一致时,表示版本号错误,方法结束。
18.根据权利要求11所述的方法,其特征在于,采用MySql数据库,数据表基于商户编号来建立,MySql数据库由统一配置中心通过配置指定,该统一配置中心可通过操作和管理程序配置文件来实现。
19.根据权利要求11所述的方法,其特征在于,所述轨迹系统的数据模块使用Mongo数据存储引擎,将Mongo设置为schma free形式的nosql。
【文档编号】G06Q30/02GK103700010SQ201310744454
【公开日】2014年4月2日 申请日期:2013年12月30日 优先权日:2013年12月30日
【发明者】谢志胜, 杨秦, 顾锡栋 申请人:世纪禾光科技发展(北京)有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1