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

数据处理方法和装置、系统、电子设备、计算机可读介质与流程

2022-03-23 04:35:40 来源:中国专利 TAG:


1.本公开涉及计算机技术领域,具体涉及数据处理、云服务等技术领域,尤其涉及一种数据处理方法和装置、系统、电子设备、计算机可读介质以及计算机程序产品。


背景技术:

2.在对消息队列的数据进行处理时,需要拉取消息队列中消息数据进行处理,在拉取消息处理逻辑上,拉取和处理为一体化,即消息拉取和消息执行合并为一步,无法根据拉取或处理时所需的资源来进行独立的扩容,并且不同的消息间的处理逻辑融合在一起,代码冗杂,不利于管理。


技术实现要素:

3.提供了一种数据处理方法和装置、系统、电子设备、计算机可读介质以及计算机程序产品。
4.根据第一方面,提供了一种数据处理系统,该系统包括:控制服务器、第一拉取器、第一任务执行管理器;控制服务器基于预设的调度策略从第一拉取器中获取第二拉取器,基于预设的调度策略从第一任务执行管理器获取第二任务执行管理器;控制第二拉取器和第二任务执行管理器执行操作;第二拉取器获取消息队列的待处理消息的数据;对待处理消息的数据进行序列化处理,得到待存储数据;将待存储数据存储到数据库中,得到已存储的第一数据;在数据库中增加第一数据的数据状态;第二任务执行管理器从数据库中获取第二数据,第二数据对应的数据状态为待处理状态,第一数据包括第二数据,执行第二数据对应的任务;并基于第二数据的任务执行结果,更新数据状态;其中,第二数据对应的数据状态为待处理状态,第一数据包括第二数据。
5.根据第二方面,又提供了一种数据处理方法,该方法包括:从数据库中获取第二数据,第二数据对应的数据状态为待处理状态;执行第二数据对应的任务;基于第二数据的任务执行结果,更新数据状态。
6.根据第三方面,又提供了一种数据处理方法,该方法包括:获取消息队列的待处理消息的数据;响应于待处理消息的数据为非关系型数据,获取待处理消息的数据的类型;对待处理消息的数据进行序列化处理,得到待存储数据;基于类型,在待存储数据中添加键值;将添加后的待存储数据存储到数据库中,得到已存储的第一数据;在数据库中增加第一数据的数据状态。
7.根据第四方面,提供了一种数据处理装置,该装置包括:状态获取单元,被配置成从数据库中获取第二数据,第二数据对应的数据状态为待处理状态;数据拉取单元,被配置成执行第二数据对应的任务;状态更改单元,被配置成基于第二数据的任务执行结果,更新数据状态。
8.根据第五方面,又提供了一种数据处理装置,该装置包括:数据获取单元,被配置成获取消息队列的待处理消息的数据;类型获取单元,被配置成响应于待处理消息的数据
为非关系型数据,获取待处理消息的数据的类型;序列化单元,被配置成对待处理消息的数据进行序列化处理,得到待存储数据;键值增加单元,被配置成基于类型,在待存储数据中添加键值;得到单元,被配置成将添加后的待存储数据存储到数据库中,得到已存储的第一数据;状态增加单元,被配置成在数据库中增加第一数据的数据状态。
9.根据第六方面,提供了一种电子设备,该电子设备包括:至少一个处理器;以及与至少一个处理器通信连接的存储器,其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行如第二方面或第三方面任一实现方式描述的方法。
10.根据第七方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,计算机指令用于使计算机执行如第二方面或第三方面任一实现方式描述的方法。
11.根据第八方面,提供了一种计算机程序产品,包括计算机程序,计算机程序在被处理器执行时实现如第二方面或第三方面任一实现方式描述的方法。
12.本公开的实施例提供的数据处理系统,系统包括:控制服务器、第一拉取器、第一任务执行管理器;控制服务器基于预设的调度策略从第一拉取器中获取第二拉取器,基于预设的调度策略从第一任务执行管理器获取第二任务执行管理器;控制第二拉取器和第二任务执行管理器执行操作;第二拉取器获取消息队列的待处理消息的数据;对待处理消息的数据进行序列化处理,得到待存储数据;将待存储数据存储到数据库中,得到已存储的第一数据;在数据库中增加第一数据的数据状态;第二任务执行管理器从数据库中获取第二数据,第二数据对应的数据状态为待处理状态,第一数据包括第二数据,执行第二数据对应的任务;并基于第二数据的任务执行结果,更新数据状态;其中,第二数据对应的数据状态为待处理状态,第一数据包括第二数据。由此,通过对数据库中的第一数据标记数据状态,为执行管理器提供了数据状态记录,可以使执行管理器基于已存储数据数据状态执行任务,并更新数据状态,为消息队列的数据提取和处理提供了分离条件,采用执行管理器独立执行任务,为数据拉取或数据处理分别进行单独扩容提供了条件,保证了数据拉取和数据处理的可分离性,提高了消息队列的数据处理效率。
13.应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
14.附图用于更好地理解本方案,不构成对本公开的限定。其中:
15.图1是根据本公开数据处理系统的一个实施例的结构示意图;
16.图2是根据本公开数据处理方法的一个实施例的流程图;
17.图3是根据本公开数据处理方法的另一个实施例的流程图;
18.图4是根据本公开数据处理装置的一个实施例的结构示意图;
19.图5是根据本公开数据处理装置的另一个实施例的结构示意图;
20.图6是用来实现本公开实施例的数据处理方法的电子设备的框图。
具体实施方式
21.以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种
细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
22.图1示出了根据本公开数据处理系统的一个实施例的结构示意图100,上述数据处理系统包括:控制服务器101第一拉取器102、第一任务执行管理器103。
23.本实施例中,控制服务器101分别与第一拉取器102、第一任务执行管理器103通信,基于预设的调度策略从第一拉取器102中获取第二拉取器1021,基于预设的调度策略从第一任务执行管理器103获取第二任务执行管理器1031;控制第二拉取器1021和第二任务执行管理器1031执行操作。
24.本实施例中,第一拉取器102包括多个拉取器,第二拉取器1021为第一拉取器中的一个拉取器,控制器服务器101基于预设的调度策略获取第二拉取器。第一任务执行管理器103包括多个任务执行管理器,每个任务执行管理器可以与至少一个执行器连接,执行器用于执行任务,第二任务执行管理器1031为第一任务执行管理器103中的一个任务执行管理器。任务执行管理器是管理执行器的组件,通过任务执行管理器可以为执行器发送与该执行器对应的任务的已存储的第二数据。
25.本实施例中,第二拉取器1021获取消息队列的待处理消息的数据;对待处理消息的数据进行序列化处理,得到待存储数据;将待存储数据存储到数据库中,得到已存储的第一数据;在数据库中增加第一数据的数据状态。
26.本实施例中,消息队列是分布式系统中重要的组件,该组件应用在不需要立即获得结果,但是并发量又需要进行控制的时候,消息队列主要解决了应用耦合、异步处理、流量削锋等问题。消息队列可驻留在内存或磁盘上,消息队列上存储的消息可以直接被应用程序读走,通过消息队列,应用程序可独立地执行。
27.本实施例中,消息队列中具有多个消息,第二拉取器1021通过数据协议等方式从消息队列中获取待处理消息的数据,待处理消息的数据是与具体任务相关的数据,当执行不同任务时,可以从消息队列中获取与该任务相关的待处理消息的数据。例如,在域名转移、实名审核时,数据处理方法运行于其上的执行主体可以通过与注册局进行通信,拉取注册局的消息队列中待处理消息的数据,从而从注册局中主动拉取机制同步信息。
28.本实施例中,序列化处理是指:把一个对象(变量)或者任何形式的数据结构从内存中变成可存储对象或进行传输的过程,待处理消息的数据为内存结果存储的数据,为了将待处理消息的数据转化为数据库可存储的数据,需要对待处理消息进行序列化处理。
29.本实施例中,对待处理消息的数据进行序列化处理包括:按照预设的序列化协议将待处理消息的数据转化为数据库可以存储的对象,该数据库可以存储的对象即为待存储数据。
30.本实施例中,待存储数据与已存储的第一数据的数据内容相同,只是两者的表现形式不同,待存储数据是数据库可以识别的数据,第一数据是持久化到数据库中的数据,第一数据的结构形式与数据库的数据的存储结构相同。
31.本实施例中,数据库的种类可以是任意一种关系型数据库,例如access、mysql、bd2等等。根据数据库的存储结构,第一数据可以是多种类型的数据,例如,关系数据型数据或非关系型数据。
32.本实施例中,数据库中的数据可以用于实现不同任务,任务的表现形式根据业务需求不同而不同,例如,域名转移任务;进一步地,任务的具体实施需要通过执行器执行,不同类型的执行器执行相应类型的任务。第一数据的数据状态用于指示第一数据在任务执行中的状态,例如将待存储数据持久化存储到数据库之后,得到已存储的第一数据,此时任务还未执行,可以将已存储数据的数据状态标记为待处理。进一步地,第二任务执行管理器1031可以从多个数据状态标记为待处理的第一数据中选取出第二数据用于执行任务。
33.本实施例中,第二任务执行管理器1031从数据库中获取第二数据,第二数据对应的数据状态为待处理状态,第一数据包括第二数据,执行第二数据对应的任务;并基于第二数据的任务执行结果,更新数据状态;其中,第二数据对应的数据状态为待处理状态,第一数据包括第二数据。
34.本实施例中,与第二任务执行管理器1031连接的执行器基于得到的第二数据执行相应任务,并向第二任务执行管理器1031反馈任务执行结果,该任务执行结果可以包括:任务执行成功、任务执行失败、继续尝试等。
35.本实施例中,第二任务执行管理器1031根据执行器反馈的任务执行结果,更新数据库中第二数据的数据状态。例如,在执行任务之前,第二数据的数据状态为待处理;当第二任务执行管理器1031与执行器通信确定第二数据对应的任务已经执行完成,则任务执行管理器将第二数据的数据状态标记为已处理成功。
36.本可选实现方式中,数据状态与任务执行结果相对应,当任务执行成功,则任务执行管理器将第二数据的数据状态由待处理更新为处理成功;当任务执行失败,则任务执行管理器可以将第二数据的数据状态由待处理更新为处理失败;当任务需要重复执行时,则任务执行管理器可以将第二数据的数据状态由待处理更改为继续尝试。
37.注册局在域名转移、域名实名审核时候,会通过主动拉取的机制同步信息给第二拉取器,第二拉取器和第二任务执行管理器配合工作实现了一套信息拉取,处理,具备容错,多处理器的数据处理系统。
38.本实施例中,控制服务器101选取第二拉取器和第二任务执行管理器时间可以不同,例如,在需要提取消息队列中的待处理消息数据时,选取拉取器;在需要处理不同任务时,选取任务执行管理器,相应地可以确定与第二任务执行管理器连接的至少一个执行器。
39.本公开的实施例提供的数据处理系统包括:控制服务器、第一拉取器、第一任务执行管理器;控制服务器基于预设的调度策略从第一拉取器中获取第二拉取器,基于预设的调度策略从第一任务执行管理器获取第二任务执行管理器;控制第二拉取器和第二任务执行管理器执行操作;第二拉取器获取消息队列的待处理消息的数据;对待处理消息的数据进行序列化处理,得到待存储数据;将待存储数据存储到数据库中,得到已存储的第一数据;在数据库中增加第一数据的数据状态;第二任务执行管理器从数据库中获取第二数据,第二数据对应的数据状态为待处理状态,第一数据包括第二数据,执行第二数据对应的任务;并基于第二数据的任务执行结果,更新数据状态;其中,第二数据对应的数据状态为待处理状态,第一数据包括第二数据。由此,通过对数据库中的第一数据标记数据状态,为执行管理器提供了数据状态记录,可以使执行管理器基于已存储数据数据状态执行任务,并更新数据状态,为消息队列的数据提取和处理提供了分离条件,采用执行管理器独立执行任务,为数据拉取或数据处理分别进行单独扩容提供了条件,保证了数据拉取和数据处理
的可分离性,提高了消息队列的数据处理效率。
40.在本实施例的一些可选实现方式中,第二任务执行管理器1031反序列化第二数据;向与任务执行管理器连接的执行器发送反序列完成的数据,并接收执行器反馈的任务执行结果。
41.本可选实现方式中,第二任务执行管理器1031对第二数据进行反序列处理,得到内存对象,反序列化是指根据数据库保存的对象状态及描述信息,将数据库已存储数据转换为内存对象。第二任务执行管理器1031将内存对象发送与其连接的执行器,执行器基于得到的内存对象执行相应任务。
42.本可选实现方式中,任务执行管理器向执行器发送第二数据的反序列完成的数据,接收执行器反馈的任务执行结果,可以基于执行结果更新数据库中已存储的第一数据的数据状态,保证了任务执行的可靠性。
43.在数据处理中,需要处理多种类型的数据,如域名转移的启动、域名转移的终止,域名转移成功,并且需要对不同任务结果做不同操作。当在关系型数据库中存储非关系型数据时,这些信息通常没有具体类型或者是对应多种类型的数据,这些数据通常被使用一些特定的序列化协议(例如,json,xml)序列化后存储在数据库。在数据反序列化时,需要指定反序列化的类型来读取到内存中,此时存储的数据序列化之前的类型如果不统一,那么数据将无法顺序的反序列化使用。需要根据具体的业务场景进行二次判断或者强转,操作体验较差。在本公开的另一个实施例中,在待处理消息的数据为非关系型数据时,第二拉取器获取待处理消息的数据的类型;基于类型,在待存储数据中添加键值;第二任务执行管理器在反序列化第二数据之前,获取键值,并基于键值,获取待存储数据的类型,在反序列第二数据之后,向与第二任务执行管理器连接的执行器发送携带类型的反序列完成的数据。
44.本实施例中,在序列化之前或之中,先获取序列化对象(待处理消息的数据)的类型,然后将对象序列化过程中,添加一个额外的键值,键值记录当前对象的具体类型,然后存入数据库。
45.当在数据库中取第二数据使用时,在反序列化之前,首先获取在序列化时候添加的键值,然后根据键值进行反射获取具体的类型。然后使用获取到的类型来对数据进行反序列化后的数据标注,从而有效地指示了反序列后数据的类型。
46.本公开的实施例提供的数据处理方法,在待存储数据中添加可以得到数据的类型的键值,为任务执行管理器在反序列化已存储数据时,提供了可靠的类型指导。
47.在本实施例的一些可选实现方式中,预设的调度策略包括:随机、轮询、分片广播中的任一项。
48.本可选实现方式中,随机是指从与控制服务器101连接的第一拉取器102中随机选取一个拉取器作为第二拉取器1021,从与控制服务器101连接的第一任务执行管理器103中随机选取一个任务执行管理器作为第二任务执行管理器1031。轮询是第一拉取器102中的拉取器均会依次执行到,每个执行的拉取器作为第二拉取器1021,第一任务执行管理器103中的任务执行管理器均会依次执行到,每个执行的任务执行管理器作为第二任务执行管理器1031。分片广播将第一拉取器102中的拉取器分成为多个独立的字块,这些子块就由片区的专有节点负责处理,从拉取器子块中得到第二拉取器;分片广播将第一任务执行管理器103分成了多个独立的子块,这些子块就由片区的专有节点负责处理,从任务执行管理器子
块中得到第二任务执行管理器1031。
49.本可选实现方式提供的几种调度策略,为第二拉取器和第二任务执行管理器的获取提供了多种可选择手段,保证了选取拉取器和任务执行管理器的可靠性。
50.可选地,预设的调度策略还可以包括:基于第一拉取器102中各个拉取器的资源占有情况,从中提取资源占用量最小的拉取器作为第二拉取器;基于第一任务执行管理器103中各个拉取器的资源占有情况,从中提取资源占用量最小的任务执行管理器,作为第二任务执行管理器1031。
51.本实施例提供的数据处理系统,第一拉取器和第一任务执行管理器均独立设置,基于第一拉取器与消息队列的网络传输需求,可以提高各个拉取器的网络带宽资源。基于第一任务执行管理器与执行器连接的内存需求,可以提高任务执行管理器的内存资源,从而根据提取器和任务执行管理器各自所需的资源分别为提取器和任务执行管理器进行独立扩容。进一步地,第一拉取器与第一任务执行管理器独立控制,数据处理逻辑分离,有利于对消息处理进行管理。
52.本实施例提供的数据处理系统,通过第一拉取器和第一任务执行管理器结构设置,实现了消息队列数据的拉取和处理的分离,为拉取器和任务管理器扩容提供了可靠的依据;在对消息队列的待处理消息的数据进行处理时,使用控制服务器选取第二拉取器和第二任务执行管理器,实现对多个拉取器和任务管理器的均衡选择,提高了数据处理效率。
53.可选地,第二拉取器1021在对待处理消息的数据进行序列化处理之前,可以对待处理消息的数据进行数据清洗或者数据筛选,以去除待处理消息的数据中的无效数据;通过对待处理进行数据清洗和数据筛选,保证了待处理消息的数据的有效性。
54.图2示出了根据本公开数据处理方法的另一个实施例的流程200,上述数据处理方法包括以下步骤:
55.步骤201,从数据库中获取第二数据,第二数据对应的数据状态为待处理状态。
56.本实施例中,数据处理方法运行于其上的执行主体为一种任务执行管理器,该任务执行管理器可以控制多种不同类型的执行器,多种不同类型的执行器可以基于任务执行管理器下发的反序列化后的数据(内存对象),执行相应类型的任务。
57.数据库中的第二数据可以是如图1所示实施例中从消息队列中拉取的待处理消息数据,并对该待处理消息数据进行序列化后再在数据库进行存储得到的第一数据中的数据。第二数据的数据状态用于指示第二数据在任务执行中的状态,此时第二数据对应的任务还未进行,将第二数据的数据状态为待处理。
58.本实施例中,数据库中的第一数据的数据状态与第一数据的对应的任务的执行状态相关,根据任务是否完成,第一数据的数据状态可以包括:待处理、处理完成、处理失败、继续执行,第一数据中数据状态为待处理的数据为第二数据;可选地,当任务在执行过程中,第一数据的数据状态还可以包括:处理中。
59.步骤202,执行第二数据对应的任务。
60.本实施例中,上述执行第二数据对应的任务包括:基于第二数据的类型确定任务类型,由任务类型确定第二数据对应的执行器,将第二数据反序列化为内存对象,并控制执行器基于该内存对象执行相应任务。本实施例中,当后续需要增加不同类型待处理消息的数据或不同类型的第二数据时,只需要增加相应的执行器即可,提高了执行器扩充的便利
性。
61.可选地,上述执行第二数据对应的任务包括:基于第二数据查询相应的任务,对第二数据进行反序列化处理,得到反序列完成的数据,将反序列完成的数据发送给与该任务对应的执行器。
62.步骤203,基于第二数据的任务执行结果,更新数据状态。
63.本实施中,数据处理方法运行于其上的执行主体基于各个执行器反馈的任务执行结果,将第二数据的数据状态更改为任务执行结果对应的状态。
64.具体地,任务执行结果包括:任务执行成功、任务执行失败、继续尝试;执行主体在任务执行结果为任务执行成功,将数据状态由待处理或处理中更改为处理成功;当任务执行失败,执行主体将数据状态由待处理或处理中更改为处理失败;当任务需要继续尝试时,执行主体将数据状态由待处理或处理中更改为继续尝试。
65.本实施例提供的数据处理方法,从数据库中获取第二数据,第二数据对应的数据状态为待处理状态,执行第二数据对应的任务;基于第二数据的任务执行结果,更新数据状态,由此可以独立处理从消息队列中拉取的、序列化后的数据,提升了处理效率,以及数据处理的处理器的可扩容性。
66.在本实施例的一些可选实现方式中,上述执行第二数据对应的任务包括:反序列化第二数据;向执行器发送反序列完成的数据,并接收执行器反馈的任务执行结果。
67.本可选实现方式中,在得到第二数据之后,反序列化第二数据,向执行器发送反序列完成的数据,并接收执行器的任务执行结果,根据第二数据执行任务,可以将多种不同类型数据交给不同的执行器独立执行任务,提升了数据扩展性。
68.在本公开的另一实施例中,上述方法还包括:获取第二数据中的键值;基于键值,获取待存储数据的类型;在反序列第二数据之后,向执行器发送携带类型的反序列完成的数据。
69.本实施例中,针对关系型数据需要存储的数据是非关系型时,提取器从消息队列中提取待处理消息数据之后,可以首先获取的待处理消息数据的类型,该类型可以是待处理消息数据在任务中的类型(例如,整形、浮点型等),基于类型,在向数据库存储的待存储数据中添加键值,该键值是包含类型的信息,通过键值可以得到类型。
70.本实施例运行于其上的执行主体对第二数据(数据中添加有键值)进行反序列处理,并在反序列处理完成之后,得到反序列完成的数据。根据得到的类型,向执行器发送携带类型的反序列完成的数据。
71.本实施例中,无需类型的反序列化,但反序列结果自带类型。无需二次强转,或者二次反序列化,提高了任务执行的效率。
72.图3示出了根据本公开数据处理方法的一个实施例的流程300,上述数据处理方法包括以下步骤:
73.步骤301,获取消息队列的待处理消息的数据。
74.本实施例中,消息队列是分布式系统中重要的组件,该组件应用在不需要立即获得结果,但是并发量又需要进行控制的时候,消息队列主要解决了应用耦合、异步处理、流量削锋等问题。消息队列可驻留在内存或磁盘上,消息队列上存储的消息可以直接被应用程序读走,通过消息队列,应用程序可独立地执行。
75.本实施例中,消息队列中具有多个消息,数据处理方法运行于其上的执行可以通过数据协议等方式从消息队列中获取待处理消息的数据,待处理消息的数据是与具体任务相关的数据,当执行不同任务时,可以从消息队列中获取与该任务相关的待处理消息的数据。例如,在域名转移、实名审核时,数据处理方法运行于其上的执行主体可以通过与注册局进行通信,获取注册局的消息队列中待处理消息的数据,从而从注册局中主动获取机制同步信息。
76.步骤302,响应于待处理消息的数据为非关系型数据,获取待处理消息的数据的类型。
77.本实施例中,针对关系型数据需要存储的数据是非关系型时,提取器从消息队列中提取待处理消息数据之后,可以首先获取的待处理消息数据的类型,该类型可以是待处理消息数据在任务中的类型(例如,整形、浮点型等)。
78.步骤303,对待处理消息的数据进行序列化处理,得到待存储数据。
79.序列化处理是指:把一个对象(变量)或者任何形式的数据结构从内存中变成可存储对象或进行传输的过程,待处理消息的数据为内存结果存储的数据,为了将待处理消息的数据转化为数据库可存储的数据,需要对待处理消息进行序列化处理。
80.本实施例中,对待处理消息的数据进行序列化处理包括:按照预设的序列化协议将待处理消息的数据转化为数据库可以存储的对象,该数据库可以存储的对象即为待存储数据。
81.可选地,在对待处理消息的数据进行序列化处理之前,对待处理消息的数据进行数据清洗或者数据筛选,以去除待处理消息的数据中的无效数据;通过对待处理进行数据清洗和数据筛选,保证了待处理消息的数据的有效性。
82.步骤304,基于类型,在待存储数据中添加键值。
83.本实施例中,基于类型,在向数据库存储的待存储数据中添加键值,键值包括关键标识和与该关键标识对应的类型信息,该键值是包含类型的信息,通过键值可以得到类型。
84.步骤305,将添加后的待存储数据存储到数据库中,得到已存储的第一数据。
85.本实施例中,数据处理方法运行于其上的执行主体在得到待存储数据之后,直接将待存储数据存储在数据库,得到实际存储在数据库中已存储的第一数据。
86.需要说明的是,待存储数据与第数据的数据内容相同,只是两者的表现形式不同,待存储数据是数据库可以识别的数据,第一数据是持久化到数据库中的数据,第一数据的结构形式与数据库的数据的存储结构相同。
87.本实施例中,数据库的种类可以是任意一种关系型数据库,例如access、mysql、bd2等等。
88.本实施例中,根据数据库的存储结构,已存储数据可以是多种类型的数据,例如,关系数据型数据或非关系型数据。
89.步骤306,在数据库中增加第一数据的数据状态。
90.本实施例中,数据库中的第一数据用于实现不同任务,任务的表现形式根据业务需求不同而不同,例如,域名转移任务;进一步地,任务的具体实施需要通过执行器执行,不同类型的执行器执行相应类型的任务。第一数据的数据状态用于指示第一数据在任务执行中的状态,例如执行主体将待存储数据持久化存储到数据库之后,得到已存储的第一数据,
当任务还未执行时,可以将第一据的数据状态标记为待处理,而数据状态为待处理的第一数据统称为第二数据。
91.本实施例中,任务执行管理器是管理至少一个执行器的组件,通过任务执行管理器可以为每个执行器发送与该执行器对应的任务的第二数据。
92.本实施例中,任务执行管理器还可以对第二数据进行反序列处理,得到内存对象,反序列化是指根据数据库保存的对象状态及描述信息,将数据库第二数据转换为内存对象。任务执行管理器将内存对象发送与其连接的执行器,该执行器基于得到的内存对象执行相应任务,并向任务执行管理器反馈任务执行结果,该任务执行结果可以包括:任务执行成功、任务执行失败、继续尝试等。
93.本实施例中,任务执行管理器根据各个执行器反馈的任务执行结果,更改数据库中第二数据的数据状态。例如,在执行任务之前,第二数据的数据状态为未处理;当任务执行管理器通过与执行器通信确定第二数据对应的任务已经执行完成,则任务执行管理器将该第二数据的数据状态标记为已处理成功。
94.上述任务执行管理器基于数据状态,从数据库中获取第二数据执行任务,并更新数据状态包括:响应于确定第二数据的数据状态为未处理,任务执行管理器获取并反序列化第二数据,并向至少一个执行器发送反序列完成的数据;基于各个执行器反馈的任务执行结果,将数据状态更改为任务执行结果对应的状态。
95.本实施例提供的数据处理方法,首先,获取消息队列的待处理消息的数据;其次,响应于待处理消息的数据为非关系型数据,获取待处理消息的数据的类型;从次,对待处理消息的数据进行序列化处理,得到待存储数据;再次,基于类型,在待存储数据中添加键值;然后,将添加后的待存储数据存储到数据库中,得到已存储的第一数据;最后,在数据库中增加第一数据的数据状态。由此,通过对数据库中的第一数据标记数据状态,为执行管理器提供了数据状态记录,可以使执行管理器基于第一数据的数据状态执行任务,并更新数据状态,为消息队列的数据提取和处理提供了分离条件;采用执行管理器独立执行任务,为数据获取或数据处理分别进行单独扩容提供了条件,保证了数据获取和数据处理的可分离性,提高了消息队列的数据处理效率。本实施例中,将添加键值的待存储数据存储到数据库中,得到第一数据,可以使任务执行管理器在反序列化已存储数据之前,获取键值,并基于键值,获取待存储数据的类型,在反序列已存储数据之后,向至少一个执行器发送携带类型的反序列完成的数据。无需类型的反序列化,但反序列结果自带类型。无需二次强转,或者二次反序列化,提高了任务执行的效率。
96.进一步参考图4,作为对上述各图所示方法的实现,本公开提供了数据处理装置的另一个实施例,该装置实施例与图2所示的方法实施例相对应。
97.如图4所示,本实施例提供的数据处理装置400包括:状态获取单元401、数据拉取单元402、状态更改单元403。其中,上述状态获取单元401,可以被配置成从数据库中获取第二数据,第二数据对应的数据状态为待处理状态。上述数据拉取单元402,可以被配置成执行第二数据对应的任务。上述状态更改单元403,可以被配置成基于第二数据的任务执行结果,更新数据状态。
98.在本实施例中,数据处理系统400中:状态获取单元401、数据拉取单元402、状态更改单元403的具体处理及其所带来的技术效果可分别参考图2对应实施例中的步骤201、步
骤202、步骤203的相关说明,在此不再赘述。
99.在本实施例的一些可选的实现方式中,上述数据拉取单元402包括:拉取模块(图中未示出),发送模块(图中未示出),接收模块(图中未示出)。其中,上述拉取模块,可以被配置成反序列化第二数据。上述发送模块,可以被配置成向执行器发送反序列完成的数据。上述接收模块,可以被配置成接收执行器反馈的任务执行结果。
100.在本实施例的一些可选的实现方式中,上述装置400还包括:键值获取单元(图中未示出),类型获取单元(图中未示出),数据发送单元(图中未示出)。其中,上述键值获取单元,可以被配置成获取第二数据中的键值。上述类型获取单元,可以被配置成基于键值,获取待存储数据的类型。上述数据发送单元,可以被配置成在反序列第二数据之后,向执行器发送携带类型的反序列完成的数据。
101.本实施例提供的数据处理装置,状态获取单元401从数据库中获取第二数据,第二数据对应的数据状态为待处理状态;数据拉取单元402执行第二数据对应的任务;状态更改单元403基于第二数据的任务执行结果,更新数据状态,由此可以独立处理从消息队列中拉取的、序列化后的数据,提升了处理效率,以及数据处理的处理器的可扩容性。
102.进一步参考图5,作为对上述各图所示方法的实现,本公开提供了数据处理装置的一个实施例,该装置实施例与图3所示的方法实施例相对应。
103.如图5所示,本实施例提供的数据处理装置500包括:数据获取单元501,类型获取单元502,序列化单元503,键值增加单元504,得到单元505,状态增加单元506。其中,上述数据获取单元501,可以被配置成获取消息队列的待处理消息的数据。上述类型获取单元502,可以被配置成响应于待处理消息的数据为非关系型数据,获取待处理消息的数据的类型。上述序列化单元503,可以被配置成对待处理消息的数据进行序列化处理,得到待存储数据。上述键值增加单元504,可以被配置成基于类型,在待存储数据中添加键值。上述得到单元505,可以被配置成将添加后的待存储数据存储到数据库中,得到已存储的第一数据。上述状态增加单元506,可以被配置成在数据库中增加第一数据的数据状态。
104.在本实施例中,数据处理装置500包括:数据获取单元501,类型获取单元502,序列化单元503,键值增加单元504,得到单元505,状态增加单元506的具体处理及其所带来的技术效果可分别参考图3对应实施例中的步骤301、步骤302、步骤303、步骤304、步骤305、步骤306的相关说明,在此不再赘述。
105.本实施例提供的数据处理方法,首先,数据获取单元501获取消息队列的待处理消息的数据;其次,类型获取单元502响应于待处理消息的数据为非关系型数据,获取待处理消息的数据的类型;从次,序列化单元503对待处理消息的数据进行序列化处理,得到待存储数据;再次,键值增加单元504基于类型,在待存储数据中添加键值;然后,得到单元505将添加后的待存储数据存储到数据库中,得到已存储的第一数据;最后,状态增加单元506在数据库中增加第一数据的数据状态。由此,通过对数据库中的第一数据标记数据状态,为执行管理器提供了数据状态记录,可以使执行管理器基于第一数据的数据状态执行任务,并更新数据状态,为消息队列的数据提取和处理提供了分离条件;采用执行管理器独立执行任务,为数据获取或数据处理分别进行单独扩容提供了条件,保证了数据获取和数据处理的可分离性,提高了消息队列的数据处理效率。本实施例中,将添加键值的待存储数据存储到数据库中,得到第一数据,可以使任务执行管理器在反序列化已存储数据之前,获取键
值,并基于键值,获取待存储数据的类型,在反序列已存储数据之后,向至少一个执行器发送携带类型的反序列完成的数据。无需类型的反序列化,但反序列结果自带类型。无需二次强转,或者二次反序列化,提高了任务执行的效率。
106.本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。
107.根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
108.图6示出了可以用来实施本公开的实施例的示例电子设备600的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
109.如图6所示,设备600包括计算单元601,其可以根据存储在只读存储器(rom)602中的计算机程序或者从存储单元608加载到随机访问存储器(ram)603中的计算机程序,来执行各种适当的动作和处理。在ram 603中,还可存储设备600操作所需的各种程序和数据。计算单元601、rom 602以及ram603通过总线604彼此相连。输入/输出(i/o)接口605也连接至总线604。
110.设备600中的多个部件连接至i/o接口605,包括:输入单元606,例如键盘、鼠标等;输出单元607,例如各种类型的显示器、扬声器等;存储单元608,例如磁盘、光盘等;以及通信单元609,例如网卡、调制解调器、无线通信收发机等。通信单元609允许设备600通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
111.计算单元601可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元601的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元601执行上文所描述的各个方法和处理,例如数据处理方法。例如,在一些实施例中,数据处理方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元608。在一些实施例中,计算机程序的部分或者全部可以经由rom 602和/或通信单元609而被载入和/或安装到设备600上。当计算机程序加载到ram 603并由计算单元601执行时,可以执行上文描述的数据处理方法的一个或多个步骤。备选地,在其他实施例中,计算单元601可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行数据处理方法。
112.本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至
少一个输出装置。
113.用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置或数据处理系统的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
114.在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
115.为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
116.可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
117.计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
118.应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
119.上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
再多了解一些

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

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

相关文献