CN109960212A - 任务发送方法和装置 - Google Patents

任务发送方法和装置 Download PDF

Info

Publication number
CN109960212A
CN109960212A CN201711419439.8A CN201711419439A CN109960212A CN 109960212 A CN109960212 A CN 109960212A CN 201711419439 A CN201711419439 A CN 201711419439A CN 109960212 A CN109960212 A CN 109960212A
Authority
CN
China
Prior art keywords
task
downstream
key assignments
value
sent
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.)
Granted
Application number
CN201711419439.8A
Other languages
English (en)
Other versions
CN109960212B (zh
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 Century Trading Co Ltd
Beijing Jingdong Shangke Information 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 Century Trading Co Ltd, Beijing Jingdong Shangke Information Technology Co Ltd filed Critical Beijing Jingdong Century Trading Co Ltd
Priority to CN201711419439.8A priority Critical patent/CN109960212B/zh
Publication of CN109960212A publication Critical patent/CN109960212A/zh
Application granted granted Critical
Publication of CN109960212B publication Critical patent/CN109960212B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/056Programming the PLC
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13004Programming the plc

Abstract

本发明公开了一种任务发送方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:根据下游可接收任务量,创建可用键值列表,所述可用键值列表中的值对应于任务量;解析来自上游的任务,将解析后的任务存储在数据库中,所述解析后的任务具有下发顺序标记;当所述可用键值列表中存在值时,根据所述下发顺序标记向下游发送任务。该实施方式实现了向下游设备发送的任务数量可控和顺序可控,同时对未下发的任务可控地进行删除和修改,进而保证数据的完整性和一致性。

Description

任务发送方法和装置
技术领域
本发明涉及计算机技术领域,尤其涉及一种任务发送方法和装置。
背景技术
可编程控制器(Programmable Logic Controller,PLC)是一种专门为在工业环境下应用而设计的数字运算操作电子系统。它采用一种可编程的存储器,在其内部存储执行逻辑运算、顺序控制、定时、计数和算术运算等操作的指令,通过数字式或模拟式的输入输出来控制各种类型的机械设备或生产过程。
PLC以其高可靠性、模块化结构、编程简单、抗干扰能力强等优点,在现代控制系统中得到了广泛的应用,例如用以完成实时的数据采集和控制任务,并且利用计算机界面实现人机对话和监控功能。
由于PLC不具备数据库存储大量数据的特性,因此给硬件PLC下发的指令要严格控制数量,以及保证顺序执行。现有技术中,可能会采用MQ(message queue,消息队列)的方式来控制任务的数量和执行顺序。
然而,在实现本发明过程中,发明人发现现有技术中至少存在如下问题:现有技术无法保证大量数据按照顺序下发,并且针对异常情况,也无法及时对未下发的数据进行修改或删除。
发明内容
有鉴于此,本发明实施例提供一种任务发送方法和装置,能够保证下发给下游设备的任务数量可控,顺序可控,同时可以对已执行的任务可控的进行删除,未执行的任务可控的进行删除和修改,进而保证数据的完整性、一致性。
为实现上述目的,根据本发明实施例的一个方面,提供了一种任务发送方法,包括:根据下游可接收任务量,创建可用键值列表,所述可用键值列表中的值对应于任务量;解析来自上游的任务,为解析后的任务创建下发顺序标记;当所述可用键值列表中存在值时,根据所述下发顺序标记向下游发送任务。
可选地,所述解析来自上游的任务,将解析后的任务存储在数据库中包括:解析来自上游的任务,获得与所述任务对应的指令数据;将所述指令数据设置为不同的列属性存储在数据库中,其中,所述列属性包括:下发顺序标记、任务名、指令值、发送状态;其中,所述任务名与所述可用键值列表中的键对应,所述发送状态包括已发送和未发送。
可选地,所述下发顺序标记与接收来自上游的任务的时间正相关。
可选地,所述下发顺序标记为自增ID。
可选地,当所述可用键值列表中存在值时,根据所述下发顺序标记向下游发送任务包括:确定下游待接收任务的任务名;当所述可用键值列表中与所述待接收任务的任务名一致的键存在值时,将与所述待接收任务的任务名一致、自增ID最小、发送状态为未发送的指令数据发送至下游;发送完成后,将所述指令数据的发送状态更新为已发送。
可选地,在根据所述下发顺序标记向下游发送任务之后,所述方法还包括:将所述值从所述可用键值列表中删除。
可选地,在根据所述下发顺序标记向下游发送任务之后,所述方法还包括:根据来自下游的任务完成反馈通知,向所述可用键值列表中添加值。
为实现上述目的,根据本发明实施例的另一方面,提供了一种任务发送装置,包括:列表创建模块,用于根据下游可接收任务量,创建可用键值列表,所述可用键值列表中的值对应于任务量;任务存储模块,用于解析来自上游的任务,为解析后的任务创建下发顺序标记;任务下发模块,用于当所述可用键值列表中存在值时,根据所述下发顺序标记向下游发送任务。
可选地,所述任务存储模块还用于:解析来自上游的任务,获得与所述任务对应的指令数据;将所述指令数据设置为不同的列属性存储在数据库中,其中,所述列属性包括:下发顺序标记、任务名、指令值、发送状态;其中,所述任务名与所述可用键值列表中的键对应,所述发送状态包括已发送和未发送。
可选地,所述下发顺序标记与接收任务的时间正相关。
可选地,所述下发顺序标记为自增ID。
可选地,所述任务下发模块还用于:确定下游待接收任务的任务名;当所述可用键值列表中与所述待接收任务的任务名一致的键存在值时,将与所述待接收任务的任务名一致、自增ID最小、发送状态为未发送的指令数据发送至下游;发送完成后,将所述指令数据的发送状态更新为已发送。
可选地,所述列表创建模块还用于:将所述值从所述可用键值列表中删除。
可选地,所述列表创建模块还用于,根据来自下游的任务完成反馈通知,向所述可用键值列表中添加值。
为实现上述目的,根据本发明实施例的一个方面,提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例所提供的任务发送方法。
为实现上述目的,根据本发明实施例的一个方面,提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明实施例所提供的任务发送方法。
上述发明中的一个实施例具有如下优点或有益效果:因为采用根据下游可接收任务量,创建可用键值列表,所述可用键值列表中的值对应于任务量;解析来自上游的任务,为解析后的任务创建下发顺序标记;当所述可用键值列表中存在值时,根据所述下发顺序标记向下游发送任务的技术手段,实现了对可编程控制器下发的任务数量可控,顺序可控,同时对已下发完的任务和未下发的任务,可控的进行删除,进而保证数据的完整性、一致性。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明一实施例的任务发送方法的主要流程的示意图;
图2是根据本发明实施例的任务发送装置的主要模块的示意图;
图3是本发明实施例可以应用于其中的示例性系统架构图;
图4是适于用来实现本发明实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
图1是根据本发明实施例的任务发送方法的主要流程的示意图。如图1所示,该方法包括:
步骤S101:任务发送装置根据下游可接收任务量,创建可用键值列表,所述可用键值列表中的值对应于任务量;
步骤S102:任务发送装置解析来自上游的任务,为解析后的任务创建下发顺序标记;
步骤S103:当所述可用键值列表存在值时,任务发送装置根据所述下发顺序标记向下游发送任务。
在本发明实施例中,任务发送装置是连接上游系统和下游系统的一个中间控制装置或中间控制系统,其中,下游硬件系统可以接收的任务是有数量要求的,例如,可编程控制器(PLC)设备。作为一种具体的示例,上游系统可以是智能排产系统,工作站系统等,下游硬件系统的PLC设备可以是穿梭车机器人。其中,穿梭车机器人可以在立体库的狭窄货架间运送货物。
另外,上述任务发送装置也可以作为WCS系统的一部分。WCS(Warehouse ControlSystem,仓库控制系统),是介于WMS系统(Warehouse Management System,仓储管理系统)和PLC系统之间的一层管理控制系统。一方面,它与WMS系统进行信息交互,接收WSM系统的指令,并将其发送给PLC系统,从而驱动产线产生相应机械动作;另一方面,它将PLC系统的状态及数据实时反映在人机交互界面上,并提供对PLC系统和产线的手动调试接口。
对于步骤S101,下游的PLC设备的存储空间有限,只能存储固定数量的任务,通常,在下游设备中设置了变量来接收任务,可以利用变量名来表示任务名。进一步的,由于下游PLC设备只能存储固定数量的任务,因此可以利用定义结构体数组变量来接收任务,利用结构体数组变量的下标限制任务量。则在本发明实施例中为每一个结构体数组变量定义一个键,值为该结构体数组变量的下标数量。例如,下游PLC设备只能接收150个任务名为shuttlesysout的任务,则定义结构体数组变量为shuttlesysout,该结构体数组变量的下标数量为150,即该结构体数组变量可以保存150条任务,则创建的可用任务列表中,与该任务对应的键为shuttlesysout,值为1~150。
进一步的,上述可用键值列表可以存储在Redis中,也可以存储在数据库中,例如、MySQL、Oracle、Sqlserver等,也可以存储在本地缓存中(例如java的cache)。
其中,Redis是一个高性能的key-value(键-值)数据库。Redis的外围由一个键、值映射的字典构成。它支持多种数据类型,包括string(字符串)、list(链表)、set(集合)、zset(sorted set,有序集合)和hash(哈希类型)。其中,set是string类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。因此,在优选的实施例中,可以将可用键值列表存储在Redis中,可用键值列表中的每个键都可以采用set数据类型。
对于步骤S102,任务发送装置接收来自上游的任务,解析成下游PLC设备可识别的指令数据。该指令数据可以存储在数据库中。其中,每个解析后的指令数据具有下发顺序标记,该下发顺序标记表示任务发送装置向下游PLC设备发送任务的先后顺序。
具体的,上述下发顺序标记与任务发送装置接收任务的时间正相关。接收任务的时间越早,该任务越早下发。例如下发顺序标记可以是自然数,接收的第一个任务,解析后该任务的下发顺序标记为1,之后接收的任务,在解析之后,其下发顺序标记依次加1。
作为具体的示例,当上述可用键值列表存储在Redis中时,所述下发顺序标记可以是自增ID。
在存储指令数据时,可以将指令数据设置为不同的列属性。具体的,所述不同的列属性为:下发顺序标记、任务名、指令值、发送状态。其中,发送状态包括已发送和未发送。作为具体的示例,0可以表示未下发,1可以表示已下发。
在其他可选的实施例中,还可以将指令拼接为一个字符串进行存储。
值得说明的是,将来自上游的任务存储在数据库中,可以在向下游PLC设备发送之前进行修改或删除。
对于步骤S103,任务发送装置可以先确定下游待接收任务的任务名。例如上游系统根据时序或任务要求确定下游待接收任务的任务名,然后将该待接收任务的任务名发送至任务发送装置。
然后,任务发送装置判断可用键值列表中与待接收任务的任务名一致的键是否存在值,若存在,则根据下发顺序标记向下游PLC设备发送任务。具体过程如下所示:
当可用键值列表中与待接收任务的任务名一致的键存在值时,查询数据库,确定是否存在符合以下条件的指令数据:与待接收任务的任务名一致、自增ID最小、发送状态为未发送;
若存在符合上述条件的指令数据,则将该指令数据发送至下游PLC设备,例如可以通过OPC协议将该指令数据写入下游PLC设备对应的结构体数组中;
若不存在符合上述条件的指令数据,则可以以邮件方式通知工作人员。
上述OPC(OLE for Process Control)是一个工业标准,利用它可以将不同开发商研发的驱动程序与应用软件有机的集成或连接起来。OPC包括一整套接口、属性和方法的标准集,用于过程控制和制造业自动化系统。
进一步的,在将符合上述条件的指令数据发送完成后,将该指令数据的发送状态更新为已发送。
更进一步的,在将符合上述条件的指令数据发送完成后,还可以将所述值从所述可用键值列表中删除。
针对每一个任务,下游PLC设备可存储的该任务的数量有限制,因此需要严格控制向下游PLC设备发送的任务数量。而,可用键值列表中的值与可存储任务量对应,每次向下游发送一个任务就消耗掉一个值,当所有值消耗完之后,认为下游PLC设备可以存储的任务的数量为0了,此时,必须下游PLC设备执行完任务,才能下发新的任务。当下游PLC设备每执行完一个任务之后,会向下发任务装置反馈执行结果。下发任务装置根据执行结果可以向可用键值列表里添加新的值,进而可以向下游PLC设备下发新任务。
本发明实施例的任务发送方法,根据下游设备可接收的任务量创建可用键值列表,并将来自上游的任务进行解析、存储在数据库中,其中解析后的任务具有下发顺序标记;当需要向下游设备发送任务时,若所述可用键值列表中存在值,则按照下发顺序标记的顺序向下游设备发送任务,实现了向下游设备发送的任务数量可控和顺序可控,同时对未下发的任务,可控的进行删除和修改,进而保证数据的完整性和一致性。
在可选的实施例中,步骤S103可以利用java的worker模式周期性执行,也可以将定时任务集成到其它分布式任务执行系统中,脱离单机应用,例如java的线程池技术、java的定时任务等。
其中,worker模式想解决的问题:异步执行一些任务,有返回或无返回结果。使用动机:有些时候想执行一些异步任务,如异步网络通信、daemon任务,但又不想去管理这任务的生命周。这个时候可以使用worker模式,它会帮您管理与执行任务,并能非常方便地获取结果。
为了方便理解本发明的技术方案,以下述例子为例进行说明。
下游PLC设备定义的结构体数组变量为shuttlesysout,可以存储150个任务。可用键值列表中的键为shuttlesysout,该键为set数据结构,该键的值为1-150,其中,该150个值都是可用的。任务发送装置从上游系统接收了200个任务,对该200个任务进行解析并存储,该200个任务的类型都是shuttlesysout,发送状态都是未发送,自增ID从101-300(这里假设数据库值已经存储有100个任务,并且该100个任务的类型均不是shuttlesysout)。当向下游PLC设备发送任务时,随机从上述可用键值列表中取一个值,假如为50,则从数据库中查找类型为shuttlesysout、发送状态为未发送、自增ID为101的指令数据,将该指令数据写入下游PLC设备的shuttlesysout结构体数组变量对应的下标50。当写入成功后,将值50从可用键值列表中删除,并将改指令数据的发送状态更新为已发送。
图2是根据本发明实施例的任务发送装置的主要模块的示意图。如图2所示,该任务发送装置200包括:
列表创建模块201,用于根据下游可接收任务量,创建可用键值列表,所述可用键值列表中的值对应于任务量;
任务存储模块202,用于解析来自上游的任务为解析后的任务创建下发顺序标记;
任务下发模块203,用于当所述可用键值列表中存在值时,根据所述下发顺序标记向下游发送任务。
可选地,所述任务存储模块202还用于:解析来自上游的任务,获得与所述任务对应的指令数据;将所述指令数据设置为不同的列属性存储在数据库中,其中,所述列属性包括:下发顺序标记、任务名、指令值、发送状态;其中,所述任务名与所述可用键值列表中的键对应,所述发送状态包括已发送和未发送。
可选地,所述下发顺序标记与接收任务的时间正相关。
可选地,所述下发顺序标记为自增ID。
可选地,所述任务下发模块203还用于:确定下游待接收任务的任务名;当所述可用键值列表中与所述待接收任务的任务名一致的键存在值时,将与所述待接收任务的任务名一致、自增ID最小、发送状态为未发送的指令数据发送至下游;发送完成后,将所述指令数据的发送状态更新为已发送。
可选地,所述任务下发模块203还用于:将所述值从所述可用键值列表中删除。
可选地,所述列表创建模块还用于,根据来自下游的任务完成反馈通知,向所述可用键值列表中添加值。
上述装置可执行本发明实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明实施例所提供的方法。
图3示出了可以应用本发明实施例的任务发送方法或任务发送装置的示例性系统架构300。
如图3所示,系统架构300可以包括终端设备301、302、303,网络304和服务器305。网络304用以在终端设备301、302、303和服务器305之间提供通信链路的介质。网络304可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备301、302、303通过网络304与服务器305交互,以接收或发送消息等。终端设备301、302、303上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
终端设备301、302、303可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器305可以是提供各种服务的服务器,例如对用户利用终端设备301、302、303所浏览的购物类网站提供支持的后台管理服务器。后台管理服务器可以对接收到的产品信息查询请求等数据进行分析等处理,并将处理结果(例如目标推送信息、产品信息)反馈给终端设备。
需要说明的是,本发明实施例所提供的任务发送方法一般由服务器305执行,相应地,任务发送装置一般设置于服务器305中。
应该理解,图3中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
下面参考图4,其示出了适于用来实现本发明实施例的终端设备的计算机系统400的结构示意图。图4示出的终端设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图4所示,计算机系统400包括中央处理单元(CPU)401,其可以根据存储在只读存储器(ROM)402中的程序或者从存储部分408加载到随机访问存储器(RAM)403中的程序而执行各种适当的动作和处理。在RAM 403中,还存储有系统400操作所需的各种程序和数据。CPU 401、ROM 402以及RAM 403通过总线404彼此相连。输入/输出(I/O)接口405也连接至总线404。
以下部件连接至I/O接口405:包括键盘、鼠标等的输入部分406;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分407;包括硬盘等的存储部分408;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分409。通信部分409经由诸如因特网的网络执行通信处理。驱动器410也根据需要连接至I/O接口405。可拆卸介质411,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器410上,以便于从其上读出的计算机程序根据需要被安装入存储部分408。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分409从网络上被下载和安装,和/或从可拆卸介质411被安装。在该计算机程序被中央处理单元(CPU)401执行时,执行本发明的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括发送模块、获取模块、确定模块和第一处理模块。其中,这些模块的名称在某种情况下并不构成对该单元本身的限定,例如,发送模块还可以被描述为“向所连接的服务端发送图片获取请求的模块”。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:
根据下游可接收任务量,创建可用键值列表,所述可用键值列表中的值对应于任务量;
解析来自上游的任务,为解析后的任务创建下发顺序标记;
当所述可用键值列表中存在值时,根据所述下发顺序标记向下游发送任务。
本发明实施例的技术方案,实现了对可编程控制器下发的任务数量可控,顺序可控,同时未下发的任务,可控的进行删除和修改,进而保证数据的完整性、一致性。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

Claims (16)

1.一种任务发送方法,其特征在于,包括:
根据下游可接收任务量,创建可用键值列表,所述可用键值列表中的值对应于任务量;
解析来自上游的任务,为解析后的任务创建下发顺序标记;
当所述可用键值列表中存在值时,根据所述下发顺序标记向下游发送任务。
2.根据权利要求1所述的方法,其特征在于,所述解析来自上游的任务,将解析后的任务存储在数据库中包括:
解析来自上游的任务,获得与所述任务对应的指令数据;
将所述指令数据设置为不同的列属性存储在数据库中,所述列属性包括:下发顺序标记、任务名、指令值、发送状态;其中,所述任务名与所述可用键值列表中的键对应,所述发送状态包括已发送和未发送。
3.根据权利要求1或2所述的方法,其特征在于,所述下发顺序标记与接收来自上游的任务的时间正相关。
4.根据权利要求3所述的方法,其特征在于,所述下发顺序标记为自增ID。
5.根据权利要求4所述的方法,其特征在于,当所述可用键值列表中存在值时,根据所述下发顺序标记向下游发送任务包括:
确定下游待接收任务的任务名;
当所述可用键值列表中与所述待接收任务的任务名一致的键存在值时,将与所述待接收任务的任务名一致、自增ID最小、发送状态为未发送的指令数据发送至下游;
发送完成后,将所述指令数据的发送状态更新为已发送。
6.根据权利要求1所述方法,其特征在于,在根据所述下发顺序标记向下游发送任务之后,所述方法还包括:
将所述值从所述可用键值列表中删除。
7.根据权利要求4所述的方法,其特征在于,在根据所述下发顺序标记向下游发送任务之后,所述方法还包括:
根据来自下游的任务完成反馈通知,向所述可用键值列表中添加值。
8.一种任务发送装置,其特征在于,包括:
列表创建模块,用于根据下游可接收任务量,创建可用键值列表,所述可用键值列表中的值对应于任务量;
任务存储模块,用于解析来自上游的任务,为解析后的任务创建下发顺序标记;
任务下发模块,用于当所述可用键值列表中存在值时,根据所述下发顺序标记向下游发送任务。
9.根据权利要求7所述的装置,其特征在于,所述任务存储模块还用于:
解析来自上游的任务,获得与所述任务对应的指令数据;
将所述指令数据设置为不同的列属性存储在数据库中,其中,所述列属性包括:下发顺序标记、任务名、指令值、发送状态;其中,所述发送状态包括已发送和未发送。
10.根据权利要求8或9所述的装置,其特征在于,所述下发顺序标记与接收任务的时间正相关。
11.根据权利要求10所述的装置,其特征在于,所述下发顺序标记为自增ID。
12.根据权利要求11所述的装置,其特征在于,所述任务下发模块还用于:
确定下游待接收任务的任务名;
当所述可用键值列表中与所述待接收任务的任务名一致的键存在值时,将与所述待接收任务的任务名一致、自增ID最小、发送状态为未发送的指令数据发送至下游;
发送完成后,将所述指令数据的发送状态更新为已发送。
13.根据权利要求8所述的装置,其特征在于,所述列表创建模块还用于:
将所述值从所述可用键值列表中删除。
14.根据权利要求13所述的装置,其特征在于,所述列表创建模块还用于,根据来自下游的任务完成反馈通知,向所述可用键值列表中添加值。
15.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的方法。
16.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-7中任一所述的方法。
CN201711419439.8A 2017-12-25 2017-12-25 任务发送方法和装置 Active CN109960212B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711419439.8A CN109960212B (zh) 2017-12-25 2017-12-25 任务发送方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711419439.8A CN109960212B (zh) 2017-12-25 2017-12-25 任务发送方法和装置

Publications (2)

Publication Number Publication Date
CN109960212A true CN109960212A (zh) 2019-07-02
CN109960212B CN109960212B (zh) 2020-07-31

Family

ID=67020701

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711419439.8A Active CN109960212B (zh) 2017-12-25 2017-12-25 任务发送方法和装置

Country Status (1)

Country Link
CN (1) CN109960212B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10819777B1 (en) * 2018-11-13 2020-10-27 Amazon Technologies, Inc. Failure isolation in a distributed system
CN112214377A (zh) * 2020-10-21 2021-01-12 新华三信息安全技术有限公司 一种设备管理方法及系统
CN113836011A (zh) * 2021-09-16 2021-12-24 网易(杭州)网络有限公司 任务列表的处理方法、装置、存储介质及电子设备
CN114253211A (zh) * 2021-12-15 2022-03-29 意欧斯智能科技股份有限公司 一种plc与上位机wcs信号交互验证的方法

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5640554A (en) * 1993-10-12 1997-06-17 Fujitsu Limited Parallel merge and sort process method and system thereof
US5689415A (en) * 1992-06-01 1997-11-18 Ducost Engineering Ltd. Control of paint spraying machines and the like
CN1719363A (zh) * 2005-07-27 2006-01-11 艾默生网络能源有限公司 可编程逻辑控制器硬件扩展方法
CN101231525A (zh) * 2008-02-21 2008-07-30 四方电气(集团)有限公司 分布式控制系统dcs控制器实时数据库的实现方法
CN101458512A (zh) * 2007-09-03 2009-06-17 上海精星仓储设备工程有限公司 一种用于自动化立体仓库管理监控系统中的指令调度方法
CN102110146A (zh) * 2011-02-16 2011-06-29 清华大学 基于键值key-value存储的分布式文件系统元数据管理方法
CN103164262A (zh) * 2011-12-15 2013-06-19 阿里巴巴集团控股有限公司 一种任务管理方法及装置
JP2014229036A (ja) * 2013-05-22 2014-12-08 日本電信電話株式会社 情報処理装置、情報処理方法、および、情報処理プログラム
CN104239170A (zh) * 2013-06-17 2014-12-24 鸿富锦精密工业(深圳)有限公司 Pci设备测试方法及系统
CN104460675A (zh) * 2014-12-12 2015-03-25 南京林业大学 一种码垛搬运机器人的控制系统
US20150253756A1 (en) * 2012-11-20 2015-09-10 Kabushiki Kaisha Yaskawa Denki Programmable controller
US20160179836A1 (en) * 2014-11-12 2016-06-23 Huawei Technologies Co., Ltd. Method for updating data table of keyvalue database and apparatus for updating table data
CN105844294A (zh) * 2016-03-21 2016-08-10 全球能源互联网研究院 一种基于fcm聚类算法的用电行为分析方法

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5689415A (en) * 1992-06-01 1997-11-18 Ducost Engineering Ltd. Control of paint spraying machines and the like
US5640554A (en) * 1993-10-12 1997-06-17 Fujitsu Limited Parallel merge and sort process method and system thereof
CN1719363A (zh) * 2005-07-27 2006-01-11 艾默生网络能源有限公司 可编程逻辑控制器硬件扩展方法
CN101458512A (zh) * 2007-09-03 2009-06-17 上海精星仓储设备工程有限公司 一种用于自动化立体仓库管理监控系统中的指令调度方法
CN101231525A (zh) * 2008-02-21 2008-07-30 四方电气(集团)有限公司 分布式控制系统dcs控制器实时数据库的实现方法
CN102110146A (zh) * 2011-02-16 2011-06-29 清华大学 基于键值key-value存储的分布式文件系统元数据管理方法
CN103164262A (zh) * 2011-12-15 2013-06-19 阿里巴巴集团控股有限公司 一种任务管理方法及装置
US20150253756A1 (en) * 2012-11-20 2015-09-10 Kabushiki Kaisha Yaskawa Denki Programmable controller
JP2014229036A (ja) * 2013-05-22 2014-12-08 日本電信電話株式会社 情報処理装置、情報処理方法、および、情報処理プログラム
CN104239170A (zh) * 2013-06-17 2014-12-24 鸿富锦精密工业(深圳)有限公司 Pci设备测试方法及系统
US20160179836A1 (en) * 2014-11-12 2016-06-23 Huawei Technologies Co., Ltd. Method for updating data table of keyvalue database and apparatus for updating table data
CN104460675A (zh) * 2014-12-12 2015-03-25 南京林业大学 一种码垛搬运机器人的控制系统
CN105844294A (zh) * 2016-03-21 2016-08-10 全球能源互联网研究院 一种基于fcm聚类算法的用电行为分析方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
SANGEETHA SESHADRI: "Trillion Operations Key-Value Storage Engine:Revisting the Mission Critical Analytics Storage Software Stack", 《2017 IEEE 37TH INTERNATIONAL CONFERENCE ON DISTRIBUTED COMPUTING SYSTEM》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10819777B1 (en) * 2018-11-13 2020-10-27 Amazon Technologies, Inc. Failure isolation in a distributed system
CN112214377A (zh) * 2020-10-21 2021-01-12 新华三信息安全技术有限公司 一种设备管理方法及系统
CN112214377B (zh) * 2020-10-21 2022-09-27 新华三信息安全技术有限公司 一种设备管理方法及系统
CN113836011A (zh) * 2021-09-16 2021-12-24 网易(杭州)网络有限公司 任务列表的处理方法、装置、存储介质及电子设备
CN113836011B (zh) * 2021-09-16 2024-02-23 网易(杭州)网络有限公司 任务列表的处理方法、装置、存储介质及电子设备
CN114253211A (zh) * 2021-12-15 2022-03-29 意欧斯智能科技股份有限公司 一种plc与上位机wcs信号交互验证的方法

Also Published As

Publication number Publication date
CN109960212B (zh) 2020-07-31

Similar Documents

Publication Publication Date Title
CN110472207A (zh) 表单生成方法和装置
CN109960212A (zh) 任务发送方法和装置
CN110245011A (zh) 一种任务调度方法和装置
CN109241033A (zh) 创建实时数据仓库的方法和装置
CN107506218A (zh) 一种配置文件的管理方法及管理系统
CN109446274A (zh) 大数据平台bi元数据管理的方法和装置
CN109981719A (zh) 信息处理方法及其系统、计算机系统和计算机可读介质
CN110019214A (zh) 对数据拆分结果进行校验的方法和装置
CN110473036A (zh) 一种生成订单号的方法和装置
CN110427304A (zh) 用于银行系统的运维方法、装置、电子设备以及介质
CN108628669A (zh) 一种调度机器学习算法任务的方法和装置
CN109978392A (zh) 敏捷软件开发管理方法、装置、电子设备、存储介质
CN111444077A (zh) 一种生成流程节点测试数据的方法和装置
CN110309142A (zh) 规则管理的方法和装置
CN109814957A (zh) 一种用于ios系统的标签添加方法和装置
CN109840534A (zh) 处理事件的方法和装置
CN110019044A (zh) 大数据集群准实时Yarn任务监控分析方法
CN109977139A (zh) 基于类结构化查询语句的数据处理方法和装置
CN110389976A (zh) 一种多接口数据的调度方法和装置
CN108985805A (zh) 一种选择性执行推送任务的方法和装置
CN109271238A (zh) 支持多种编程语言的任务调度装置和方法
CN109218125A (zh) 一种心跳数据交互的方法和系统
CN112947919A (zh) 构建业务模型和处理业务请求的方法和装置
CN110309187A (zh) 一种在saas系统上应用流式计算的方法和装置
CN109976835A (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
TA01 Transfer of patent application right

Effective date of registration: 20190806

Address after: 300 457 days Tianjin Binhai New Area, Tianjin Economic and Technological Development Zone, No. 10 Fourth Avenue, Phase 2, First Floor

Applicant after: Tianjin Jingdong Shentuo Robot Technology Co., Ltd.

Address before: East Building 11, 100195 Beijing city Haidian District xingshikou Road No. 65 west Shan creative garden district 1-4 four layer of 1-4 layer

Applicant before: Beijing Jingdong Shangke Information Technology Co., Ltd.

Applicant before: Beijing Jingdong Century Commerce Co., Ltd.

TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20200603

Address after: Room A1905, 19th floor, No. 2 Building, 18 Kechuang 11th Street, Beijing Daxing District, Beijing

Applicant after: Beijing Jingdong Qianshi Technology Co.,Ltd.

Address before: 300 457 days Tianjin Binhai New Area, Tianjin Economic and Technological Development Zone, No. 10 Fourth Avenue, Phase 2, First Floor

Applicant before: Tianjin Jingdong Shentuo Robot Technology Co.,Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant