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

获取多家电商大数据的方法及计算设备与流程

2023-08-22 09:06:18 来源:中国专利 TAG:


1.本技术涉及机器学习及商业大数据技术领域,具体而言,涉及一种获取多家电商大数据的方法及计算设备。


背景技术:

2.随着网络计算技术的发展,电子商务活动中产生了大量的商业大数据。例如,与传统行业相比,电商在其生态价值链上会产生海量可获取的原始电商数据。这些数据的获取、加工、或者有效利用,可对企业经营活动提供帮助,或者对企业经营决策提供支持。
3.一些电商平台已经开放了数据接口。但是,如何高效地从电商平台获得数据是一个值得注意的问题,特别是对于需要获取众多电商网店数据的数据分析服务型系统。
4.在所述背景技术部分公开的上述信息仅用于加强对本技术的背景的理解,因此它可以包括不构成对本领域普通技术人员已知的现有技术的信息。


技术实现要素:

5.本技术旨在提供一种获取多家电商大数据的方法及计算设备,可以最大化利用电商平台提供的接口能力。
6.本技术的其该用户特性和优点将通过下面的详细描述变得显然,或部分地通过本技术的实践而习得。
7.根据本技术的一方面,提供一种获取多家电商大数据的方法,包括:同时开启数量为n的多个第一线程;利用所述多个第一线程从电商平台分别请求不同网店的第一类数据;将所述第一类数据存储于分布式文件系统;将所述文件系统中的所述第一类数据存储于分布式数据库系统,其中,n个第一线程向所述电商平台请求数据的能力大于所述电商平台对第一类数据的请求限制,且n-2个第一线程向所述电商平台请求数据的能力小于所述电商平台对第一类数据的请求限制。
8.根据本技术的另一方面,提供一种计算设备,包括:处理器;存储器,所述存储器上存储有计算机程序;当所述处理器执行所述计算机程序时实现前述方法。
9.根据本技术的另一方面,提供一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现前述的方法。
10.根据一些实施例,通过控制线程的数量,可以最大化利用电商平台提供的接口能力。
11.应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本技术。
附图说明
12.通过参照附图详细描述其示例实施例,本技术的上述和其它目标、特征及优点将变得更加显而易见。
13.图1示出本技术技术方案的一种应用场景的示意图。
14.图2示出根据本技术示例实施例的获取多家电商大数据的方法流程图。
15.图3示出根据实施例利用多个第一线程以线程安全的方式获取网店id并从电商平台分别请求不同网店的第一类数据的操作流程图。
16.图4示出根据另一实施例利用多个第一线程以线程安全的方式获取网店id并从电商平台分别请求不同网店的第一类数据的操作流程图。
17.图5示出根据示例实施例利用优先队列获取多家电商大数据的方法流程图。
18.图6示出根据示例实施例优先根据未执行优先队列中的网店id完成向电商平台请求相应的电商数据的方法流程图。
19.图7示出根据示例实施例根据未执行常规队列中的网店id向电商平台请求相应的电商数据的方法流程图。
20.图8示出根据示例实施例利用多线程和优先队列获取多家电商大数据的方法流程图。
21.图9示出根据本技术另一实施例的获取多家电商大数据的系统的示意图。
22.图10示出根据本技术示例实施例的计算设备的框图。
具体实施方式
23.现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本技术将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
24.此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本技术的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本技术的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本技术的各方面。
25.附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
26.附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
27.本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
28.在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本技术的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同
的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员可以理解的是,本文所描述的实施例可以与其它实施例相结合。
29.电商的线上运营方式产生了大量存库的原始电商数据,一些电商平台开放了数据接口以供电商获取数据。但是,电商平台对同一用户的接口访问一般是有请求限制的,例如一秒内的请求不能超过预定值等。因此,需要设计一种高效的数据请求方式,从而在获取众多电商的众多网店数据的情况下,尽可能及时完成多家电商大数据的获取。
30.为此,本技术实施例提出一种获取多家电商大数据的方法,通过多线程控制等方式,可高效从电商平台获取电商大数据。
31.下面参照实施例对本技术的技术方案进行详细说明。
32.图1示出本技术技术方案的一种应用场景的示意图。
33.参见图1,在电商系统中,电商价值链上产生的数据会沉淀在电商平台的数据库中。为了获取这些沉淀数据,可以通过电商授权方式,通过电商平台的api接口将数据授权给根据本技术实施例的数据处理系统使用。此外,系统还可通过与电商业务的其他主要参与者(包括第三方支付、物流商、仓储服务商)进行以接口等形式的数据对接,实时获取用户多个维度(销售,库存,流量,政策性违规,物流,结算等)的原始电商数据,并可使用分布式技术手段进行存储和计算。
34.根据本技术实施例的数据处理系统在接到授权后,将电商平台中相应电商的原始电商数据拉取到数据处理系统关联的存储系统。根据一些实施例,该存储系统可以是分布式存储系统。
35.根据本技术实施例的数据处理系统对数据进行处理,例如通过标准化处理,得到可以后续使用的数据;然后,可结合行业经验、商业模型、财务模型和/或统计模型等,通过机器学习等方式得到电商企业的风险评级结果和风险画像并提供给银行等金融机构,作为可信赖的融资依据,等等。
36.图2示出根据本技术示例实施例的获取多家电商大数据的方法流程图。
37.参见图2,在s201,同时开启数量为n的多个第一线程。
38.根据示例实施例,n个第一线程向电商平台请求数据的能力大于电商平台对第一类数据的请求限制,且n-2个第一线程向电商平台请求数据的能力小于电商平台对第一类数据的请求限制。这样,通过控制线程的数量,可以最大化利用电商平台提供的接口能力。此外,通过对线程数量的控制,尽量不会浪费计算资源和网络资源,避免过多线程空转。
39.在s203,利用多个第一线程从电商平台分别请求不同网店的第一类数据。
40.获得网店授权后,可以访问电商平台的数据接口。例如,确认客户授权之后,电商平台会将该网店的令牌(token)返回,后台保存token,所有接口都需要携带token去请求。
41.电商平台的接口可以包括订单数据接口、销售数据接口、报告数据接口、文档数据接口等。不同电商平台提供的接口可能有所不同。第一类数据可以是从这些接口之一获取的数据,本技术对此并无限制。易于理解,第一类接口在这里是泛指,意图表明本技术的技术方案可以获取任一类似接口的数据,当然也可以通过不同的线程(例如,第2、

、n线程)同时获取这些接口的数据。
42.根据一些实施例,进一步地,n-1个第一线程向电商平台请求数据的能力小于电商平台对第一类数据的请求限制。
43.根据一些实施例,还可监控多个第一线程收到的请求响应,从而动态调整第一线程的数量,从而对线程数量进行更精准的动态调整。
44.根据一些实施例,在单个服务器的性能不能满足要求时,多个第一线程可运行于多个不同服务器。
45.在s205,将第一类数据存储于分布式文件系统。
46.根据示例实施例,将获取的第一类数据存储于分布式文件系统,提高数据获取效率,并增加数据安全性。
47.例如,分布式文件系统可以包括fastdfs系统,但本技术不限于此。
48.在s207,将文件系统中的第一类数据存储于分布式数据库系统。
49.根据示例实施例,进一步地,可将文件系统中的第一类数据存储于分布式数据库系统。文件系统中存储的是获取的大量的小文本文件。为便于统计处理和利用,将这些大量的小文本文件经过解析处理,将其中数据存储于分布式数据库系统。
50.例如,分布式数据库系统可以包括tidb系统,但本技术不限于此。
51.根据以上描述的实施例,通过采用请求能力适当超出电商平台接口限制的多个线程,可以最大化利用电商平台提供的接口能力,同时尽量不会浪费计算资源和网络资源。
52.图3示出根据实施例利用多个第一线程以线程安全的方式获取网店id并从电商平台分别请求不同网店的第一类数据的操作流程图。
53.参见图3,在s301,每个第一线程获取第一分布式锁。
54.根据一些实施例,可以采用开源实现的分布式锁redisson,但本技术不限于此。
55.在s303,获取到第一分布式锁的第一线程获取网店id,并释放第一分布式锁。
56.根据一些实施例,需要获取数据的网店的网店id(标识符)存储于未执行队列。
57.第一线程从未执行队列获取网店id,然后第一线程将网店id放入执行中队列。这样,由于该第一线程已获取第一分布式锁,因而不会发生网店id被重复获取的问题。
58.根据一些实施例,可定时查询客户授权的网店名单,获取网店id集合,在将获取到的网店id集合去重后,加入到未执行队列。例如,可通过从获取到的网店id集合中去除未执行队列及执行中队列的网店id,来实现去重。
59.在s305,获取到网店id的第一线程向电商平台请求相应的第一类数据。
60.获取到网店id后,第一线程可根据网店id获得令牌,以及需要获取的数据的时间范围等参数,向电商平台请求相应网店的第一类数据,例如单数据接口、销售数据接口、报告数据接口或文档数据接口等。
61.根据示例实施例,第一线程完成向电商平台请求与网店id相应的第一类数据之后,可将网店id从执行中队列移除,并从未执行队列获取另一网店id,然后重复执行上述操作。
62.图4示出根据另一实施例利用多个第一线程以线程安全的方式获取网店id并从电商平台分别请求不同网店的第一类数据的操作流程图。
63.参见图4,在s401,多个第一线程分别从未执行队列获取网店id。
64.根据一些实施例,将需要获取数据的网店的网店id(标识符)放到未执行队列,未执行队列为基于单线程内存存储系统的队列,例如单线程内存存储系统可包括redis系统。但本技术不限于此,也可以采用其他线程安全的队列来存储网店id,以保证不会发生网店
id被重复获取的问题。
65.根据一些实施例,可定时查询客户授权的网店名单,获取网店id集合,在将获取到的网店id集合去重后,加入到未执行队列。例如,可通过从获取到的网店id集合中去除未执行队列及执行中队列的网店id,来实现去重。
66.在s403,获取到网店id的第一线程将获取到的网店id放入执行中队列。
67.这样,通过该执行中队列,可以实现对数据抓取过程的网店的可视化、实时监控。
68.在s405,获取到网店id的第一线程向电商平台请求相应的第一类数据。
69.获取到网店id后,第一线程可根据网店id获得令牌,以及需要获取的数据的时间范围等参数,向电商平台请求相应网店的第一类数据,例如单数据接口、销售数据接口、报告数据接口或文档数据接口等。
70.根据示例实施例,第一线程完成向电商平台请求与网店id相应的第一类数据之后,可将网店id从执行中队列移除,并从未执行队列获取另一网店id,然后重复执行上述操作。
71.图5示出根据示例实施例利用优先队列获取多家电商大数据的方法流程图。
72.参见图5,在s501,设置用于存储网店id的队列。根据示例实施例,队列包括未执行常规队列、执行中常规队列、未执行优先队列、执行中优先队列。
73.通过不同队列的设置,可以为优先获取某些网店数据提供基础。另外,通过执行中队列的设置,可以实现对数据抓取过程的网店的可视化、实时监控,并进一步确保例如新增网店数据的优先获取。
74.在s503,定时更新队列中的网店id。
75.根据一些实施例,可定时查询客户授权的网店名单,例如从数据库中查询,从而获取网店id集合。然后,从网店id集合排除队列中的网店id。再将保留的新增网店的网店id加入到未执行优先队列,并将保留的非新网店的网店id加入到未执行常规队列。
76.根据一些实施例,获取的网店id集合可包括第一集合及第二集合,第一集合包含新增网店的网店id,第二集合包含非新网店的网店id。这样,从网店id集合排除队列中的网店id时,从第一集合排除未执行优先队列和执行中优先队列的网店id,并从第二集合排除未执行常规队列和执行中常规队列的网店id。
77.在s505,优先根据未执行优先队列中的网店id完成向电商平台请求相应的电商数据。
78.在有新增网店授权访问数据接口时,由于新授权网店有大量的历史数据,需要一种优先获取新增网店的数据。
79.根据示例实施例,通过对未执行优先队列中的网店id进行处理,完成向电商平台请求相应的电商数据。
80.在s507,在未执行优先队列以及执行中优先队列中均无数据时,根据未执行常规队列中的网店id向电商平台请求相应的电商数据。
81.根据示例实施例,优先队列中的网店的数据获取完成之后,才开始获取常规队列中网店的数据。例如,在从电商平台获取新增网店的数据完成之后,才进行存量网店的数据的获取。这样,不仅能够保证特定数据的优选获取,还能以简单方式实现数据的高效获取,尽可能减少数据获取过程中的切换或等待处理。
82.根据一些实施例,可将获取的数据存储于分布式文件系统,提高数据获取效率,并增加数据安全性。例如,分布式文件系统可以包括fastdfs系统,但本技术不限于此。
83.根据一些实施例,进一步地,可将获取到的文件系统中的数据存储于分布式数据库系统。文件系统中存储的是获取的大量的小文本文件。为便于统计处理和利用,将这些大量的小文本文件经过解析处理,将其中数据存储于分布式数据库系统。例如,分布式数据库系统可以包括tidb系统,但本技术不限于此。
84.根据一些实施例,s505和s507可在多个线程中执行。未执行常规队列和未执行优先队列为基于单线程内存存储系统的队列,单线程内存存储系统可包括redis系统。但本技术不限于此,也可以采用其他线程安全的队列来存储网店id,或通过其他线程安全的方式获取网店id,以保证不会发生网店id被重复获取的问题。
85.图6示出根据示例实施例优先根据未执行优先队列中的网店id完成向电商平台请求相应的电商数据的方法流程图。
86.参见图6,在s601,从未执行优先队列获取网店id。
87.根据示例实施例,每次获取网店id以向电商平台请求相应数据时,先从未执行优先队列中获取网店id。这样,可以实现对某些网店的数据的优选获取,例如先获取新增网店的数据。
88.在s603,将获取到的网店id放入执行中优先队列。
89.根据实施例,通过将获取到的网店id放入执行中优先队列,可以对数据抓取过程的网店的进行可视化、实时监控。此外,可进一步确保例如新增网店数据的优先获取,参见后面的描述。
90.在s605,在根据获取到的网店id完成向电商平台请求相应的电商数据之后,将网店id从执行中优先队列移除。
91.在完成向电商平台请求与网店id相应的数据之后,可将网店id从执行中优先队列移除,然后重复执行上述操作。
92.图7示出根据示例实施例根据未执行常规队列中的网店id向电商平台请求相应的电商数据的方法流程图。
93.参见图7,在s701,从未执行优先队列获取网店id。
94.根据示例实施例,每次获取网店id以向电商平台请求相应数据时,先从未执行优先队列中获取网店id。这样,可以确保未执行优先队列有新增网店id时,能够优先对其进行处理。
95.如果没有从未执行优先队列获取到网店id,但执行中优先队列不为空,则延时后返回至s701。这样,可以确保在优先完成从电商平台获取优先队列中的网店的数据之后,才开始从电商平台获取常规队列中网店的数据。
96.如果没有从未执行优先队列获取到网店id且执行中优先队列为空,转至s703。
97.在s703,从未执行常规队列获取网店id。
98.由于这时已无需要优先处理的网店,因此开始处理常规队列中的网店,例如存量网店。
99.在s705,将获取到的网店id放入执行中常规队列。
100.如前,通过将获取到的网店id放入执行中常规队列,可以对数据抓取过程的网店
的进行可视化、实时监控。
101.在s707,在根据获取到的网店id完成向电商平台请求相应的电商数据之后,将网店id从执行中常规队列移除。
102.在完成向电商平台请求与网店id相应的数据之后,可将网店id从执行中常规队列移除,然后重复执行上述操作。
103.图8示出根据示例实施例利用多线程和优先队列获取多家电商大数据的方法流程图。
104.参见图8,在s801,设置用于存储网店id的队列。根据示例实施例,队列包括未执行常规队列、执行中常规队列、未执行优先队列、执行中优先队列。
105.通过不同队列的设置,可以为优先获取某些网店数据提供基础。另外,通过执行中队列的设置,可以实现对数据抓取过程的网店的可视化、实时监控,并进一步确保例如新增网店数据的优先获取。
106.在s803,同时开启数量为n的多个第一线程。
107.根据示例实施例,通过多线程方式获取数据,进一步提高数据获取效率。
108.根据一些实施例,n个第一线程向电商平台请求数据的能力大于电商平台对第一类数据的请求限制。此外,根据一些实施例,可确定n-2或n-1个第一线程向电商平台请求数据的能力小于电商平台对第一类数据的请求限制。
109.这样,通过控制线程的数量,可以最大化利用电商平台提供的接口能力。此外,通过对线程数量的控制,尽量不会浪费计算资源和网络资源。
110.在s805,定时更新队列中的网店id。
111.根据一些实施例,可定时查询客户授权的网店名单,例如从数据库中查询,从而获取网店id集合。然后,从网店id集合排除队列中的网店id。再将保留的新增网店的网店id加入到未执行优先队列,并将保留的非新网店的网店id加入到未执行常规队列。
112.根据一些实施例,获取的网店id集合可包括第一集合及第二集合,第一集合包含新增网店的网店id,第二集合包含非新网店的网店id。这样,从网店id集合排除队列中的网店id时,从第一集合排除未执行优先队列和执行中优先队列的网店id,并从第二集合排除未执行常规队列和执行中常规队列的网店id。
113.在s807,利用多个第一线程优先根据未执行优先队列中的网店id分别向电商平台请求不同网店的第一类数据。
114.在有新增网店授权访问数据接口时,由于新授权网店有大量的历史数据,需要一种优先获取新增网店的数据。
115.根据示例实施例,通过对未执行优先队列中的网店id进行处理,完成向电商平台请求相应的第一类数据。通过以多线程方式进行第一类数据的获取,可以提高数据获取效率。
116.此外,根据一些实施例,通过对线程数量进行控制,可以最大化利用电商平台提供的接口能力,并尽量不会浪费计算资源和网络资源。
117.电商平台的接口可以包括订单数据接口、销售数据接口、报告数据接口、文档数据接口等。不同电商平台提供的接口可能有所不同。第一类数据可以是从这些接口之一获取的数据,本技术对此并无限制。易于理解,第一类接口在这里是泛指,意图表明本技术的技
术方案可以获取任一类似接口的数据,当然也可以通过不同的线程(例如,第2、

、n线程)同时获取这些接口的数据。
118.在s809,在未执行优先队列以及执行中优先队列中均无数据时,利用多个第一线程根据未执行常规队列中的网店id分别向电商平台请求不同网店的第一类数据。
119.根据示例实施例,优先队列中的网店的数据获取完成之后,才开始获取常规队列中网店的数据。例如,在从电商平台获取新增网店的数据完成之后,才进行存量网店的数据的获取。这样,不仅能够保证特定数据的优选获取,还能以简单方式实现数据的高效获取,尽可能减少数据获取过程中的切换或等待处理。
120.如前,通过以多线程方式进行第一类数据的获取,可以提高数据获取效率。
121.根据图8所示实施例的方法在其他方面可采用与前面描述的其他实施例类似的处理,此处不再赘述。
122.图9示出根据本技术另一实施例的获取多家电商大数据的系统的示意图。
123.参见图9,根据示例实施例,在至少两个服务器a和服务器b上执行获取网店数据的多个线程。
124.如图9所示,需要获取的数据包括四类,分别为订单数据、销售数据、报告数据和文档数据。每个服务器a或服务器b上分别为每个类别的数据创建3个获取从电商平台获取网店的数据的线程。如前所述,线程的数量可根据服务器和网络资源的状况以及电商平台对接口请求的限制而调整。
125.参见图9,对于每个线程而言,首先获取网店id,然后从电商平台获取相应网店的数据。
126.根据实施例,各线程先从未执行优先队列中获取网店id,并将获取到的网店id放入执行中优先队列。然后,根据获取到的网店id完成向电商平台请求相应的电商数据,并将网店id从执行中优先队列移除。接着,再从未执行优先队列中获取另一网店id,继续获取相应数据的过程。
127.如果没有从未执行优先队列获取到网店id,但执行中优先队列不为空,则延时后返回,继续进行获取网店id的操作。这样,可以确保在优先完成从电商平台获取优先队列中的网店的数据之后,才开始从电商平台获取常规队列中网店的数据。
128.如果没有从未执行优先队列获取到网店id,且执行中优先队列为空,表明这时已无需要优先处理的网店,因此开始处理常规队列中的网店,从未执行常规队列获取网店id。将获取到的网店id放入执行中常规队列,并根据获取到的网店id完成向电商平台请求相应的电商数据。然后,将网店id从执行中常规队列移除,再试着从未执行优先队列中获取另一网店id,继续前述获取数据的过程。
129.图10示出根据本技术示例实施例的计算设备的框图。
130.如图10所示,该计算设备30包括处理器12和存储器14。计算设备30还可以包括总线22、网络接口16以及i/o接口18。处理器12、存储器14、网络接口16以及i/o接口18可以通过总线22相互通信。
131.处理器12可以包括一个或多个通用cpu(central processing unit,中央处理器)、微处理器、或专用集成电路等,用于执行相关程序指令。
132.存储器14可以包括易失性存储器形式的机器系统可读介质,例如随机存取存储器
(ram)、只读存储器(rom)和/或高速缓存存储器。存储器14用于存储包含指令的一个或多个程序以及数据。处理器12可读取存储在存储器14中的指令以执行上述根据本技术实施例的方法。
133.计算设备30也可以通过网络接口16与一个或者多个网络通信。该网络接口16可以是有线网络接口或无线网络接口,也可以是虚拟网络接口。
134.计算设备30也可以通过输入/输出(i/o)接口18与一个或多个外部设备(例如音频输入设备、音频输出设备、摄像头、键盘、鼠标、显示器、各类传感器等)通信。
135.总线22可以包括地址总线、数据总线、控制总线等。总线22提供了各组件之间交换信息的通路。
136.需要说明的是,在具体实施过程中,计算设备30还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
137.本技术还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述方法的步骤。计算机可读存储介质可以包括但不限于任何类型的盘,包括软盘、光盘、dvd、cd-rom、微型驱动器以及磁光盘、rom、ram、eprom、eeprom、dram、vram、闪速存储器设备、磁卡或光卡、纳米系统(包括分子存储器ic)、网络存储设备、云存储设备,或适合于存储指令和/或数据的任何类型的媒介或设备。
138.本技术实施例还提供一种计算机程序产品,该计算机程序产品包括存储计算机程序的非瞬时性计算机可读存储介质,该计算机程序可操作来使计算机执行如上述方法实施例中记载的任何一种方法的部分或全部步骤。
139.本领域的技术人员可以清楚地了解到本技术的技术方案可借助软件和/或硬件来实现。本说明书中的“单元”和“模块”是指能够独立完成或与其他部件配合完成特定功能的软件和/或硬件,其中硬件例如可以是现场可编程门阵列、集成电路等。
140.需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本技术并不受所描述的动作顺序的限制,因为依据本技术,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本技术所必须的。
141.在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
142.在本技术所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些服务接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
143.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目
的。
144.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
145.所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。
146.在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
147.以上对本技术实施例进行了详细描述和解释。应清楚地理解,本技术描述了如何形成和使用特定示例,但本技术不限于这些示例的任何细节。相反,基于本技术公开的内容的教导,这些原理能够应用于许多其它实施例。
148.通过对示例实施例的描述,本领域技术人员易于理解,根据本技术实施例的风险评级预测方法至少具有以下优点中的一个或多个。
149.根据一些实施例,通过控制线程的数量,可以最大化利用电商平台提供的接口能力。
150.根据一些实施例,通过对线程数量的控制,尽量不会浪费计算资源和网络资源。
151.根据一些实施例,通过采用线程安全的队列来存储网店id,可以保证不会发生网店id被重复获取的问题。
152.根据一些实施例,设置执行中队列,可以实现对数据抓取过程的网店的可视化、实时监控。
153.根据一些实施例,通过设置优先队列,可以以简单的方式实现优先获取例如新增网店的数据。
154.根据一些实施例,通过设置执行中优先队列,可进一步确保例如新增网店数据的优先获取。
155.根据一些实施例,每次获取网店id以向电商平台请求相应数据时,先从未执行优先队列中获取网店id,可以确保未执行优先队列有新增网店id时,能够优先对其进行处理。
156.根据一些实施例,执行中优先队列不为空时,不从常规队列获取网店id,可以确保在优先完成从电商平台获取优先队列中的网店的数据之后,才开始从电商平台获取常规队列中网店的数据。
157.根据一些实施例,通过不同队列的设置并结合多线程获取数据,可以实现优先获取某些网店数据,并同时提高数据获取效率。
158.依据以下条款可更好地理解前述内容:
159.1、一种获取多家电商大数据的方法,其特征在于,包括:
160.同时开启数量为n的多个第一线程;
161.利用所述多个第一线程从电商平台分别请求不同网店的第一类数据;
162.将所述第一类数据存储于分布式文件系统;
163.将所述文件系统中的所述第一类数据存储于分布式数据库系统,
164.其中,n个第一线程向所述电商平台请求数据的能力大于所述电商平台对第一类数据的请求限制,且n-2个第一线程向所述电商平台请求数据的能力小于所述电商平台对第一类数据的请求限制。
165.2、如条款1所述的方法,其特征在于,n-1个第一线程向所述电商平台请求数据的能力小于所述电商平台对第一类数据的请求限制。
166.3、如条款1所述的方法,其特征在于,还包括:
167.监控所述多个第一线程收到的请求响应,从而动态调整第一线程的数量。
168.4、如条款1所述的方法,其特征在于,所述多个第一线程来源于多个服务器。
169.5、如条款1所述的方法,其特征在于,利用所述多个第一线程从电商平台分别请求不同网店的第一类数据,包括:
170.每个第一线程获取第一分布式锁;
171.获取到所述第一分布式锁的第一线程获取网店id,并释放所述第一分布式锁;
172.获取到网店id的第一线程向所述电商平台请求相应的第一类数据。
173.6、如条款5所述的方法,其特征在于,获取到所述第一分布式锁的第一线程获取网店id,包括:
174.所述第一线程从未执行队列获取网店id;
175.所述第一线程将所述网店id放入执行中队列。
176.7、如条款1所述的方法,其特征在于,利用所述多个第一线程从电商平台分别请求不同网店的第一类数据,包括:
177.所述多个第一线程分别从未执行队列获取网店id,所述未执行队列为基于单线程内存存储系统的队列;
178.获取到网店id的第一线程将获取到的网店id放入执行中队列;
179.获取到网店id的第一线程向所述电商平台请求相应的第一类数据。
180.8、如条款7所述的方法,其特征在于,所述单线程内存存储系统包括redis系统。
181.9、如条款6或7所述的方法,其特征在于,还包括:
182.定时查询客户授权的网店名单,获取网店id集合;
183.将获取到的网店id集合去重后,加入到所述未执行队列。
184.10、如条款6或7所述的方法,其特征在于,还包括:
185.获取到网店id的第一线程完成向所述电商平台请求相应的第一类数据之后,将所述网店id从所述执行中队列移除,并从所述未执行队列获取另一网店id。
186.11、如条款1所述的方法,其特征在于,所述分布式文件系统包括fastdfs系统。
187.12、如条款1所述的方法,其特征在于,所述分布式数据库系统包括tidb系统。
188.13、如条款1所述的方法,其特征在于,还包括:
189.同时开启数量为m的多个第二线程;
190.利用所述多个第二线程从电商平台分别请求不同网店的第二类数据,
191.其中,m个第二线程向所述电商平台请求数据的能力大于所述电商平台对第二类数据的请求限制,且m-2个第一线程向所述电商平台请求数据的能力小于所述电商平台对
第二类数据的请求限制。
192.14、一种计算设备,其特征在于,包括:
193.处理器;
194.存储器,所述存储器上存储有计算机程序;
195.当所述处理器执行所述计算机程序时实现如条款1-13中任一项所述的方法。
196.以上具体地示出和描述了本技术的示例性实施例。应可理解的是,本技术不限于这里描述的详细结构、设置方式或实现方法;相反,本技术意图涵盖包含在所附条款的精神和范围内的各种修改和等效设置。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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