CN113868687A - 一种任务处理进度的管理方法和装置 - Google Patents

一种任务处理进度的管理方法和装置 Download PDF

Info

Publication number
CN113868687A
CN113868687A CN202111210121.5A CN202111210121A CN113868687A CN 113868687 A CN113868687 A CN 113868687A CN 202111210121 A CN202111210121 A CN 202111210121A CN 113868687 A CN113868687 A CN 113868687A
Authority
CN
China
Prior art keywords
tasks
task
progress
character string
execution
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202111210121.5A
Other languages
English (en)
Inventor
齐云峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Jingdong Qianshi Technology Co Ltd
Original Assignee
Beijing Jingdong Qianshi Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Jingdong Qianshi Technology Co Ltd filed Critical Beijing Jingdong Qianshi Technology Co Ltd
Priority to CN202111210121.5A priority Critical patent/CN113868687A/zh
Publication of CN113868687A publication Critical patent/CN113868687A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种任务处理进度的管理方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:接收任务执行请求,对任务执行请求中多个任务的任务标识进行排序,得到排序信息;使用加密算法对排序信息进行加密,生成相应的字符串,以字符串为键名,为多个任务的处理进度设定的初始值作为相应的键值存储到数据库;重复执行以下步骤,直至多个任务执行结束:在多个任务中预设数量的任务执行结束后,更新任务执行数量,根据任务执行数量计算当前处理进度,以更新数据库中相应键名的键值。该实施方式保证了相同任务生成的键名相同,且缩短了键名的字符长度,便于后续批量查询任务处理进度。

Description

一种任务处理进度的管理方法和装置
技术领域
本发明涉及计算机技术领域,尤其涉及一种任务处理进度的管理方法和装置。
背景技术
对于业务系统,比如Web业务系统,经常存在批量操作后,等待返回结果的场景。为了显示批量操作的处理进度,现有技术中通常使用进度条的模式实现。具体地,由前端设计进度条的样式,并轮询调用后端的进度获取接口,根据进度获取接口所返回的进度信息更新进度条;后端根据查询条件检索数据库,获取对应的数据状态,之后根据数据状态统计进度信息并返回至前端。其中,数据库中存储有每个任务的数据状态。
在实现本发明过程中,现有技术中至少存在如下问题:
对于需要查询多个任务的处理进度的情况,需要针对每个任务进行查询统计,查询效率低、统计速度慢;同时由于数据状态存在更新变化,导致统计出的进度信息准确度低。
发明内容
有鉴于此,本发明实施例提供一种任务处理进度的管理方法和装置,该方法通过将任务排序和加密处理,生成字符串,将该字符串作为键名存储到数据库,保证了相同任务生成的键名相同,且缩短了键名的字符长度,便于后续批量查询任务处理进度。
为实现上述目的,根据本发明实施例的一个方面,提供了一种任务处理进度的管理方法。
本发明实施例的一种任务处理进度的管理方法,包括:接收任务执行请求,对所述任务执行请求中多个任务的任务标识进行排序,得到排序信息;使用加密算法对所述排序信息进行加密,生成相应的字符串,以所述字符串为键名,为所述多个任务的处理进度设定的初始值作为相应的键值存储到数据库;重复执行以下步骤,直至所述多个任务执行结束:在所述多个任务中预设数量的任务执行结束后,更新任务执行数量,根据所述任务执行数量计算当前处理进度,以更新所述数据库中相应键名的键值。
可选地,所述对所述任务执行请求中多个任务的任务标识进行排序,包括:将所述任务执行请求中包含的任务数量与设定阈值进行比较,得到比较结果;根据设定的算法选择策略和所述比较结果,确定排序算法,使用所述排序算法对所述任务执行请求中多个任务的任务标识进行排序。
可选地,所述使用加密算法对所述排序信息进行加密,生成相应的字符串,包括:使用MD5算法对所述排序信息进行加密,得到加密信息;将所述加密信息与所述任务执行请求的地址信息进行拼接,生成相应的字符串。
可选地,所述方法还包括:接收进度查询请求,使用所述排序算法,对所述进度查询请求中多个任务的任务标识进行排序,得到目标排序信息;使用所述加密算法对所述目标排序信息进行加密,生成相应的第一目标字符串;使用所述第一目标字符串在所述数据库中查询,输出相应的键值。
可选地,所述方法还包括:接收进度查询请求,使用所述排序算法,对所述进度查询请求中多个任务的任务标识进行排序,得到目标排序信息;使用所述MD5算法对所述目标排序信息进行加密,得到目标加密信息;将所述目标加密信息与所述进度查询请求的地址信息进行拼接,生成相应的第二目标字符串;使用所述第二目标字符串在所述数据库中查询,输出相应的键值。
可选地,在所述多个任务执行结束之后,所述方法还包括:设置所述键名和相应键值的有效期;所述使用所述第一目标字符串在所述数据库中查询的步骤之后,所述方法还包括:判断所述数据库中与所述第一目标字符串名称相同的键名是否位于相应的有效期内;如果所述数据库中与所述第一目标字符串名称相同的键名位于相应的有效期外,则返回进度获取失败的提示信息;所述输出相应的键值,包括:如果所述数据库中与所述第一目标字符串名称相同的键名位于相应的有效期内,则输出相应的键值。
可选地,所述在所述多个任务中预设数量的任务执行结束后,更新任务执行数量,包括:在所述多个任务中任意一个任务执行结束后,自增任务执行数量。
为实现上述目的,根据本发明实施例的另一方面,提供了一种任务处理进度的管理装置。
本发明实施例的一种任务处理进度的管理装置,包括:任务排序模块,用于接收任务执行请求,对所述任务执行请求中多个任务的任务标识进行排序,得到排序信息;初始化模块,用于使用加密算法对所述排序信息进行加密,生成相应的字符串,以所述字符串为键名,为所述多个任务的处理进度设定的初始值作为相应的键值存储到数据库;进度统计模块,用于重复执行以下步骤,直至所述多个任务执行结束:在所述多个任务中预设数量的任务执行结束后,更新任务执行数量,根据所述任务执行数量计算当前处理进度,以更新所述数据库中相应键名的键值。
可选地,所述任务排序模块,还用于将所述任务执行请求中包含的任务数量与设定阈值进行比较,得到比较结果;根据设定的算法选择策略和所述比较结果,确定排序算法,使用所述排序算法对所述任务执行请求中多个任务的任务标识进行排序。
可选地,所述初始化模块,还用于使用MD5算法对所述排序信息进行加密,得到加密信息;将所述加密信息与所述任务执行请求的地址信息进行拼接,生成相应的字符串。
可选地,所述装置还包括:第一进度查询模块,用于接收进度查询请求,使用所述排序算法,对所述进度查询请求中多个任务的任务标识进行排序,得到目标排序信息;使用所述加密算法对所述目标排序信息进行加密,生成相应的第一目标字符串;使用所述第一目标字符串在所述数据库中查询,输出相应的键值。
可选地,所述装置还包括:第二进度查询模块,用于接收进度查询请求,使用所述排序算法,对所述进度查询请求中多个任务的任务标识进行排序,得到目标排序信息;使用所述MD5算法对所述目标排序信息进行加密,得到目标加密信息;将所述目标加密信息与所述进度查询请求的地址信息进行拼接,生成相应的第二目标字符串;使用所述第二目标字符串在所述数据库中查询,输出相应的键值。
可选地,所述装置还包括:有效期设置模块,用于设置所述键名和相应键值的有效期;所述装置还包括:判断处理模块,用于判断所述数据库中与所述第一目标字符串名称相同的键名是否位于相应的有效期内;如果所述数据库中与所述第一目标字符串名称相同的键名位于相应的有效期外,则返回进度获取失败的提示信息;所述第二进度查询模块,还用于如果所述数据库中与所述第一目标字符串名称相同的键名位于相应的有效期内,则输出相应的键值。
可选地,所述进度统计模块,还用于在所述多个任务中任意一个任务执行结束后,自增任务执行数量。
为实现上述目的,根据本发明实施例的再一方面,提供了一种电子设备。
本发明实施例的一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例的一种任务处理进度的管理方法。
为实现上述目的,根据本发明实施例的再一方面,提供了一种计算机可读介质。
本发明实施例的一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明实施例的一种任务处理进度的管理方法。
上述发明中的一个实施例具有如下优点或有益效果:通过将任务排序和加密处理,生成字符串,将该字符串作为键名存储到数据库,保证了相同任务生成的键名相同,且缩短了键名的字符长度,便于后续批量查询任务处理进度。通过将进度统计请求中包含的任务数量与设定阈值进行比较,进而根据比较结果灵活选择排序算法,避免各排序算法本身缺陷,提高准确性。
使用MD5算法进行加密,之后与地址信息拼接形成字符串,使得加密过程简单高效,同时可以保证来自不同机器的进度统计请求之间互不影响,不会产生碰撞。采用与进度统计环节相同的排序算法、加密算法对进度查询请求中的多个任务进行处理,提高了任务处理进度的查询效率。
通过在所有任务执行结束后,设置键名和键值的有效期,既可以保障任务执行结束之前未过期,也可以在客户端请求超时、并发、卡顿、重试等情况下重新获取到处理进度。通过在每个任务执行结束后,更新任务执行数量,保证统计出的处理进度的准确性。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明第一实施例的任务处理进度的管理方法的主要步骤的示意图;
图2是本发明第一实施例的使用MD5算法进行加密的原理示意图;
图3是本发明第一实施例的Redis存储结构示意图;
图4是根据本发明第二实施例的任务处理进度的管理方法的主要流程示意图;
图5是根据本发明第三实施例的任务处理进度的管理方法的主要流程示意图;
图6是本发明第三实施例的使用MD5算法进行加密的原理示意图;
图7是本发明第三实施例的Redis存储结构示意图;
图8是根据本发明第四实施例的任务处理进度的管理方法的主要流程示意图;
图9是根据本发明实施例的任务处理进度的管理装置的主要模块的示意图;
图10是本发明实施例可以应用于其中的示例性系统架构图;
图11是适用于来实现本发明实施例的电子设备的计算机装置的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
任务处理进度的管理过程可以包括进度统计环节和进度输出环节中的任意一个或者多个。其中,进度统计环节主要用于对多个任务进行排序、加密,并在任务执行结束后,更新任务执行数量,计算当前处理进度。进度输出环节主要用于使用与进度统计环节相同的排序方式、加密方式对多个任务进行排序、加密,之后查询该多个任务的处理进度并输出。下面结合附图进行详细说明。
图1是根据本发明第一实施例的任务处理进度的管理方法的主要步骤的示意图。如图1所示,本发明实施例的任务处理进度的管理方法,属于进度统计环节,由服务端实现,主要包括如下步骤:
步骤S101:接收进度统计请求,对所述进度统计请求中多个任务的任务标识进行排序,得到排序信息。进度统计请求中包括多个任务的任务标识,这里的任务是指需要批量执行的任务,比如可以是订单中物品在库房的定位任务,物品的数量查询任务等。
服务端接收到来自客户端的进度统计请求之后,对进度统计请求进行解析,得到多个任务的任务标识。之后对任务标识进行排序,比如按照任务标识的大小,由小到大、或者由大到小排序。以任务为订单中物品在库房的定位任务为例,任务标识即订单号,该步骤用于对多个订单的订单号进行排序。
在一优选的实施例中,可以设置一个排序算法选择器,由排序算法选择器根据任务特征选择排序算法,完成排序,该方式避免了相同任务不排序导致生成的字符串不同的问题,且可以避免各排序算法本身的缺陷。
具体地,可以将任务执行请求中包含的任务数量与设定阈值进行比较,得到比较结果;之后根据设定的算法选择策略和比较结果,确定排序算法,使用该排序算法对任务执行请求中多个任务的任务标识进行排序。阈值的取值需要对各排序算法进行测试,比较测试结果获得。
实施例中,当任务数量小于等于阈值时,可以采用直接插入排序算法或者直接选择排序算法;当任务数量大于阈值时,可以采用快速排序算法或者堆排序算法。其中,阈值比如可以为700、750等。
步骤S102:使用加密算法对所述排序信息进行加密,生成相应的字符串,以所述字符串为键名,为所述多个任务的处理进度设定的初始值作为相应的键值存储到数据库。使用加密算法处理的目的是缩短任务标识拼接的长度,可以是消息摘要算法、高级加密标准算法(AES,Advanced Encryption Standard)等。
以加密算法为MD5算法(Message Digest Algorithm 5,即消息摘要算法第五版)为例,该步骤即使用MD5算法对排序信息进行加密,得到加密信息,将该加密信息作为字符串。之后以该字符串为键名,为多个任务的处理进度设定的初始值作为相应的键值存储到Redis、Memcached等数据库。
图2是本发明第一实施例的使用MD5算法进行加密的原理示意图,图3是本发明第一实施例的Redis存储结构示意图。如图2和图3所示,任务标识为订单号,将订单号排序后,使用MD5算法进行加密,将加密所得的固定长度的字符串作为key(键名),将处理进度的初始值(此时任务未开始执行,初始值可以记为“0”,表示未开始)作为value(键值)的初始值,并保存到数据库中。
可以理解的是,处理进度的初始值用于标识任务为未开始执行,除“0”外,还可以用其他符号表示,比如“-”、“*”等。
步骤S103:重复执行以下步骤,直至所述多个任务执行结束:在所述多个任务中预设数量的任务执行结束后,更新任务执行数量,根据所述任务执行数量计算当前处理进度,以更新所述数据库中相应键名的键值。预设数量可以自定义,比如1个、2个等。优选地,预设数量为1个,即多个任务中任意一个任务执行结束后,自增任务执行数量,也即任务执行数量加1,保证统计出的处理进度的准确性。
预设数量的任务执行结束后,更新任务执行数量,并计算当前处理进度,使用计算出的当前处理进度更新数据库中相应键名的键值。之后判断全部任务是否执行结束,如果未执行结束,则继续执行本步骤,否则结束。
实施例中,可以使用以下公式计算当前处理进度:
当前处理进度=任务执行数量/任务数量
公式1
式中,任务执行数量是指进度统计请求中所包含任务中已执行任务的数量,任务数量是指进度统计请求中所包含任务的总数量。另外,为了提高进度反馈的精度,可以使用小数、百分比等方式表示当前处理进度。
本实施例通过对任务排序和加密处理,生成字符串,将该字符串作为键名,将处理进度作为相应的键值存储到数据库,保证了相同任务生成的键名相同,且缩短了键名的字符长度,便于后续批量查询任务处理进度。
图4是根据本发明第二实施例的任务处理进度的管理方法的主要流程示意图。如图4所示,本发明实施例的任务处理进度的管理方法,属于进度输出环节(与图1的进度统计环节相对应),由服务端实现,主要包括如下步骤:
步骤S401:接收进度查询请求,使用与进度统计环节相同的排序算法,对进度查询请求中多个任务的任务标识进行排序,得到目标排序信息。在需要查询任务处理进度的情况下,客户端发送进度查询请求,该进度查询请求包括要查询进度的任务标识。
服务端接收到进度查询请求后,对进度查询请求进行解析,得到多个任务的任务标识,之后采用与进度统计环节相同的排序算法,对这些任务标识进行排序,得到目标排序信息。
步骤S402:使用与进度统计环节相同的加密算法对目标排序信息进行加密,生成相应的第一目标字符串。如果进度统计环节使用MD5算法加密,则该步骤也使用MD5算法对目标排序信息进行加密,得到的加密信息即第一目标字符串。
步骤S403:使用第一目标字符串在数据库中查询,输出相应的键值。将第一目标字符串作为key,在数据库中查询相应的value,将查询出的value返回给客户端。客户端可以自定义设置value的展示形式,比如小数、百分比、进度条、位数选择等方式。
本实施例采用与进度统计环节相同的排序算法、加密算法对进度查询请求中的多个任务进行处理,提高了任务处理进度的查询效率。
在一优选的实施例中,在所有任务执行结束后,可以设置数据库中键名和键值的有效期,既可以保障任务执行结束之前未过期,也可以在客户端请求超时、并发、卡顿、重试等情况下重新获取到处理进度。具体地,可以将有效期可以使用以下公式计算:
有效期=任务数量/设定数值
公式2
其中,设定数值可以自定义设置,能够保证键名和键值在一段时间内有效即可,比如设置为100。有效期的单位为分钟,不足1分钟时,按照1分钟计。在有效期过期后,可以删除键名和键值,降低数据库的存储压力。
如果数据库中的键名和键值设置了有效期,则步骤S403中使用第一目标字符串在数据库中查询后,还需判断数据库中与第一目标字符串名称相同的键名是否位于相应的有效期内,如果数据库中与第一目标字符串名称相同的键名位于相应的有效期外,则返回进度获取失败的提示信息;如果数据库中与第一目标字符串名称相同的键名位于相应的有效期内,则输出相应的键值。其中,提示信息比如可以是进度失效。
在进度统计环节中,如果将加密信息直接作为key串存储到数据库中,则数据库中的key之间可能会存在冲突,即对于不同任务生成了同样的key,导致后续进度查询环节无法查询出正确结果。为了解决这一问题,下述实施例对key的生成进行了改进,具体如下。
图5是根据本发明第三实施例的任务处理进度的管理方法的主要流程示意图。如图5所示,本发明实施例的任务处理进度的管理方法,属于进度统计环节,主要包括如下步骤:
步骤S501:接收进度统计请求,对进度统计请求中多个任务的任务标识进行排序,得到排序信息。该步骤的具体实现见步骤S101,此处不再赘述。
步骤S502:使用MD5算法对排序信息进行加密,得到加密信息,将加密信息与任务执行请求的地址信息进行拼接,生成相应的字符串。其中,任务执行请求的地址信息是指发送任务执行请求的客户端的地址信息,比如IP地址或者MAC地址(即物理地址)。
图6是本发明第三实施例的使用MD5算法进行加密的原理示意图。如图6所示,任务标识为订单号,将订单号排序后,使用MD5算法进行加密,将加密所得的固定长度的字符串与任务执行请求的地址信息进行拼接,得到字符串。
步骤S503:以字符串为键名,为多个任务的处理进度设定的初始值作为相应的键值存储到数据库。图7是本发明第三实施例的Redis存储结构示意图。将步骤S502得到的字符串作为key,将处理进度的初始值(此时任务未开始执行,初始值可以记为“0”,表示未开始)作为value的初始值,并保存到数据库中。
步骤S504:重复执行以下步骤,直至多个任务执行结束:在多个任务中预设数量的任务执行结束后,更新任务执行数量,根据任务执行数量计算当前处理进度,以更新数据库中相应键名的键值。该步骤的具体实现见步骤S103,此处不再赘述。
本实施例使用MD5算法进行加密,之后与地址信息拼接形成字符串,使得加密过程简单高效,同时可以保证来自不同机器的进度统计请求之间互不影响,不会产生碰撞。
图8是根据本发明第四实施例的任务处理进度的管理方法的主要流程示意图。如图8所示,本发明实施例的任务处理进度的管理方法,属于进度输出环节(与图5的进度统计环节相对应),主要包括如下步骤:
步骤S801:接收进度查询请求,使用与进度统计环节相同的排序算法,对进度查询请求中多个任务的任务标识进行排序,得到目标排序信息。该步骤的具体实现见步骤S401,此处不再赘述。
步骤S802:使用MD5算法对目标排序信息进行加密,得到目标加密信息。
步骤S803:将目标加密信息与进度查询请求的地址信息进行拼接,生成相应的第二目标字符串。其中,进度查询请求的地址信息是指发送进度查询请求的客户端的地址信息,比如IP地址或者MAC地址。可以理解的是,如果步骤S502使用IP地址进行拼接,则此处同样使用IP地址;如果步骤S502使用MAC地址进行拼接,则此处同样使用MAC地址。
步骤S804:使用第二目标字符串在数据库中查询,输出相应的键值。将第二目标字符串作为key,在数据库中查询相应的value,将查询出的value返回给客户端。
另外,如果数据库中的键名和键值设置了有效期,则步骤S804中使用第二目标字符串在数据库中查询后,还需判断数据库中与第二目标字符串名称相同的键名是否位于相应的有效期内,如果数据库中与第二目标字符串名称相同的键名位于相应的有效期外,则返回进度获取失败的提示信息;如果数据库中与第二目标字符串名称相同的键名位于相应的有效期内,则输出相应的键值。
在一优选的实施例中,数据库可以是Redis数据库,该数据库以key-value形式存储数据,支持存储多种value类型,包括字符串、链表、集合等,且可以实时计算、更新value值,存储速度和查询效率高。
上述实施例可以应用于仓库管理系统(Warehouse Management System,WMS)中批量定位任务的进度统计与查询场景。其中,WMS系统是通过入库业务、出库业务、仓库调拨、库存调拨和虚仓管理等功能,对批次管理、物料对应、库存盘点、质检管理、虚仓管理和即时库存管理等功能综合运用的管理系统。定位任务是为订单的物品匹配库存中相应物品的货架货位信息。上述实施例能够提高该场景下进度统计的准确性和进度查询的效率。
图9是根据本发明实施例的任务处理进度的管理装置的主要模块的示意图。如图9所示,本发明实施例的任务处理进度的管理装置900,主要包括:
任务排序模块901,用于接收任务执行请求,对所述任务执行请求中多个任务的任务标识进行排序,得到排序信息。进度统计请求中包括多个任务的任务标识,这里的任务是指需要批量执行的任务,比如可以是订单中物品在库房的定位任务,物品的数量查询任务等。
服务端接收到来自客户端的进度统计请求之后,对进度统计请求进行解析,得到多个任务的任务标识。之后对任务标识进行排序,比如按照任务标识的大小,由小到大、或者由大到小排序。以任务为订单中物品在库房的定位任务为例,任务标识即订单号,该步骤用于对多个订单的订单号进行排序。
初始化模块902,用于使用加密算法对所述排序信息进行加密,生成相应的字符串,以所述字符串为键名,为所述多个任务的处理进度设定的初始值作为相应的键值存储到数据库。使用加密算法处理的目的是缩短任务标识拼接的长度,可以是消息摘要算法、高级加密标准算法等。
以加密算法为MD5算法为例,该模块即使用MD5算法对排序信息进行加密,得到加密信息,将该加密信息作为字符串。之后以该字符串为键名,为多个任务的处理进度设定的初始值作为相应的键值存储到Redis、Memcached等数据库。
进度统计模块903,用于重复执行以下步骤,直至所述多个任务执行结束:在所述多个任务中预设数量的任务执行结束后,更新任务执行数量,根据所述任务执行数量计算当前处理进度,以更新所述数据库中相应键名的键值。预设数量的任务执行结束后,更新任务执行数量,并计算当前处理进度,使用计算出的当前处理进度更新数据库中相应键名的键值。之后判断全部任务是否执行结束,如果未执行结束,则继续执行本步骤,否则结束。
另外,本发明实施例的任务处理进度的管理装置900还可以包括:第一进度查询模块、第二进度查询模块、有效期设置模块和判断处理模块(图9中未示出)。其中,第一进度查询模块,用于接收进度查询请求,使用所述排序算法,对所述进度查询请求中多个任务的任务标识进行排序,得到目标排序信息;使用所述加密算法对所述目标排序信息进行加密,生成相应的第一目标字符串;使用所述第一目标字符串在所述数据库中查询,输出相应的键值。
第二进度查询模块,用于接收进度查询请求,使用所述排序算法,对所述进度查询请求中多个任务的任务标识进行排序,得到目标排序信息;使用所述MD5算法对所述目标排序信息进行加密,得到目标加密信息;将所述目标加密信息与所述进度查询请求的地址信息进行拼接,生成相应的第二目标字符串;使用所述第二目标字符串在所述数据库中查询,输出相应的键值。
有效期设置模块,用于设置所述键名和相应键值的有效期。判断处理模块,用于判断所述数据库中与所述第一目标字符串名称相同的键名是否位于相应的有效期内;如果所述数据库中与所述第一目标字符串名称相同的键名位于相应的有效期外,则返回进度获取失败的提示信息。
从以上描述可以看出,通过将任务排序和加密处理,生成字符串,将该字符串作为键名存储到数据库,保证了相同任务生成的键名相同,且缩短了键名的字符长度,便于后续批量查询任务处理进度。
图10示出了可以应用本发明实施例的任务处理进度的管理方法或任务处理进度的管理装置的示例性系统架构1000。
如图10所示,系统架构1000可以包括终端设备1001、1002、1003,网络1004和服务器1005。网络1004用以在终端设备1001、1002、1003和服务器1005之间提供通信链路的介质。网络1004可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备1001、1002、1003通过网络1004与服务器1005交互,以接收或发送消息等。终端设备1001、1002、1003上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
终端设备1001、1002、1003可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器1005可以是提供各种服务的服务器,例如对用户利用终端设备1001、1002、1003发送的任务执行请求进行处理的后台管理服务器。后台管理服务器可以对任务执行请求中多个任务的任务标识进行排序、加密后,生成字符串并作为键名存储到数据库,键值的初始值是为多个任务的处理进度设定的初始值,任务执行过程中,计算当前处理进度,更新键值,并将处理结果(例如更新后的键值)反馈给终端设备。
需要说明的是,本申请实施例所提供的任务处理进度的管理方法一般由服务器1005执行,相应地,任务处理进度的管理装置一般设置于服务器1005中。
应该理解,图10中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
根据本发明的实施例,本发明还提供了一种电子设备和一种计算机可读介质。
本发明的电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例的一种任务处理进度的管理方法。
本发明的计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明实施例的一种任务处理进度的管理方法。
下面参考图11,其示出了适用于来实现本发明实施例的电子设备的计算机系统1100的结构示意图。图11示出的电子设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图11所示,计算机系统1100包括中央处理单元(CPU)1101,其可以根据存储在只读存储器(ROM)1102中的程序或者从存储部分1108加载到随机访问存储器(RAM)1103中的程序而执行各种适当的动作和处理。在RAM 1103中,还存储有计算机系统1100操作所需的各种程序和数据。CPU 1101、ROM 1102以及RAM 1103通过总线1104彼此相连。输入/输出(I/O)接口1105也连接至总线1104。
以下部件连接至I/O接口1105:包括键盘、鼠标等的输入部分1106;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1107;包括硬盘等的存储部分1108;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1109。通信部分1109经由诸如因特网的网络执行通信处理。驱动器1110也根据需要连接至I/O接口1105。可拆卸介质1111,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1110上,以便于从其上读出的计算机程序根据需要被安装入存储部分1108。
特别地,根据本发明公开的实施例,上文主要步骤图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行主要步骤图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1109从网络上被下载和安装,和/或从可拆卸介质1111被安装。在该计算机程序被中央处理单元(CPU)1101执行时,执行本发明的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括任务排序模块、初始化模块和进度统计模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,任务排序模块还可以被描述为“接收任务执行请求,对所述任务执行请求中多个任务的任务标识进行排序,得到排序信息的模块”。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:接收任务执行请求,对所述任务执行请求中多个任务的任务标识进行排序,得到排序信息;使用加密算法对所述排序信息进行加密,生成相应的字符串,以所述字符串为键名,为所述多个任务的处理进度设定的初始值作为相应的键值存储到数据库;重复执行以下步骤,直至所述多个任务执行结束:在所述多个任务中预设数量的任务执行结束后,更新任务执行数量,根据所述任务执行数量计算当前处理进度,以更新所述数据库中相应键名的键值。
根据本发明实施例的技术方案,通过将任务排序和加密处理,生成字符串,将该字符串作为键名存储到数据库,保证了相同任务生成的键名相同,且缩短了键名的字符长度,便于后续批量查询任务处理进度。
上述产品可执行本发明实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明实施例所提供的方法。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

Claims (10)

1.一种任务处理进度的管理方法,其特征在于,包括:
接收任务执行请求,对所述任务执行请求中多个任务的任务标识进行排序,得到排序信息;
使用加密算法对所述排序信息进行加密,生成相应的字符串,以所述字符串为键名,为所述多个任务的处理进度设定的初始值作为相应的键值存储到数据库;
重复执行以下步骤,直至所述多个任务执行结束:在所述多个任务中预设数量的任务执行结束后,更新任务执行数量,根据所述任务执行数量计算当前处理进度,以更新所述数据库中相应键名的键值。
2.根据权利要求1所述的方法,其特征在于,所述对所述任务执行请求中多个任务的任务标识进行排序,包括:
将所述任务执行请求中包含的任务数量与设定阈值进行比较,得到比较结果;
根据设定的算法选择策略和所述比较结果,确定排序算法,使用所述排序算法对所述任务执行请求中多个任务的任务标识进行排序。
3.根据权利要求2所述的方法,其特征在于,所述使用加密算法对所述排序信息进行加密,生成相应的字符串,包括:
使用MD5算法对所述排序信息进行加密,得到加密信息;
将所述加密信息与所述任务执行请求的地址信息进行拼接,生成相应的字符串。
4.根据权利要求2所述的方法,其特征在于,所述方法还包括:
接收进度查询请求,使用所述排序算法,对所述进度查询请求中多个任务的任务标识进行排序,得到目标排序信息;
使用所述加密算法对所述目标排序信息进行加密,生成相应的第一目标字符串;
使用所述第一目标字符串在所述数据库中查询,输出相应的键值。
5.根据权利要求3所述的方法,其特征在于,所述方法还包括:
接收进度查询请求,使用所述排序算法,对所述进度查询请求中多个任务的任务标识进行排序,得到目标排序信息;
使用所述MD5算法对所述目标排序信息进行加密,得到目标加密信息;
将所述目标加密信息与所述进度查询请求的地址信息进行拼接,生成相应的第二目标字符串;
使用所述第二目标字符串在所述数据库中查询,输出相应的键值。
6.根据权利要求4所述的方法,其特征在于,在所述多个任务执行结束之后,所述方法还包括:
设置所述键名和相应键值的有效期;
所述使用所述第一目标字符串在所述数据库中查询的步骤之后,所述方法还包括:
判断所述数据库中与所述第一目标字符串名称相同的键名是否位于相应的有效期内;
如果所述数据库中与所述第一目标字符串名称相同的键名位于相应的有效期外,则返回进度获取失败的提示信息;
所述输出相应的键值,包括:如果所述数据库中与所述第一目标字符串名称相同的键名位于相应的有效期内,则输出相应的键值。
7.根据权利要求1至6的任一项所述的方法,其特征在于,所述在所述多个任务中预设数量的任务执行结束后,更新任务执行数量,包括:
在所述多个任务中任意一个任务执行结束后,自增任务执行数量。
8.一种任务处理进度的管理装置,其特征在于,包括:
任务排序模块,用于接收任务执行请求,对所述任务执行请求中多个任务的任务标识进行排序,得到排序信息;
初始化模块,用于使用加密算法对所述排序信息进行加密,生成相应的字符串,以所述字符串为键名,为所述多个任务的处理进度设定的初始值作为相应的键值存储到数据库;
进度统计模块,用于重复执行以下步骤,直至所述多个任务执行结束:在所述多个任务中预设数量的任务执行结束后,更新任务执行数量,根据所述任务执行数量计算当前处理进度,以更新所述数据库中相应键名的键值。
9.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的方法。
10.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-7中任一所述的方法。
CN202111210121.5A 2021-10-18 2021-10-18 一种任务处理进度的管理方法和装置 Pending CN113868687A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111210121.5A CN113868687A (zh) 2021-10-18 2021-10-18 一种任务处理进度的管理方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111210121.5A CN113868687A (zh) 2021-10-18 2021-10-18 一种任务处理进度的管理方法和装置

Publications (1)

Publication Number Publication Date
CN113868687A true CN113868687A (zh) 2021-12-31

Family

ID=79000031

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111210121.5A Pending CN113868687A (zh) 2021-10-18 2021-10-18 一种任务处理进度的管理方法和装置

Country Status (1)

Country Link
CN (1) CN113868687A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116126646A (zh) * 2023-04-13 2023-05-16 紫金诚征信有限公司 一种确定批量数据执行进度的方法及装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116126646A (zh) * 2023-04-13 2023-05-16 紫金诚征信有限公司 一种确定批量数据执行进度的方法及装置

Similar Documents

Publication Publication Date Title
US11038975B2 (en) Information pushing method and device
CN108011949B (zh) 用于获取数据的方法和装置
CN108933695B (zh) 用于处理信息的方法和装置
CN110321738A (zh) 信息处理方法和装置
CN111460129A (zh) 标识生成的方法、装置、电子设备和存储介质
CN107844488B (zh) 数据查询方法和装置
CN110909022A (zh) 一种数据查询方法和装置
CN113900907B (zh) 一种映射构建方法和系统
CN113076186B (zh) 任务处理的方法、装置、电子设备和存储介质
CN113868687A (zh) 一种任务处理进度的管理方法和装置
CN110389976B (zh) 一种多接口数据的调度方法和装置
CN111159211A (zh) 订单信息生成方法、装置、系统、计算机设备及存储介质
CN112948138A (zh) 一种处理消息的方法和装置
CN109144991B (zh) 动态分表的方法、装置、电子设备和计算机可存储介质
CN111626802A (zh) 用于处理信息的方法和装置
CN113535769B (zh) 查询信息的方法和装置
CN112949326B (zh) 信息查询方法、装置、设备和计算机可读介质
CN113726885A (zh) 一种流量配额的调整方法和装置
CN110019671B (zh) 一种处理实时消息的方法和系统
CN113495891A (zh) 一种数据处理方法和装置
CN113741796B (zh) 一种终端应用的数据持久化方法和装置
CN110262756B (zh) 用于缓存数据的方法和装置
CN117278659A (zh) 设备运行数据模拟生成方法及装置
CN113627835A (zh) 配送管理方法和装置
CN113760837A (zh) 数据写入、查询方法和装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination