一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

商品冗余数据更新方法及其装置、设备、介质与流程

2022-09-01 07:25:16 来源:中国专利 TAG:


1.本技术涉及电商网络技术领域,尤其涉及一种商品冗余数据更新方法及其相应的装置、计算机设备、计算机可读存储介质。


背景技术:

2.在当前流行微服务架构体系下,电商平台系统功能会拆分成不同子域来实现。以大型电商平台为例,一般会分成店铺中心、商品中心、交易中心、营销中心、会员中心、物流中心等。每个中心系统都有清晰的系统边界,但也必然存在数据的依赖。例如交易下单依赖商品价格和库存,营销推广会依赖会员等级、商品spu等数据。当依赖的数据发生变更甚至删除时,在商家端期望能即时看到对应数据的状态和基本信息。解决这个问题一般是实时查询提供被依赖数据的中心系统的数据库,按照所需被依赖数据的商品唯一标识码及商品信息类型调用相应的数据库查询接口获得相应的被依赖数据(例如按商品id和商品标题查询获取相应的商品信息)。但按照一般的数据处理原则,实时调用数据库查询接口查询已经被删除的被依赖数据是不会返回数据的,查询不到被依赖数据,表示被依赖数据已删除,而商家期望还能够看到该被依赖数据的基本信息(例如商品的名称等),此时就有必要冗余少量的依赖字段信息。存在信息的冗余,必须要解决的问题就是数据的一致性。
3.解决冗余数据一致性业界一般采用两种方式:一、监听数据变更的消息队列更新数据。当依赖的数据少,但变更数据量大时,监听的大部分消息都是无用的消息,浪费线程资源。二、通过定时任务方式查询更新冗余数据。该方案缺点是依赖数据的数据量大时,定时数据更新延迟就越大,且当大部分数据甚至没有数据更新时,也非常浪费线程资源。
4.针对业界常用的两种数据同步方案不够轻量级,本技术人做出相应的探索。


技术实现要素:

5.本技术的首要目的在于解决上述问题至少之一而提供一种商品冗余数据更新方法及其相应的装置、计算机设备、计算机可读存储介质。
6.为满足本技术的各个目的,本技术采用如下技术方案:
7.适应本技术的目的之一而提供的一种商品冗余数据更新方法,包括如下步骤:
8.获取外部在线服务的被依赖数据作为目标冗余数据存储于冗余数据库中,所述目标冗余数据包含多个商品相对应的数据记录,每个数据记录包含其相应商品的商品特征信息及部分或全量商品信息类型相对应的商品信息;
9.响应终端设备提交的商品信息获取请求,根据该请求提供的商品特征信息及商品信息类型,查询所述冗余数据库中的目标冗余数据,获得相匹配的商品的数据记录中所述商品信息类型相对应的第一商品信息;
10.从所述外部在线服务的被依赖数据中查询获取该获取请求指定的商品特征信息及商品信息类型相对应的第二商品信息;
11.比对第一商品信息与第二商品信息之间的一致性,在比对一致时,将第一商品信
息或第二商品信息推送至所述终端设备应答所述请求。
12.进一步的实施例中,从所述外部在线服务的被依赖数据中查询获取该获取请求指定的商品特征信息及商品信息类型相对应的第二商品信息的步骤中,还包括如下步骤:
13.检测所述目标冗余数据的数据记录是否存在表征其被依赖数据已被删除的标记,当不存在该标记时,向所述外部在线服务请求查询获取所述第二商品信息;
14.当请求查询获取第二商品信息失败时,将冗余数据库中相应的数据记录标记为其被依赖数据已被删除,以所述第一商品信息应答所述商品信息获取请求;
15.当存在该标记时,以所述第一商品信息应答所述商品信息获取请求。
16.进一步的实施例中,比对第一商品信息与第二商品信息之间的一致性的步骤中,还包括如下步骤:
17.当所述第一商品信息与第二商品信息比对不一致时,将第二商品信息推送至所述终端设备应答所述请求;
18.异步更新所述第一商品信息为所述第二商品信息。
19.进一步的实施例中,异步更新所述第一商品信息为所述第二商品信息的步骤中,包括如下步骤:
20.创建第一商品信息的更新任务推送至异步线程池,获取该更新任务的分布式锁;
21.当分布式锁获取成功时,更新所述第一商品信息为所述第二商品信息,反之,放弃执行对所述第一商品信息的更新;
22.当更新完成时,释放所述分布式锁。
23.进一步的实施例中,获取外部在线服务的被依赖数据作为目标冗余数据存储于冗余数据库中的步骤之前,包括如下步骤:
24.响应数据同步事件,根据预设的商品特征信息及部分或全量商品信息类型向外部在线服务查询获取其商品数据库中全量商品的数据记录作为被依赖数据。
25.进一步的实施例中,响应数据同步事件,根据预设的商品特征信息及部分或全量商品信息类型向外部在线服务查询获取其商品数据库中全量商品的数据记录作为被依赖数据的步骤中,还包括如下步骤:
26.当查询获取相匹配的商品的数据记录不存在时,输出表示被依赖数据保存失败的信息。
27.进一步的实施例中,所述被依赖数据包括商品标题和商品默认图片在内的至少两种商品信息类型。
28.适应本技术的目的之一而提供的一种商品冗余数据更新装置,包括:数据获取模块、请求响应模块、信息获取模块,以及一致性比对模块,其中,数据获取模块,用于获取外部在线服务的被依赖数据作为目标冗余数据存储于冗余数据库中,所述目标冗余数据包含多个商品相对应的数据记录,每个数据记录包含其相应商品的商品特征信息及部分或全量商品信息类型相对应的商品信息;请求响应模块,用于响应终端设备提交的商品信息获取请求,根据该请求提供的商品特征信息及商品信息类型,查询所述冗余数据库中的目标冗余数据,获得相匹配的商品的数据记录中所述商品信息类型相对应的第一商品信息;信息获取模块,用于从所述外部在线服务的被依赖数据中查询获取该获取请求指定的商品特征信息及商品信息类型相对应的第二商品信息;一致性比对模块,用于比对第一商品信息与
第二商品信息之间的一致性,在比对一致时,将第一商品信息或第二商品信息推送至所述终端设备应答所述请求。
29.进一步的实施例中,所述信息获取模块,包括:标记检测子模块,用于检测所述目标冗余数据的数据记录是否存在表征其被依赖数据已被删除的标记,当不存在该标记时,向所述外部在线服务请求查询获取所述第二商品信息;请求应答第一子模块,用于当请求查询获取第二商品信息失败时,将冗余数据库中相应的数据记录标记为其被依赖数据已被删除,以所述第一商品信息应答所述商品信息获取请求;请求应答第二子模块,用于当存在该标记时,以所述第一商品信息应答所述商品信息获取请求。
30.进一步的实施例中,所述一致性比对模块,还包括:请求应答第三子模块,用于当所述第一商品信息与第二商品信息比对不一致时,将第二商品信息推送至所述终端设备应答所述请求;异步更新子模块,用于异步更新所述第一商品信息为所述第二商品信息。
31.进一步的实施例中,所述异步更新子模块,包括:获取锁单元,用于创建第一商品信息的更新任务推送至异步线程池,获取该更新任务的分布式锁;信息更新单元,当分布式锁获取成功时,更新所述第一商品信息为所述第二商品信息,反之,放弃执行对所述第一商品信息的更新;释放锁单元,用于当更新完成时,释放所述分布式锁。
32.进一步的实施例中,所述数据获取模块之前,还有:数据同步模块,用于响应数据同步事件,根据预设的商品特征信息及部分或全量商品信息类型向外部在线服务查询获取其商品数据库中全量商品的数据记录作为被依赖数据。
33.进一步的实施例中,所述数据同步模块,还包括:保存失败子模块,用于当查询获取相匹配的商品的数据记录不存在时,输出表示被依赖数据保存失败的信息。
34.适应本技术的目的之一而提供的一种计算机设备,包括中央处理器和存储器,所述中央处理器用于调用运行存储于所述存储器中的计算机程序以执行本技术所述的商品冗余数据更新方法的步骤。
35.适应本技术的另一目的而提供的一种计算机可读存储介质,其以计算机可读指令的形式存储有依据所述的商品冗余数据更新方法所实现的计算机程序,该计算机程序被计算机调用运行时,执行该方法所包括的步骤。
36.根据本技术的典型实施例可以知晓,本技术的技术方案存在多方面优势,包括但不限于如下各方面:
37.本技术备份外部在线服务的被依赖数据作为目标冗余数据存储于冗余数据库中,当响应终端设备提交的商品信息获取请求时,查询获取冗余数据库中与该请求提供的商品特征信息及商品信息类型相匹配的数据记录中的第一商品信息,同样从外部服务的商品数据库的被依赖数据中查询获取该请求对应的第二商品信息,比对第一商品信息与第二商品信息之间的一致性,在比对一致时,表征第一商品信息为最新信息,由此,将第一商品信息或第二商品信息推送至终端设备应答所述请求。不难理解,由于对被依赖数据备份存储为目标冗余数据,通过对比第一和第二商品信息,可以确保提供给用户的商品信息保持最新,也就保证了用户获得最新商品信息的及时性。即使被依赖数据在商品数据库中被删除后,理论上仍可利用所述的第一商品信息应答商品信息获取请求,而调用相应备份的目标冗余数据中数据记录的第一商品信息推送至终端设备应答请求。
38.在本技术的揭示下可以理解,在第一商品信息与第二商品信息比对不一致时,表
communications service,个人通信系统),其可以组合语音、数据处理、传真和/或数据通信能力;pda(personal digital assistant,个人数字助理),其可以包括射频接收器、寻呼机、互联网/内联网访问、网络浏览器、记事本、日历和/或gps(global positioning system,全球定位系统)接收器;常规膝上型和/或掌上型计算机或其他设备,其具有和/或包括射频接收器的常规膝上型和/或掌上型计算机或其他设备。这里所使用的“客户端”、“终端”、“终端设备”可以是便携式、可运输、安装在交通工具(航空、海运和/或陆地)中的,或者适合于和/或配置为在本地运行,和/或以分布形式,运行在地球和/或空间的任何其他位置运行。这里所使用的“客户端”、“终端”、“终端设备”还可以是通信终端、上网终端、音乐/视频播放终端,例如可以是pda、mid(mobile internet device,移动互联网设备)和/或具有音乐/视频播放功能的移动电话,也可以是智能电视、机顶盒等设备。
52.本技术所称的“服务器”、“客户端”、“服务节点”等名称所指向的硬件,本质上是具备个人计算机等效能力的电子设备,为具有中央处理器(包括运算器和控制器)、存储器、输入设备以及输出设备等冯诺依曼原理所揭示的必要构件的硬件装置,计算机程序存储于其存储器中,中央处理器将存储在外存中的程序调入内存中运行,执行程序中的指令,与输入输出设备交互,借此完成特定的功能。
53.需要指出的是,本技术所称的“服务器”这一概念,同理也可扩展到适用于服务器机群的情况。依据本领域技术人员所理解的网络部署原理,所述各服务器应是逻辑上的划分,在物理空间上,这些服务器既可以是互相独立但可通过接口调用的,也可以是集成到一台物理计算机或一套计算机机群的。本领域技术人员应当理解这一变通,而不应以此约束本技术的网络部署方式的实施方式。
54.本技术的一个或数个技术特征,除非明文指定,既可部署于服务器实施而由客户端远程调用获取服务器提供的在线服务接口来实施访问,也可直接部署并运行于客户端来实施访问。
55.本技术所涉及的各种数据,除非明文指定,既可远程存储于服务器,也可存储于本地终端设备,只要其适于被本技术的技术方案所调用即可。
56.本领域技术人员对此应当知晓:本技术的各种方法,虽然基于相同的概念而进行描述而使其彼此间呈现共通性,但是,除非特别说明,否则这些方法都是可以独立执行的。同理,对于本技术所揭示的各个实施例而言,均基于同一发明构思而提出,因此,对于相同表述的概念,以及尽管概念表述不同但仅是为了方便而适当变换的概念,应被等同理解。
57.本技术即将揭示的各个实施例,除非明文指出彼此之间的相互排斥关系,否则,各个实施例所涉的相关技术特征可以交叉结合而灵活构造出新的实施例,只要这种结合不背离本技术的创造精神且可满足现有技术中的需求或解决现有技术中的某方面的不足即可。对此变通,本领域技术人员应当知晓。
58.本技术的一种商品冗余数据更新方法,可被编程为计算机程序产品,部署于客户端或服务器中运行而实现,例如在本技术的电商平台应用场景中,一般部署在服务器中实施,藉此可以通过访问该计算机程序产品运行后开放的接口,通过图形用户界面与该计算机程序产品的进程进行人机交互而执行该方法。
59.请参阅图1,本技术的商品冗余数据更新方法在其典型实施例中,包括如下步骤:
60.步骤s1100、获取外部在线服务的被依赖数据作为目标冗余数据存储于冗余数据
库中,所述目标冗余数据包含多个商品相对应的数据记录,每个数据记录包含其相应商品的商品特征信息及部分或全量商品信息类型相对应的商品信息;
61.在当前流行微服务架构体系下,电商平台系统功能实现会拆分成不同子域来实现。以大型电商平台为例,一般会分成店铺中心、商品中心、交易中心、营销中心、会员中心、物流中心等。每个中心系统都有清晰的系统边界,但也必然存在数据的依赖,即不同中心系统相对应的在线服务之间存在相互依赖的被依赖数据,而且当该被依赖数据发生变更甚至删除时,用户期望能即时看到该被依赖数据相应的状态和商品信息,示范性举例,当前用户操作的是电商平台系统中的赠品中心,其向用户提供的在线服务包含的赠品的商品信息是依赖外部在线服务所提供,即为被依赖数据,当赠品的商品信息被变更时,用户期望能即时看到该赠品相应的状态为已更新、商品信息为变更后的商品信息,当赠品的商品信息被删除时,用户期望能即时看到该赠品相应的状态为已删除、商品信息为赠品的部分或全量的商品信息,例如商品标题和/或商品图片等等。
62.可以理解,一般而言,根据数据处理基本原则,调用相应的数据查询接口查询被删除的外部在线服务的被依赖数据,因其被删除,故而所述接口不会返回该被删除的被依赖数据而查询失败,但用户期望仍能够看到该被删除的被依赖数据的商品信息,为此,就需要冗余少量的被依赖数据,即部分或全量商品信息类型相对应的商品信息。据此,获取外部在线服务的被依赖数据作为目标冗余数据存储于冗余数据库中,以备后续响应对被删除的被依赖数据的获取请求,将相应的目标冗余数据推送给用户,所述被依赖数据包含多个商品相对应的数据记录,每个数据记录包含其相应商品的商品特征信息及部分或全量商品信息类型相对应的商品信息,其中所述商品特征信息为由软件工程人员设立用于指定各个商品的唯一标识,所述部分或全量商品信息类型可由本领域技术人员按业务所需灵活变通设置。
63.步骤s1200、响应终端设备提交的商品信息获取请求,根据该请求提供的商品特征信息及商品信息类型,查询所述冗余数据库中的目标冗余数据,获得相匹配的商品的数据记录中所述商品信息类型相对应的第一商品信息;
64.服务器接收终端设备提交的商品信息获取请求,并对其响应,调用相应的数据获取接口访问所述冗余数据库,查询其中与该请求提供的商品特征信息及商品信息类型相匹配的目标冗余数据,获得对应该商品特征信息的商品的数据记录中对应该商品信息类型的第一商品信息,所述数据获取接口可由本领域技术人员灵活变通实现。
65.步骤s1300、从所述外部在线服务的被依赖数据中查询获取该获取请求指定的商品特征信息及商品信息类型相对应的第二商品信息;
66.调用相应的外部依赖数据获取接口,根据所述获取请求提供的商品特征信息及商品信息类型,查询外部在线服务的被依赖数据,获取对应该商品特征信息的商品的数据记录中对应所述该商品信息类型的第二商品信息,所述外部依赖数据获取接口可由本领域技术人员灵活变通实现。
67.步骤s1400、比对第一商品信息与第二商品信息之间的一致性,在比对一致时,将第一商品信息或第二商品信息推送至所述终端设备应答所述请求。
68.进一步,比对第一商品信息与第二商品信息之间的一致性,例如第一商品信息与第二商品信息中的商品标题相对应的字符串是否相同、第二商品信息与第二商品信息中的
商品图片相对应的调用存储地址是否相同,在比对一致时,可以理解,由于以与第一商品信息相同的查询条件查询获得的所述第二商品信息为响应所述获取请求而实时查询返回的结果,因此,表征所述第一商品信息为商品的最新信息,可将第一商品信息或第二商品信息推送至所述终端设备应答所述请求。一种实施例中,所述第一商品信息或第二商品信息为赠品的商品标题和商品图片,终端设备接收第一商品信息或第二商品信息,电商平台的赠品中心系统提供的在线服务为该终端设备加载所述商品标题和商品图片以将其两者相应的界面上显示,如图2中100所示。
69.根据本技术的典型实施例可以知晓,本技术的技术方案存在多方面优势,包括但不限于如下各方面:
70.本技术备份外部在线服务的被依赖数据作为目标冗余数据存储于冗余数据库中,当响应终端设备提交的商品信息获取请求时,查询获取冗余数据库中与该请求提供的商品特征信息及商品信息类型相匹配的数据记录中的第一商品信息,同样从外部服务的商品数据库的被依赖数据中查询获取该请求对应的第二商品信息,比对第一商品信息与第二商品信息之间的一致性,在比对一致时,表征第一商品信息为最新信息,由此,将第一商品信息或第二商品信息推送至终端设备应答所述请求。不难理解,由于对被依赖数据备份存储为目标冗余数据,通过对比第一和第二商品信息,可以确保提供给用户的商品信息保持最新,也就保证了用户获得最新商品信息的及时性。即使被依赖数据在商品数据库中被删除后,理论上仍可利用所述的第一商品信息应答商品信息获取请求,而调用相应备份的目标冗余数据中数据记录的第一商品信息推送至终端设备应答请求。
71.在本技术的揭示下可以理解,在第一商品信息与第二商品信息比对不一致时,表征第一商品信息并未最新,而需对第一商品信息实施更新为第二商品信息,可见,当响应所述商品信息获取请求时,同步目标冗余数据与其对应的被依赖数据一致,无需监听找出需要更新的目标冗余数据,减少了无效操作,节省线程资源,实现对目标冗余数据的轻量级更新。
72.请参阅图3,进一步的实施例中,步骤s1300、从所述外部在线服务的被依赖数据中查询获取该获取请求指定的商品特征信息及商品信息类型相对应的第二商品信息的步骤中,还包括如下步骤:
73.步骤s1310、检测所述目标冗余数据的数据记录是否存在表征其被依赖数据已被删除的标记,当不存在该标记时,向所述外部在线服务请求查询获取所述第二商品信息;
74.向所述外部在线服务发起查询获取所述第二商品信息的请求前,可以先检测所述目标冗余数据的数据记录是否存在表征其被依赖数据已被删除的标记,若不存在该标记,则表征相应的第二商品信息在上一次向外部在线服务查询获取时未被删除,据此,再发起所述请求,调用相应的外部依赖数据获取接口查询获取所述第二商品信息。
75.步骤s1320、当请求查询获取第二商品信息失败时,将冗余数据库中相应的数据记录标记为其被依赖数据已被删除,以所述第一商品信息应答所述商品信息获取请求;
76.当请求查询获取第二商品信息失败时,表征相应的外部在线服务的依赖数据已被删除,据此,为所述冗余数据库中与所述请求提供的商品特征信息及商品信息类型相匹配的目标冗余数据的数据记录标记其被依赖数据已被删除。进一步,应答所述商品信息获取请求,推送所述第一商品信息至所述终端设备。
77.步骤s1330、当存在该标记时,以所述第一商品信息应答所述商品信息获取请求。
78.当存在该标记时,表征相应的第二商品信息已被删除,可以无需向外部在线服务发起查询获取所述第二商品信息请求,直接以所述第一商品信息应答所述商品信息获取请求。一种实施例中,所述目标冗余数据的数据记录存在表征其被依赖数据已被删除的标记,据此,可以相应设定“已删除”标识用于界面上显示以提醒用户知晓商品信息已被删除状态,并且为该商品信息相对应的对象设定无法被选中,进一步,电商平台的赠品中心系统提供的在线服务根据所述“已删除”标识以及第一商品信息,该第一商品信息为赠品的商品标题和商品图片,为终端设备加载所述商品标题和商品图片以将其两者相应的在界面上显示,如图2中101所示,由此,用户在终端设备显示的界面上即可看到被删除赠品的“已删除”状态和相应的商品标题和商品图片。
79.本实施例中,通过向所述外部在线服务请求查询获取所述第二商品信息失败,为冗余数据库中相应的数据记录标记为其被依赖数据已被删除,使得检测标记确定第二商品信息已被删除即可无需再发起请求对其查询获取,节省无效请求占用的线程资源,提高执行效率。
80.本实施例也构建了一个自检测机制,通过检测目标冗余数据是否存在已删除标记决策,确定是否向外部在线服务查询获取数据,而在向外部在线服务查询获取相应的商品信息失败时,又及时标记相应的目标冗余数据为已删除状态,据此,无需依赖外部消息通知,而是在响应用户的获取请求后才按实际情况动态设备相应的目标冗余数据的可用状态,其运算量低,但维护冗余数据的及时性却非常高效及时。
81.请参阅图4,进一步的实施例中,步骤s1400、比对第一商品信息与第二商品信息之间的一致性的步骤中,还包括如下步骤:
82.步骤s1410、当所述第一商品信息与第二商品信息比对不一致时,将第二商品信息推送至所述终端设备应答所述请求;
83.当所述第一商品信息与第二商品信息比对不一致时,可以理解,由于与第一商品信息相同的查询条件查询获得的所述第二商品信息为响应所述获取请求而实时查询返回的结果,因此,表征所述第一商品信息并未更新为最新的第二商品信息,进而,为了及时响应所述商品信息获取请求,将第二商品信息推送至所述终端设备应答所述请求,继而,对所述第一商品信息进行更新。
84.步骤s1420、异步更新所述第一商品信息为所述第二商品信息。
85.为所述第一商品信息的异步更新创建相应的任务推送至异步线程池,进而为该任务获取分布式锁,当分布式锁获取成功时,将所述第一商品信息更新为所述第二商品信息,此处具体实施由后续部分实施例进一步揭示,本步骤暂且按下不表。
86.本实施例中,通过比对响应终端设备的商品信息获取请求而查询获取的第一商品信息和第二商品信息之间不一致,确定第一商品信息需要更新为第二商品信息,进而对第一商品信息进行相应的异步更新,实现轻量级更新,其次,对比定时任务方式查询大量商品信息归集出需要更新的商品信息再对其更新,节省了线程资源,缩短了更新延迟,再次,对比监听数据变更的消息队列找出需要更新的商品信息再对其更新,避免了对无需更新的商品信息的无效检测操作,从而减低对线程资源的消耗。
87.请参阅图5,进一步的实施例中,步骤s1420、异步更新所述第一商品信息为所述第
二商品信息的步骤中,包括如下步骤:
88.步骤s1421、创建第一商品信息的更新任务推送至异步线程池,获取该更新任务的分布式锁;
89.所述第一商品信息的更新任务可为可编译执行的代码,创建该更新任务推送至异步线程池,当该更新任务作为线程任务在异步线程池被执行时,首先尝试为该线程任务获取分布式锁,所述分布式锁可采用redis的setnx命令实现,当然本领域技术人员可根据实际业务所需灵活变通实现。
90.步骤s1422、当分布式锁获取成功时,更新所述第一商品信息为所述第二商品信息,反之,放弃执行对所述第一商品信息的更新;
91.当分布式锁获取成功时,将所述冗余数据库中与所述商品信息获取请求相匹配的目标冗余数据的数据记录对应的第一商品信息更新为所述第二商品信息,并且将其存储于冗余数据库中,以备后续调用。
92.当分布式锁获取失败时,表征此时存在其他同样是第一商品信息的更新任务的线程任务正在启动,执行对第一商品信息的更新,因此,无需重复对第一商品信息更新,放弃获取分布式锁结束当前线程任务。
93.步骤s1423、当更新完成时,释放所述分布式锁。
94.当对所述第一商品信息更新任务完成时,在所述异步线程池中相应的线程释放所获得的分布式锁。
95.本实施例中,采用异步线程池管理线程,执行第一商品信息的更新的线程任务,使得线程的创建和销毁由线程池维护,一个线程在完成任务后并无不会立即销毁,而是由后续的任务复用这个线程,从而减少线程的创建和销毁,节省cpu和内存的系统资源消耗,并且减少线程的创建和销毁的所消耗的时间,减少线程频繁调度的开销,提升系统吞吐量。
96.请参阅图6,进一步的实施例中,步骤s1100、获取外部在线服务的被依赖数据作为目标冗余数据存储于冗余数据库中的步骤之前,包括如下步骤:
97.步骤s1000、响应数据同步事件,根据预设的商品特征信息及部分或全量商品信息类型向外部在线服务查询获取其商品数据库中全量商品的数据记录作为被依赖数据。
98.一种实施例中,可以在用户创建商品保存时,即完成初始化操作时,响应数据同步事件,获取为该商品预设的商品特征信息例如商品i d,所述商品特征信息包含一个或多个商品对应的商品特征信息,进一步,可以预设对应该商品的部分或全量商品信息类型,例如商品价格、商品标题、商品名称、商品图片、商品详情等等,此处可由本领域技术人员按照业务所需冗余的商品字段即商品类型灵活变通设置,据此,调用相应的外部依赖数据获取接口,向外部在线服务的商品数据库中查询获取该预设的商品特征信息及部分或全量商品信息类型相匹配的商品的数据记录,该数据记录包含该商品特征信息对应的商品的该部分或全量商品信息类型对应的商品信息,及其对应的所述商品特征信息和部分或全量商品信息类型。
99.本实施例中,通过预先制备外部在线服务的被依赖数据,以备后续能够将其备份为目标冗余数据存储于冗余数据库中,实现对被依赖数据的冗余,使得即使外部在线服务的被依赖数据被删除,也能调用其对应冗余的备份存储的目标冗余数据。
100.进一步的实施例中,步骤s1000、响应数据同步事件,根据预设的商品特征信息及
部分或全量商品信息类型向外部在线服务查询获取其商品数据库中全量商品的数据记录作为被依赖数据的步骤中,还包括如下步骤:
101.步骤s1010、当查询获取相匹配的商品的数据记录不存在时,输出表示被依赖数据保存失败的信息。
102.当向外部在线服务的商品数据库中查询获取相匹配的商品的数据记录不存在时,输出表示被依赖数据保存失败的信息,进一步,可以构建外部在线服务的被依赖数据异常的消息通知提示,将该消息通知提示推送至终端设备,使得用户在其终端设备展示的界面上能够看到为所述预设的商品特征信息对应的商品显示所述消息通知提示,所述消息通知提示的具体内容,可由本领域技术人员按业务所需灵活变通设置。
103.请参阅图7,适应本技术的目的之一而提供的一种商品冗余数据更新装置,是对本技术的商品冗余数据更新方法的功能化体现,该装置包括:数据获取模块1100、请求响应模块1200、信息获取模块1300,以及一致性比对模块1400,其中,数据获取模块1100,用于获取外部在线服务的被依赖数据作为目标冗余数据存储于冗余数据库中,所述目标冗余数据包含多个商品相对应的数据记录,每个数据记录包含其相应商品的商品特征信息及部分或全量商品信息类型相对应的商品信息;请求响应模块1200,用于响应终端设备提交的商品信息获取请求,根据该请求提供的商品特征信息及商品信息类型,查询所述冗余数据库中的目标冗余数据,获得相匹配的商品的数据记录中所述商品信息类型相对应的第一商品信息;信息获取模块1300,用于从所述外部在线服务的被依赖数据中查询获取该获取请求指定的商品特征信息及商品信息类型相对应的第二商品信息;一致性比对模块1400,用于比对第一商品信息与第二商品信息之间的一致性,在比对一致时,将第一商品信息或第二商品信息推送至所述终端设备应答所述请求。
104.进一步的实施例中,所述信息获取模块1300,包括:标记检测子模块,用于检测所述目标冗余数据的数据记录是否存在表征其被依赖数据已被删除的标记,当不存在该标记时,向所述外部在线服务请求查询获取所述第二商品信息;请求应答第一子模块,用于当请求查询获取第二商品信息失败时,将冗余数据库中相应的数据记录标记为其被依赖数据已被删除,以所述第一商品信息应答所述商品信息获取请求;请求应答第二子模块,用于当存在该标记时,以所述第一商品信息应答所述商品信息获取请求。
105.进一步的实施例中,所述一致性比对模块1400,还包括:请求应答第三子模块,用于当所述第一商品信息与第二商品信息比对不一致时,将第二商品信息推送至所述终端设备应答所述请求;异步更新子模块,用于异步更新所述第一商品信息为所述第二商品信息。
106.进一步的实施例中,所述异步更新子模块,包括:获取锁单元,用于创建第一商品信息的更新任务推送至异步线程池,获取该更新任务的分布式锁;信息更新单元,当分布式锁获取成功时,更新所述第一商品信息为所述第二商品信息,反之,放弃执行对所述第一商品信息的更新;释放锁单元,用于当更新完成时,释放所述分布式锁。
107.进一步的实施例中,所述数据获取模块1100之前,还有:数据同步模块,用于响应数据同步事件,根据预设的商品特征信息及部分或全量商品信息类型向外部在线服务查询获取其商品数据库中全量商品的数据记录作为被依赖数据。
108.进一步的实施例中,所述数据同步模块,还包括:保存失败子模块,用于当查询获取相匹配的商品的数据记录不存在时,输出表示被依赖数据保存失败的信息。
109.为解决上述技术问题,本技术实施例还提供计算机设备。如图8所示,计算机设备的内部结构示意图。该计算机设备包括通过系统总线连接的处理器、计算机可读存储介质、存储器和网络接口。其中,该计算机设备的计算机可读存储介质存储有操作系统、数据库和计算机可读指令,数据库中可存储有控件信息序列,该计算机可读指令被处理器执行时,可使得处理器实现一种商品冗余数据更新方法。该计算机设备的处理器用于提供计算和控制能力,支撑整个计算机设备的运行。该计算机设备的存储器中可存储有计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器执行本技术的商品冗余数据更新方法。该计算机设备的网络接口用于与终端连接通信。本领域技术人员可以理解,图8中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
110.本实施方式中处理器用于执行图7中的各个模块及其子模块的具体功能,存储器存储有执行上述模块或子模块所需的程序代码和各类数据。网络接口用于向用户终端或服务器之间的数据传输。本实施方式中的存储器存储有本技术的商品冗余数据更新装置中执行所有模块/子模块所需的程序代码及数据,服务器能够调用服务器的程序代码及数据执行所有子模块的功能。
111.本技术还提供一种存储有计算机可读指令的存储介质,计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行本技术任一实施例的商品冗余数据更新方法的步骤。
112.本领域普通技术人员可以理解实现本技术上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(read-only memory,rom)等计算机可读存储介质,或随机存储记忆体(random access memory,ram)等。
113.本技术领域技术人员可以理解,本技术中已经讨论过的各种操作、方法、流程中的步骤、措施、方案可以被交替、更改、组合或删除。进一步地,具有本技术中已经讨论过的各种操作、方法、流程中的其他步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。进一步地,现有技术中的具有与本技术中公开的各种操作、方法、流程中的步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。
114.以上所述仅是本技术的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本技术原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本技术的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献