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

订单的处理方法、装置、设备及存储介质与流程

2022-11-23 09:42:44 来源:中国专利 TAG:


1.本技术涉及数据处理技术领域,尤其涉及一种订单的处理方法、装置、设备及存储介质。


背景技术:

2.随着网络便捷性的显着提高,用户在网络上进行购物的规模也在不断增大,进而形成了大量的购物数据,对这些数据按照一定的条件进行过滤,并进行冲突关系(即不同过滤条件下含有共同结果的情况)的分析,其结果对于相关人员改善用户购物体验、或其他用途是至关重要的。
3.在现有技术中,对数据(多个订单)进行过滤时,针对不同的条件,执行过滤的任务批次不同,若需要得到订单与批次的冲突关系(也即某个订单只能出现在一个批次的过滤结果中,若存在至少两个批次的过滤结果中,则认为存在冲突关系),具体的,可以通过查询关系型数据库管理系统(my structured query language,my sql),从而确定出存在的订单与批次的冲突关系。
4.在实现本发明过程中,发明人发现现有技术中至少存在如下问题:分析冲突关系时需要逐个查询my sql中各个批次的过滤结果,其分析效率过低,导致用户体验较差。


技术实现要素:

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.本技术实施例提供的订单的处理方法、装置、设备及存储介质,该方法中,根据至少两个过滤条件分别对待处理的多个订单进行过滤,得到至少两个批次对应的订单号,再根据至少两个批次对应的订单号,获取用于表示批次与订单号关系的二进制表格,最后根据二进制表格,确定至少两个批次中任两个批次的冲突关系。该技术方案中,从批次和批次对应的订单出发,从而绘制成二进制表格,使得订单与批次的冲突关系的确定过程更加便捷,且效率更高。
附图说明
39.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
40.图1为本技术实施例提供的订单的处理方法的应用场景示意图;
41.图2为本技术实施例提供的订单的处理方法实施例一的流程示意图;
42.图3为本技术实施例提供的订单的处理方法实施例的总流程示意图;
43.图4为本技术实施例提供的订单的处理装置的结构示意图;
44.图5为本技术实施例提供的电子设备的结构示意图。
45.通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开的概念。
具体实施方式
46.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
47.在介绍本技术的实施例之前,首先对本技术的背景技术进行解释说明:
48.随着科技的不断发展,用户在网络上进行购物的频次不断增加,为了提高用户的购物体验以及购物优化,就需要对用户进行购物的数据进行获取,并按照各种约束条件进行过滤,进一步地,对过滤结果进行相关处理,为优化网络购物等事件的提供了参考依据。
49.以对各个用户的订单按照不同过滤条件进行过滤得到的各个批次的订单为例,在不同的批次中,有可能发生同一个订单被两个不同的批次选中的情况,这样就说明了这两个批次存在着订单的冲突关系,针对存在冲突关系的批次,其过滤结果是不符合过滤期望的。
50.在现有技术中,冲突关系的获取过程主要通过查询关系型数据库管理系统(my structured query language,my sql),逐一在各个批次任务的过滤结果中确定出同一个订单存在于两个批次的过滤结果中,然而这种查询方式,分析冲突关系需要大量查询my sql数据,其查询性能较低,且过程复杂,效率过低。
51.在上述现有技术存在的问题基础上,图1为本技术实施例提供的订单的处理方法的应用场景示意图。如图1所示,该应用场景示意图包括:订单集合10、批次11、批次12、批次
13和可选批次14。
52.其中,订单集合10包括:订单1、订单2、订单3、订单4、订单5、订单6等。
53.在一种可能的实现中,按照批次11(过滤条件1)对订单集合10进行过滤,得到订单1和订单2,按照批次12(过滤条件2)对订单集合10进行过滤,得到订单3和订单4,按照批次13(过滤条件3)对订单集合10进行过滤,得到订单1和订单3,此时对各个批次对应的订单进行冲突关系的确定,进一步得到批次11和批次12为可选批次14。
54.也即,批次11和批次12中的订单号不发生冲突,批次13即与批次11冲突,也与批次12冲突。
55.应理解,上述订单的数量、批次的数量(过滤条件的数量)仅作举例,不做约束。
56.本技术针对上述技术问题,发明人的技术构思过程如下:发明人发现,现有技术针对冲突关系的确定需要基于遍历过滤结果,处理过程占有大量内存,那么,将过滤结果用二进制的方式表示,从而就避免了内存占用过大的问题,进一步地提升查询效率,实现对冲突关系的确定。
57.下面以图1所示的应用场景示意图,通过具体实施例对本技术的技术方案进行详细说明。需要说明的是,下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本技术的实施例进行描述。
58.图2为本技术实施例提供的订单的处理方法实施例一的流程示意图。如图2所示,该订单的处理方法可以包括如下步骤:
59.步骤21、根据至少两个过滤条件分别对待处理的多个订单进行过滤,得到至少两个批次对应的订单号。
60.其中,每个批次对应的多个订单号,且每个批次采用的过滤条件不同。
61.在本步骤中,在订单集合中,各个订单之间可能存在着内容、或去他方面的差异,技术人员按照不同的过滤(筛选)条件,对订单集合中的订单进行过滤,以得到满足各个条件的不同订单子集合,每种不同条件的过滤称为不同的批次。
62.可选的,在本方案中,需要得到至少两个批次的冲突关系,则在这一步骤中,需要按照至少两个过滤条件对订单集合进行过滤,以得到至少两个批次,其中,每个批次对应有符合各自过滤条件的订单。
63.应理解:在本方案中,订单仅作为一种举例,还可以是根据过滤条件对其他样本进行过滤,得到不同过滤条件对应的批次。
64.作为一种示例,表1为本技术实施例提供的批次-订单号对应表。如表1所示:
65.表1
66.批次订单号b001ast002、ast001b002ast003、ast004b002ast001、ast003
67.其中,ast001、ast002、ast003、ast004分别表示订单1、订单2、订单3、订单4;b001、b002、b003分别表示批次1、批次2、批次3。
68.应理解:订单和批次的数量可根据实际需要添加,上述仅作示例。
69.步骤22、根据至少两个批次对应的订单号,获取用于表示批次与订单号关系的二
进制表格。
70.在本步骤中,为了高效的对批次以及批次对应的订单号进行处理,可以降低批次以及批次对应的订单号占用的存储空间,因而在将批次存储远程字典服务(remote dictionary server,redis)中时,对批次进行二进制处理并存储,以减少批次的占位。
71.可选的,可以先通过binlog采集正在执行过滤任务中的批次以及批次对应的订单号。
72.可选的,还需要根据每个过滤条件对应的过滤任务执行完成的顺序,对至少两个批次中的批次进行排序。
73.其中,在redis中的位置可以根据各个批次的过滤任务完成的先后顺序,对批次进行排序,例如,过滤条件1先执行完,在位置1处,写入过滤条件1对应的批次b001。
74.应理解,此处针对批次进行排序的方式仅为一种示例。
75.作为一种示例,表2为本技术实施例提供的批次-二进制关系对应表。如表2所示:
76.表2
77.位置批次二进制1b0010012b0020103b003100
78.应理解,批次的二进制表示仅作举例,也可以是批次b001,二进制表示100;批次b002,二进制表示001;批次b003,二进制表示010。
79.进一步地,根据表1的信息,对批次与订单号之间的关系绘制表格,该二进制表格中任一批次对应的订单号可以用第一数值表示,其他订单号可以用第二数值表示,具体的,可以包括两种可能的实现:
80.第一种、将两个批次的批次号作为行索引,将至少两个批次对应的订单号作为列索引,生成用于表示批次与订单号关系的表格,再根据至少两个批次对应的订单号,行索引以及列索引,在每个批次对应的订单号位置写入第一数值(例如1),其他位置写入第二数值(例如0),得到二进制表格。
81.表3为本技术实施例提供的一种批次与订单号关系的二进制表格。如表3所示:
82.表3
[0083][0084][0085]
也即,批次号b003作为行索引,ast001、ast003分别写入1,ast002、ast004分别写入0;批次号b002作为行索引,ast004、ast003分别写入1,ast002、ast001分别写入0;批次号b001作为行索引,ast001、ast002分别写入1,ast003、ast004分别写入0。
[0086]
第二种、将两个批次的批次号作为列索引,将至少两个批次对应的订单号作为行
索引,生成用于表示批次与订单号关系的表格,并根据至少两个批次对应的订单号,行索引以及列索引,在每个批次对应的订单号位置写入第一数值(例如1),其他位置写入第二数值(例如0),得到二进制表格。
[0087]
表4为本技术实施例提供的另一种批次与订单号关系的二进制表格。如表4所示:
[0088]
表4
[0089] b003b002b001ast001101ast002001ast003110ast004010
[0090]
也即,以订单号ast001作为行索引,b003、b001分别写入1,b002写入0;以订单号ast002作为行索引,b003写入1,b002、b001分别写入0;以订单号ast003作为行索引,b003、b002分别写入1,b001写入0;以订单号ast004作为行索引,b002写入1,b001、b003分别写入0。
[0091]
应理解,上述行索引或列索引中,各个订单号的位置、以及各个批次号的位置可任意调整。以各个订单号的位置为例,二进制表格中的第一行可以是ast003、第二行是ast004、第三行是ast001、第四行是ast002。
[0092]
步骤23、根据二进制表格,确定至少两个批次中任两个批次的冲突关系。
[0093]
在本步骤中,根据二进制表格中,每个订单号对应进入各个批次的顺序,实时更新批次的二进制表示,并对批次的二进制表示进行分析,得到批次的冲突关系。
[0094]
作为一种示例,表5为本技术实施例提供的批次冲突关系表格。如表5所示:
[0095]
表5
[0096]
订单号状态批次号订单的二进制表示批次的二进制表示ast001进入b001
ꢀꢀꢀꢀꢀ
001b001:001 进入b003
ꢀꢀꢀꢀꢀ
101b003:101ast002进入b001
ꢀꢀꢀꢀꢀ
001b001:101ast003进入b003
ꢀꢀꢀꢀꢀ
100b003:101 进入b002
ꢀꢀꢀꢀꢀ
110b003:111/b002:110ast004进入b002
ꢀꢀꢀꢀꢀ
010b002:110
[0097]
具体的,上述表格的实现过程如下步骤:
[0098]
第1步、在订单号ast001中,ast001初始化二进制表示为000,进入b001位001,则ast001:000|001

》001,此时更新b001的二进制表示,b001:000|001

》001;
[0099]
进一步地,ast001更新后的二进制表示为001,进入b003位100,则ast001:001|
100

》101,此时分别更新b001、b003的二进制表示,其中,b001:001|101

》101;b003:000|101

》101。
[0100]
第2步、在订单号ast002中,ast002初始化二进制表示为000,进入b001位001,则ast002:000|001

》001,此时更新b001的二进制表示,b001:101|001

》101。
[0101]
第3步、在订单号ast003中,ast003初始化二进制表示为000,进入b003位100,则ast003:000|100

》100,此时更新b003的二进制表示,b003:101|100

》101;
[0102]
进一步地,ast003初始化二进制表示为000,进入b002位010,则ast003:100|010

》110,此时分别更新b002、b003的二进制表示,其中,b002:010|110

》110;b003:101|110

》111。
[0103]
第4步、在订单号ast004中,ast004初始化二进制表示为000,进入b002位010,则ast004:000|010

》010,此时更新b002的二进制表示,b002:110|010

》110。
[0104]
在该步骤之后,根据至少两个批次中任两个批次的冲突关系,确定不存在冲突关系的至少两个批次。
[0105]
可选的,根据上述分析可知,最新的b001的二进制表示101、b002的二进制表示110、b003的二进制表示111。
[0106]
具体的,在b001中,b001和b003有冲突;在b002中,b002和b003有冲突;在b003中,b003和b001、b002有冲突。
[0107]
也即,遍历b001、b002和b003,对于b001,不存在冲突关系的两个批次分别为b001、b002;对于b002,不存在冲突关系的两个批次分别为b002、b001;对于b003,所有批次均存在冲突关系。
[0108]
进一步地,确定出不存在冲突关系的两个批次为b001和b002。
[0109]
本技术实施例提供的订单的处理方法,该方法中,根据至少两个过滤条件分别对待处理的多个订单进行过滤,得到至少两个批次对应的订单号,再根据至少两个批次对应的订单号,获取用于表示批次与订单号关系的二进制表格,最后根据二进制表格,确定至少两个批次中任两个批次的冲突关系。该技术方案中,从二进制表格和各个批次的二进制表示出发,使得订单与批次的冲突关系的确定过程更加快捷,且效率更高,避免了现有技术大量查询数据造成的时效性差的问题。
[0110]
在上述实施例的基础上,图3为本技术实施例提供的订单的处理方法实施例的总流程示意图。如图3所示,该总流程示意图可以包括如下步骤:
[0111]
第1步、开始;
[0112]
第2步、采集批量过滤任务中的批次信息和订单号;
[0113]
第3步、确定批次信息中各个批次对应的订单号;
[0114]
第4步、获取各个批次和各个批次对应的订单号的二进制表格;
[0115]
第5步、确定批次之间的冲突关系;
[0116]
在该步骤中,随着批量过滤任务的不断执行,批次信息中各个批次和各个批次对应的订单号不断更新,则二进制表格、以及批次之间的冲突关系也不断更新。
[0117]
第6步、根据冲突关系,分析出可用的批次;
[0118]
第7步、结束。
[0119]
本技术实施例提供一种订单的处理方法,通过采集批量过滤任务中的各个批次及
各个批次对应的订单号,从而确定出二进制表格,根据二进制表格,确定出批次之间的冲突关系,最后分析出可用的批次。该技术方案中,将采集到的信息之间的关系转化为二进制的方式,节省了查询可用批次的过程中运行存储空间,提升了分析效率。
[0120]
在上述订单的处理方法实施例的基础上,图4为本技术实施例提供的订单的处理装置的结构示意图。如图4所示,该处理装置包括:处理模块41和确定模块42;
[0121]
处理模块41,用于根据至少两个过滤条件分别对待处理的多个订单进行过滤,得到至少两个批次对应的订单号;其中,每个批次对应的多个订单号,且每个批次采用的过滤条件不同,以及根据至少两个批次对应的订单号,获取用于表示批次与订单号关系的二进制表格;
[0122]
确定模块42,用于根据二进制表格,确定至少两个批次中任两个批次的冲突关系。
[0123]
在本技术实施例的一种可能设计中,处理模块41,还用于:
[0124]
根据每个过滤条件对应的过滤任务执行完成的顺序,对至少两个批次中的批次进行排序。
[0125]
在本技术实施例的另一种可能设计中,处理模块41具体用于:
[0126]
将两个批次的批次号作为行索引,将至少两个批次对应的订单号作为列索引,生成用于表示批次与订单号关系的表格;
[0127]
根据至少两个批次对应的订单号,行索引以及列索引,在每个批次对应的订单号位置写入第一数值,其他位置写入第二数值,得到二进制表格。
[0128]
在本技术实施例的再一种可能设计中,处理模块41,具体用于:
[0129]
将两个批次的批次号作为列索引,将至少两个批次对应的订单号作为行索引,生成用于表示批次与订单号关系的表格;
[0130]
根据至少两个批次对应的订单号,行索引以及列索引,在每个批次对应的订单号位置写入第一数值,其他位置写入第二数值,得到二进制表格。
[0131]
在本技术实施例的还一种可能设计中,确定模块42,还用于:
[0132]
根据至少两个批次中任两个批次的冲突关系,确定不存在冲突关系的至少两个批次。
[0133]
本技术实施例提供的订单的处理装置,可用于执行上述实施例中的订单的处理方法的技术方案,其实现原理和技术效果类似,在此不再赘述。
[0134]
需要说明的是,应理解以上装置的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块通过处理元件调用软件的形式实现,部分模块通过硬件的形式实现。例如,确定模块42可以为单独设立的处理元件,也可以集成在上述装置的某一个芯片中实现,此外,也可以以程序代码的形式存储于上述装置的存储器中,由上述装置的某一个处理元件调用并执行以上确定模块的功能。其它模块的实现与之类似。此外这些模块全部或部分可以集成在一起,也可以独立实现。这里的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。
[0135]
图5为本技术实施例提供的电子设备的结构示意图。如图5所示,该电子设备可以
包括:处理器51、存储器52。
[0136]
处理器51执行存储器存储的计算机执行指令,使得处理器51执行上述实施例中的方案。处理器51可以是通用处理器,包括中央处理器cpu、网络处理器(network processor,np)等;还可以是数字信号处理器dsp、专用集成电路asic、现场可编程门阵列fpga或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
[0137]
存储器52通过系统总线与处理器51连接并完成相互间的通信,存储器52用于存储计算机程序指令。
[0138]
系统总线可以是外设部件互连标准(peripheral component interconnect,pci)总线或扩展工业标准结构(extended industry standard architecture,eisa)总线等。系统总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0139]
本技术实施例提供的电子设备,可用于执行上述实施例中订单的处理方法的技术方案,其实现原理和技术效果类似,在此不再赘述。
[0140]
本技术实施例还提供一种运行指令的芯片,该芯片用于执行上述实施例中订单的处理方法的技术方案。
[0141]
本技术实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机指令,当该计算机指令在电子设备上运行时,使得电子设备执行上述实施例订单的处理方法的技术方案。
[0142]
本技术实施例还提供一种计算机程序产品,该计算机程序产品包括计算机程序,其存储在计算机可读存储介质中,至少一个处理器可以从计算机可读存储介质读取计算机程序,至少一个处理器执行计算机程序时可实现上述实施例中订单的处理方法的技术方案。
[0143]
最后应说明的是:以上各实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述各实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的范围。
再多了解一些

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

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

相关文献