CN114285807A - 一种报文信息管理方法、装置、服务器和存储介质 - Google Patents

一种报文信息管理方法、装置、服务器和存储介质 Download PDF

Info

Publication number
CN114285807A
CN114285807A CN202111576878.6A CN202111576878A CN114285807A CN 114285807 A CN114285807 A CN 114285807A CN 202111576878 A CN202111576878 A CN 202111576878A CN 114285807 A CN114285807 A CN 114285807A
Authority
CN
China
Prior art keywords
message
sequence number
server
sending
message sequence
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
CN202111576878.6A
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.)
Agricultural Bank of China
Original Assignee
Agricultural Bank of China
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 Agricultural Bank of China filed Critical Agricultural Bank of China
Priority to CN202111576878.6A priority Critical patent/CN114285807A/zh
Publication of CN114285807A publication Critical patent/CN114285807A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Computer And Data Communications (AREA)

Abstract

本发明实施例公开了一种报文信息管理方法及装置,该方法包括:根据报文发送任务构建报文顺序号后发送给数据库服务器,以通过数据库服务器更新报文发送控制表;若获取到数据库服务器发送的更新失败标识,则通过数据库服务器获取报文状态;若报文状态为处理失败,则对报文顺序号进行増序处理后发送至数据库服务器,直至获取到数据库服务器发送的更新成功标识,或者报文顺序号的发送次数到达预设次数阈值,或者报文顺序号对应的报文状态为处理成功为止。本发明实施例公开的技术方案,实现了服务器集群对报文信息的有效管理,避免了报文信息漏发送,确保了报文信息的唯一性,同时,节省了报文发送占用的物理资源和网络资源。

Description

一种报文信息管理方法、装置、服务器和存储介质
技术领域
本发明实施例涉及网络通信领域,尤其涉及一种报文信息管理方法、装置、服务器和存储介质。
背景技术
随着互联网技术的不断发展,服务器集群已经成为了电子商务领域进行网络通信的设备基础,相比于单一的服务器,服务器集群可以利用多个计算机进行并行计算从而获得较高的计算速度。
服务器集群向外部业务系统发出的报文信息必须遵守有效性和唯一性的要求,即由多台服务器同时发起报文发送流程时,报文有且仅有一次被成功发出;现有技术中,对于服务器集群的报文发送,通常是通过一台或者多台调度服务器将发送报文任务分配到指定应用服务器上,以保证报文不会漏发和重发,或者通过互斥锁来限定同一时间只有一台服务器向外发送报文,又或者服务器集群内通过广播的方式,完成任务协商和信息共享。
但采用调度服务器的方法,不但需要额外占用物理资源,同时一旦调度服务器故障,则报文发送任务无法分配到指定服务器上,造成报文漏发和重发;而通过互斥锁进行多线程访问时,同样容易出现漏发现象,通过广播的方式,完成任务协商和信息共享,则需要占用大量的网络资源。
发明内容
本发明实施例提供了一种报文信息管理方法、装置、服务器和存储介质,以使服务器集群管理发出的报文信息。
第一方面,本发明实施例提供了一种报文信息管理方法,应用于服务器集群的应用服务器中,包括:
根据报文发送任务构建报文顺序号,并将所述报文顺序号发送至所述服务器集群的数据库服务器中,以通过所述数据库服务器更新报文发送控制表;
若获取到所述数据库服务器发送的更新失败标识,则根据预设查询周期,向所述数据库服务器发送报文查询指令,以通过所述数据库服务器,获取所述报文顺序号对应的报文状态;
若所述报文状态为处理失败,则对所述报文顺序号进行増序处理,并将増序处理后的所述报文顺序号发送至数据库服务器,直至获取到所述数据库服务器发送的更新成功标识,或者所述报文顺序号的发送次数到达预设次数阈值,或者所述报文顺序号对应的报文状态为处理成功为止。
第二方面,本发明实施例提供了一种报文信息管理方法,应用于服务器集群的数据库服务器中,包括:
根据所述服务器集群中各应用服务器发出的多个报文顺序号,判断所述多个报文顺序号中是否存在相同报文顺序号;
若确定存在相同报文顺序号,则在所述相同报文顺序号中获取指定报文顺序号,并根据所述指定报文顺序号,更新报文发送控制表;
向所述相同报文顺序号中,除所述指定报文顺序号之外的其它报文顺序号对应的第一应用服务器发送更新失败标识,以使所述第一应用服务器根据预设查询周期发出报文查询指令;
响应于获取所述第一应用服务器发出的报文查询指令,将所述报文查询指令对应的报文状态,发送给所述第一应用服务器。
第三方面,本发明实施例提供了一种报文信息管理装置,应用于服务器集群的应用服务器中,包括:
报文顺序号构建模块,用于根据报文发送任务构建报文顺序号,并将所述报文顺序号发送至所述服务器集群的数据库服务器中,以通过所述数据库服务器更新报文发送控制表;
报文状态查询模块,用于若获取到所述数据库服务器发送的更新失败标识,则根据预设查询周期,向所述数据库服务器发送报文查询指令,以通过所述数据库服务器,获取所述报文顺序号对应的报文状态;
増序处理执行模块,用于若所述报文状态为处理失败,则对所述报文顺序号进行増序处理,并将増序处理后的所述报文顺序号发送至数据库服务器,直至获取到所述数据库服务器发送的更新成功标识,或者所述报文顺序号的发送次数到达预设次数阈值,或者所述报文顺序号对应的报文状态为处理成功为止。
第四方面,本发明实施例提供了一种报文信息管理装置,应用于服务器集群的数据库服务器中,包括:
报文顺序号判断模块,用于根据所述服务器集群中各应用服务器发出的多个报文顺序号,判断所述多个报文顺序号中是否存在相同报文顺序号;
控制表更新执行模块,用于若确定存在相同报文顺序号,则在所述相同报文顺序号中获取指定报文顺序号,并根据所述指定报文顺序号,更新报文发送控制表;
更新标识发出模块,用于向所述相同报文顺序号中,除所述指定报文顺序号之外的其它报文顺序号对应的第一应用服务器发送更新失败标识,以使所述第一应用服务器根据预设查询周期发出报文查询指令;
查询指令获取模块,用于响应于获取所述第一应用服务器发出的报文查询指令,将所述报文查询指令对应的报文状态,发送给所述第一应用服务器。
第五方面,本发明实施例还提供了一种服务器,所述服务器包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例一所述的报文信息管理方法,或者实现本发明实施例二所述的报文信息管理方法。
第六方面,本发明实施例还提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时实现本发明实施例一所述的报文信息管理方法,或者实现本发明实施例二所述的报文信息管理方法。
本发明实施例公开的技术方案,将构建的报文顺序号送至数据库服务器后,通过查询数据库服务器中报文顺序号对应的报文状态,并在报文状态为处理失败时,对报文顺序号进行増序处理后再次发送至数据库服务器,直至获取到数据库服务器发送的更新成功标识,或者报文顺序号的发送次数到达预设次数阈值,或者报文顺序号对应的报文状态为处理成功为止,实现了服务器集群对报文信息的有效管理,避免了报文信息漏发送,确保了报文信息的唯一性,同时,节省了报文发送占用的物理资源和网络资源。
附图说明
图1A是本发明实施例一提供的一种服务器集群的结构框图;
图1B是本发明实施例一提供的一种报文信息管理方法的流程图;
图2A是本发明实施例二提供的一种报文信息管理方法的流程图;
图2B是本发明具体应用场景一提供的一种报文信息管理方法的流程图;
图3是本发明实施例三提供的一种报文信息管理装置的结构框图;
图4是本发明实施例四提供的一种报文信息管理装置的结构框图;
图5是本发明实施例五提供的一种服务器的结构框图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
本发明提供的一种报文信息管理方法,可以应用于包括多个应用服务器100和至少一台数据库服务器200的服务器集群300中,图1A以服务器集群300包括两台应用服务器100和一台数据库服务器200为例,应用服务器100包括读写执行模块101、报文收发模块102和控制模块103;其中,读写执行模块101,与数据库服务器200连接,用于读写数据库服务器200中的报文发送控制表和报文信息表;报文收发模块102,与外部业务系统连接,用于向外部业务系统发送报文信息以及接收外部业务系统发送的报文信息;控制模块103,连接读写执行模块101和报文收发模块102,用于控制读写执行模块101和报文收发模块102的运行;数据库服务器200用于存储服务器集群300的报文收发记录;特别的,服务器集群300还可以包括多台数据库服务器200,将其中一台数据库服务器200作为主数据库服务器,其余数据库服务器作为备份数据库服务器;备份数据库服务器分别与主备份数据库服务器和各个应用服务器连接。
实施例一
图1B为本发明实施例一提供的一种报文信息管理方法的流程图,本实施例可适用于服务器集群中的应用服务器管理报文信息,该方法可以由本发明实施例三中报文信息管理装置来执行,该装置可以通过软件和/或硬件实现,并集成在应用服务器中,该方法具体包括如下步骤:
S110、根据报文发送任务构建报文顺序号,并将所述报文顺序号发送至所述服务器集群的数据库服务器中,以通过所述数据库服务器更新报文发送控制表。
报文发送任务包含了与当前待发送报文相关的业务信息,应用服务器基于上述报文发送任务,构建对应的报文信息,进而通过与外部业务系统的报文通信实现业务往来;报文顺序号可以通过“业务标识+序列号”的形式表示;其中,业务标识可以包括表示报文发送任务的业务类型、业务发起方、业务参与方、业务内容和业务时间等相关业务项的标识信息,业务标识可以作为报文发送任务的身份标识,数据库服务器基于业务标识可以确定各个应用服务器,是针对同一个报文发送任务发送的报文顺序号,还是针对不同的报文发送任务发送的报文顺序号;序列号,表示应用服务器针对当前报文发送任务的发送次数,可以通过报文顺序号的后一位或后多位表示,例如,针对报文发送任务A,第一次向数据库服务器发送报文顺序号时,序列号即为1,第N次向数据库服务器发送报文顺序号时,即序列号即为N。报文发送控制表中记录了报文日期和报文顺序号,具体如表1所示,其中,数据库主键是指数据库的数据表中一列或多列的组合,其值能够唯一地标识表中的每一行,通过数据库主键可确保数据表的实体完整性,在数据表中添加新记录时,数据库服务器通过检查新记录的主键值,确保新记录主键值的唯一性。
表1 报文发送控制表
Figure BDA0003425513700000071
数据库服务器在当前时刻(例如,系统时间可以精确到秒,当前时刻即当前1秒内),获取到多个报文顺序号时,判断上述多个报文顺序号中是否存在相同报文顺序号;如果不存在相同报文顺序号,表明各个应用服务器未执行同一个报文发送任务,此时可以根据各个报文顺序号,分别更新报文发送控制表;如果存在相同报文顺序号,表明该报文顺序号对应的报文发送任务被服务器集群中的多个应用服务器执行,因此,为了确保服务器集群发出报文的唯一性,数据库服务器在相同的各个报文顺序号中,随机获取一个报文顺序号作为指定报文顺序号,并根据该指定报文顺序号更新报文发送控制表。
数据库服务器向上述相同报文顺序号中,除指定报文顺序号之外的其它报文顺序号对应的应用服务器发送更新失败标识,同时向上述相同报文顺序号中,指定报文顺序号对应的应用服务器发送更新成功标识;例如,数据路服务器获取到应用服务器1、应用服务器2、应用服务器3、应用服务器4发送的报文顺序号相同,选择应用服务器3发出的报文顺序号作为指定报文顺序号,向应用服务器3发送更新成功标识,向应用服务器1、应用服务器2和应用服务器4发送更新失败标识。
可选的,在本发明实施例中,在将所述报文顺序号发送至所述服务器集群的数据库服务器中,以通过所述数据库服务器更新报文发送控制表后,还包括:若获取到所述数据库服务器发送的更新成功标识,则根据所述报文发送任务构建报文信息,并将所述报文信息发送至外部业务系统;响应于获取到所述外部业务系统针对所述报文信息的报文回执,将所述报文回执发送至所述数据库服务器,以通过所述数据库服务器更新报文信息表。
具体的,如果本机获取到数据库服务器发送的更新成功标识,例如,本机为上述技术方案中的应用服务器3时,本机根据报文发送任务生成报文信息;其中,报文信息可以包括报文编号和附加信息;本机将生成的报文信息发送给外部业务系统,并接收外部业务系统发送的针对该报文信息的报文回执;如果报文回执中的返回值(RESULT值)为“SUCC”(处理成功),表示该报文信息被外部业务系统正常处理;如果报文回执中的返回值为“FAILED”(处理失败),表示该报文信息未被外部业务系统正常处理;此时,本机根据上述报文回执,更新数据库服务器的报文信息表,即将日期、报文顺序号、报文编号、状态和附加信息填写至报文信息表中,具体如表2所示;其中,“日期”、“报文顺序号”、“附加信息”、“报文编号”可以根据本机生成的报文信息填写,“状态”根据报文回执中的返回值填写。
表2 报文信息表
Figure BDA0003425513700000081
Figure BDA0003425513700000091
S120、若获取到所述数据库服务器发送的更新失败标识,则根据预设查询周期,向所述数据库服务器发送报文查询指令,以通过所述数据库服务器,获取所述报文顺序号对应的报文状态。
预设查询周期是预先设定的执行查询操作的等待间隔时间,例如,可以将预设查询周期设定为60秒;如果应用服务器获取到数据库服务器发送的更新失败标识,例如,本机为上述技术方案中的应用服务器1,本机经过一个预设查询周期后,向数据库服务器发送报文查询指令;数据库服务器在获取到报文查询指令后,将该报文查询指令对应的报文顺序号的报文状态发送给本机。
可选的,在本发明实施例中,在根据预设查询周期,向所述数据库服务器发送报文查询指令,以通过所述数据库服务器,获取所述报文顺序号对应的报文状态后,还包括:若所述报文状态为处理成功,则删除所述报文发送任务。如果该报文顺序号对应的报文状态为处理成功,表明当前报文发送任务已由本机之外的其它应用服务器处理,且该报文发送任务的报文信息也被外部业务系统正常处理,因此,删除当前报文发送任务,避免报文信息的重复发送,确保服务器集群发出的报文信息的唯一性。
S130、若所述报文状态为处理失败,则对所述报文顺序号进行増序处理,并将増序处理后的所述报文顺序号发送至数据库服务器,直至获取到所述数据库服务器发送的更新成功标识,或者所述报文顺序号的发送次数到达预设次数阈值,或者所述报文顺序号对应的报文状态为处理成功为止。
如果本机获取到该报文顺序号对应的报文状态为处理失败,表明当前报文发送任务虽然被本机之外的其它应用服务器处理,但该报文发送任务的报文信息并未被外部业务系统正常处理,为了确保报文信息的有效性,将报文顺序号进行増序处理,也即将报文顺序号中的序列号进行加1处理,业务标识保持不变,并将该报文顺序号再次发送至数据库服务器,直至获取到数据库服务器发送的更新成功标识(也即此时本机抢占数据库服务器资源成功,数据库服务器将本机发出的报文顺序号作为指定顺序号),或者报文顺序号对应的报文状态为处理成功(即此时本机虽然抢占数据库服务器资源未成功,但当前报文发送任务的报文信息已由其它应用服务器发出,且被外部系统正常处理),或者报文顺序号的发送次数到达预设次数阈值。
其中,预设次数阈值等于上述相同报文顺序号的个数,以上述技术方案为例,数据路服务器获取到应用服务器1、应用服务器2、应用服务器3、应用服务器4发送的报文顺序号相同,预设次数阈值也相应的为4次,也即此时与相同报文顺序号相关的各个应用服务器均已先后抢占数据库服务器资源成功,但各个应用服务器先后发出的报文信息均未被外部业务系统正常处理,此时本机发出报警提示,以提示服务器集群可能存在通信故障,或者外部业务系统存在通信故障。
仍以上述技术方案为例,数据库服务器同时获取由应用服务器1、应用服务器2、应用服务器3和应用服务器4发出的报文顺序号,且由应用服务器1、应用服务器2、应用服务器3和应用服务器4发出报文顺序号相同;如果应用服务器3根据当前报文发送任务,第一次发出报文顺序号(即报文顺序号的序列号为1)后,即获取到数据库服务器发送的更新成功标识,且本机向外部业务系统发送报文信息后,获取到的报文回执中返回值为“SUCC”;具体过程可以如下:首先,应用服务器1、应用服务器2、应用服务器3和应用服务器4发出的报文顺序号均为“ABCD1”;其中,“ABCD”为业务标识,“1”为序列号;数据库服务器选择应用服务器3作为选中的节点,即数据库服务器将应用服务器3发出的报文顺序号作为指定报文顺序号;应用服务器3根据报文发送任务向外部业务系统发送报文信息,且获取到的报文回执为“SUCC”,应用服务器3根据上述报文回执更新数据库服务器的报文信息表;然后,应用服务器1、应用服务器2、应用服务器4在第一次发送报文顺序号未被选中后,经过预设查询周期,查询报文顺序号“ABCD1”下的报文状态;当获取到报文状态为“SUCC”时,各自分别删除自己当前的发送报文任务。
如果应用服务器3根据当前报文发送任务,第一次发出报文顺序号后,即获取到数据库服务器发送的更新成功标识,且本机向外部业务系统发送报文信息后,获取到的报文回执中返回值为“FAILED”;具体过程可以如下:首先,应用服务器1、应用服务器2、应用服务器3和应用服务器4发出的报文顺序号均为“ABCD1”;数据库服务器选择应用服务器3作为选中的节点,即数据库服务器将应用服务器3发出的报文顺序号作为指定报文顺序号,应用服务器3根据报文发送任务向外部业务系统发送报文信息,且获取到的报文回执为“FAILED”,应用服务器3根据上述报文回执更新数据库服务器的报文信息表。
其次,应用服务器1、应用服务器2、应用服务器4在第一次发送报文顺序号未被选中后,经过预设查询周期,查询报文顺序号“ABCD1”下的报文状态为“FAILED”,应用服务器1、应用服务器2、应用服务器4将报文顺序号进行加1处理,即应用服务器1、应用服务器2、应用服务器4,再次发出报文顺序号“ABCD2”,数据库服务器获取到上述三个报文顺序号“ABCD2”后,将应用服务器1发出的报文顺序号“ABCD2”,作为指定报文顺序号;应用服务器1根据报文发送任务向外部业务系统发送报文信息,且获取到的报文回执为“FAILED”,应用服务器1根据上述报文回执更新数据库服务器的报文信息表。
然后,应用服务器2和应用服务器4在第二次发送报文顺序号未被选中后,再经过预设查询周期,查询报文顺序号“ABCD2”下的报文状态为“FAILED”,应用服务器2和应用服务器4将报文顺序号进行加1处理,即应用服务器2和应用服务器4,再次发出报文顺序号“ABCD3”,数据库服务器获取到上述两个报文顺序号“ABCD3”后,将应用服务器4发出的报文顺序号“ABCD3”,作为指定报文顺序号;应用服务器4根据报文发送任务向外部业务系统发送报文信息,且获取到的报文回执为“FAILED”,应用服务器4根据上述报文回执更新数据库服务器的报文信息表。
最后,应用服务器2在第三次发送报文顺序号未被选中后,再经过预设查询周期,查询报文顺序号“ABCD3”下的报文状态为“FAILED”,应用服务器2将报文顺序号进行加1处理,即应用服务器2再次发出报文顺序号“ABCD4”,数据库服务器将上述“ABCD4”作为指定报文顺序号;应用服务器2根据报文发送任务向外部业务系统发送报文信息,且获取到的报文回执为“SUCC”,应用服务器2根据上述报文回执更新数据库服务器的报文信息表。
本发明实施例公开的技术方案,将构建的报文顺序号送至数据库服务器后,通过查询数据库服务器中报文顺序号对应的报文状态,并在报文状态为处理失败时,对报文顺序号进行増序处理后再次发送至数据库服务器,直至获取到数据库服务器发送的更新成功标识,或者报文顺序号的发送次数到达预设次数阈值,或者报文顺序号对应的报文状态为处理成功为止,实现了服务器集群对报文信息的有效管理,避免了报文信息漏发送,确保了报文信息的唯一性,同时,节省了报文发送占用的物理资源和网络资源。
实施例二
图2A为本发明实施例二提供的一种报文信息管理方法的流程图,本实施例可适用于服务器集群中的数据库服务器管理报文信息,该方法可以由本发明实施例四中的报文信息管理装置来执行,该装置可以通过软件和/或硬件实现,并集成在数据库服务器中,该方法具体包括如下步骤:
S210、根据所述服务器集群中各应用服务器发出的多个报文顺序号,判断所述多个报文顺序号中是否存在相同报文顺序号。
S220、若确定存在相同报文顺序号,则在所述相同报文顺序号中获取指定报文顺序号,并根据所述指定报文顺序号,更新报文发送控制表。
可选的,在本发明实施例中,在根据所述指定报文顺序号,更新报文发送控制表后,还包括:向所述相同报文顺序号中,所述指定报文顺序号对应的第二应用服务器发送更新成功标识,以使所述第二应用服务器构建报文信息,并通过所述第二应用服务器将所述报文信息发送至外部业务系统;响应于获取到所述第二应用服务器发送的所述报文信息的报文回执,根据所述报文回执更新报文信息表。
可选的,在本发明实施例中,所述在所述相同报文顺序号中获取指定报文顺序号,包括:获取所述相同报文顺序号对应的各应用服务器的历史报文记录,并根据所述历史报文记录获取报文信息发送次数最少的目标应用服务器;将所述目标应用服务器发出的报文顺序号,作为指定报文顺序号。将上述各个应用服务器中报文信息的发送次数最少的以应用服务器,作为目标应用服务器,并通过目标应用服务器发出报文信息,以确保服务器集群中各应用服务器的负载均衡。
S230、向所述相同报文顺序号中,除所述指定报文顺序号之外的其它报文顺序号对应的第一应用服务器发送更新失败标识,以使所述第一应用服务器根据预设查询周期发出报文查询指令。
S240、响应于获取所述第一应用服务器发出的报文查询指令,将所述报文查询指令对应的报文状态,发送给所述第一应用服务器。
本发明实施例公开的技术方案,根据服务器集群中各应用服务器发出的多个报文顺序号,判断多个报文顺序号中是否存在相同报文顺序号,并在确定存在相同报文顺序号,根据其中的指定报文顺序号,更新报文发送控制表,进而指定报文顺序号之外的其它报文顺序号对应的第一应用服务器发送更新失败标识,响应于获取第一应用服务器发出的报文查询指令,将报文查询指令对应的报文状态,发送给第一应用服务器,实现了服务器集群对报文信息的有效管理,避免了报文信息漏发送,确保了报文信息的唯一性,同时,节省了报文发送占用的物理资源和网络资源。
具体应用场景一
图2B为本具体应用场景一提供的一种报文信息管理方法的流程图,该方法应用于服务器集群的应用服务器中,本发明实施例在上述技术方案的基础上进行具体化,具体的,该方法包括如下步骤:
S301、根据报文发送任务构建报文顺序号;执行S302。
S302、根据报文顺序号,通过数据库服务器更新报文发送控制表;执行S303。
S303、判断是否获取到更新成功标识;若是,执行S304;若否,执行S310。
S304、根据报文发送任务构建报文信息;执行S305。
S305、将报文信息发送至外部业务系统;执行S306。
S306、接收报文信息的报文回执;执行S307。
S307、判断报文信息是否被正常处理;若是,执行S308;若否,执行S309。
S308、通过数据库服务器更新报文信息表中该报文信息的状态为处理成功;若是,执行S313。
S309、通过数据库服务器更新报文信息表中该报文信息的状态为处理失败;若是,执行S313。
S310、根据预设查询周期,通过数据库服务器,获取该报文顺序号对应的报文状态;执行S311。
S311、判断报文状态是否为处理成功;若是,执行S313;若否,执行S312。
S312、将报文顺序号进行増序加1处理;执行S302。
S313、结束。
本发明实施例公开的技术方案,将构建的报文顺序号送至数据库服务器后,通过查询数据库服务器中报文顺序号对应的报文状态,并在报文状态为处理失败时,对报文顺序号进行増序处理后再次发送至数据库服务器,直至获取到数据库服务器发送的更新成功标识,或者报文顺序号的发送次数到达预设次数阈值,或者报文顺序号对应的报文状态为处理成功为止,实现了服务器集群对报文信息的有效管理,避免了报文信息漏发送,确保了报文信息的唯一性,同时,节省了报文发送占用的物理资源和网络资源。
实施例三
图3是本发明实施例三所提供的一种报文信息管理装置的结构框图,该装置应用于服务器集群的应用服务器中,具体包括:报文顺序号构建模块310、报文状态查询模块320和増序处理执行模块330。
报文顺序号构建模块310,用于根据报文发送任务构建报文顺序号,并将所述报文顺序号发送至所述服务器集群的数据库服务器中,以通过所述数据库服务器更新报文发送控制表;
报文状态查询模块320,用于若获取到所述数据库服务器发送的更新失败标识,则根据预设查询周期,向所述数据库服务器发送报文查询指令,以通过所述数据库服务器,获取所述报文顺序号对应的报文状态;
増序处理执行模块330,用于若所述报文状态为处理失败,则对所述报文顺序号进行増序处理,并将増序处理后的所述报文顺序号发送至数据库服务器,直至获取到所述数据库服务器发送的更新成功标识,或者所述报文顺序号的发送次数到达预设次数阈值,或者所述报文顺序号对应的报文状态为处理成功为止。
本发明实施例公开的技术方案,将构建的报文顺序号送至数据库服务器后,通过查询数据库服务器中报文顺序号对应的报文状态,并在报文状态为处理失败时,对报文顺序号进行増序处理后再次发送至数据库服务器,直至获取到数据库服务器发送的更新成功标识,或者报文顺序号的发送次数到达预设次数阈值,或者报文顺序号对应的报文状态为处理成功为止,实现了服务器集群对报文信息的有效管理,避免了报文信息漏发送,确保了报文信息的唯一性,同时,节省了报文发送占用的物理资源和网络资源。
可选的,在上述技术方案的基础上,报文信息管理装置,还包括:
任务删除模块,用于若所述报文状态为处理成功,则删除所述报文发送任务。
可选的,在上述技术方案的基础上,报文信息管理装置,还包括:
报文信息发出模块,用于若获取到所述数据库服务器发送的更新成功标识,则根据所述报文发送任务构建报文信息,并将所述报文信息发送至外部业务系统;
报文回执接收模块,用于响应于获取到所述外部业务系统针对所述报文信息的报文回执,将所述报文回执发送至所述数据库服务器,以通过所述数据库服务器更新报文信息表。
上述装置可执行本发明实施例一所提供的报文信息管理方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明实施例一提供的报文信息管理方法。
实施例四
图4是本发明实施例四所提供的一种报文信息管理装置的结构框图,该装置应用于服务器集群的数据库服务器中,具体包括:报文顺序号判断模块410、控制表更新执行模块420、更新标识发出模块430和查询指令获取模块440。
报文顺序号判断模块410,用于根据所述服务器集群中各应用服务器发出的多个报文顺序号,判断所述多个报文顺序号中是否存在相同报文顺序号;
控制表更新执行模块420,用于若确定存在相同报文顺序号,则在所述相同报文顺序号中获取指定报文顺序号,并根据所述指定报文顺序号,更新报文发送控制表;
更新标识发出模块430,用于向所述相同报文顺序号中,除所述指定报文顺序号之外的其它报文顺序号对应的第一应用服务器发送更新失败标识,以使所述第一应用服务器根据预设查询周期发出报文查询指令;
查询指令获取模块440,用于响应于获取所述第一应用服务器发出的报文查询指令,将所述报文查询指令对应的报文状态,发送给所述第一应用服务器。
本发明实施例公开的技术方案,根据服务器集群中各应用服务器发出的多个报文顺序号,判断多个报文顺序号中是否存在相同报文顺序号,并在确定存在相同报文顺序号,根据其中的指定报文顺序号,更新报文发送控制表,进而指定报文顺序号之外的其它报文顺序号对应的第一应用服务器发送更新失败标识,响应于获取第一应用服务器发出的报文查询指令,将报文查询指令对应的报文状态,发送给第一应用服务器,实现了服务器集群对报文信息的有效管理,避免了报文信息漏发送,确保了报文信息的唯一性,同时,节省了报文发送占用的物理资源和网络资源。
可选的,在上述技术方案的基础上,更新标识发出模块430,还用于向所述相同报文顺序号中,所述指定报文顺序号对应的第二应用服务器发送更新成功标识,以使所述第二应用服务器构建报文信息,并通过所述第二应用服务器将所述报文信息发送至外部业务系统。
可选的,在上述技术方案的基础上,报文信息管理装置,还包括;
报文回执获取模块,用于响应于获取到所述第二应用服务器发送的所述报文信息的报文回执,根据所述报文回执更新报文信息表。
可选的,在上述技术方案的基础上,控制表更新执行模块420,具体包括:
历史报文记录获取单元,用于获取所述相同报文顺序号对应的各应用服务器的历史报文记录,并根据所述历史报文记录获取报文信息发送次数最少的目标应用服务器;
指定报文顺序号获取单元,用于将所述目标应用服务器发出的报文顺序号,作为指定报文顺序号。
上述装置可执行本发明实施例二所提供的报文信息管理方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明实施例二提供的报文信息管理方法。
实施例五
图5为本发明实施例五提供的一种服务器的结构示意图。图5示出了适于用来实现本发明实施方式的示例性服务器12的框图。图5显示的服务器12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图5所示,服务器12以通用计算机设备的形式表现。服务器12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,存储器28,连接不同系统组件(包括存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
服务器12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被服务器12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。服务器12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图5未显示,通常称为“硬盘驱动器”)。尽管图5中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
服务器12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该服务器12交互的设备通信,和/或与使得该服务器12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,服务器12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与服务器12的其它模块通信。应当明白,尽管图中未示出,可以结合服务器12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理单元16通过运行存储在存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例一所提供的报文信息管理方法,或者实施例二所提供的报文信息管理方法。也即:根据报文发送任务构建报文顺序号,并将所述报文顺序号发送至所述服务器集群的数据库服务器中,以通过所述数据库服务器更新报文发送控制表;若获取到所述数据库服务器发送的更新失败标识,则根据预设查询周期,向所述数据库服务器发送报文查询指令,以通过所述数据库服务器,获取所述报文顺序号对应的报文状态;若所述报文状态为处理失败,则对所述报文顺序号进行増序处理,并将増序处理后的所述报文顺序号发送至数据库服务器,直至获取到所述数据库服务器发送的更新成功标识,或者所述报文顺序号的发送次数到达预设次数阈值,或者所述报文顺序号对应的报文状态为处理成功为止。或者根据所述服务器集群中各应用服务器发出的多个报文顺序号,判断所述多个报文顺序号中是否存在相同报文顺序号;若确定存在相同报文顺序号,则在所述相同报文顺序号中获取指定报文顺序号,并根据所述指定报文顺序号,更新报文发送控制表;向所述相同报文顺序号中,除所述指定报文顺序号之外的其它报文顺序号对应的第一应用服务器发送更新失败标识,以使所述第一应用服务器根据预设查询周期发出报文查询指令;响应于获取所述第一应用服务器发出的报文查询指令,将所述报文查询指令对应的报文状态,发送给所述第一应用服务器。
实施例六
本发明实施例六还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明实施例一所述的报文信息管理方法,或者实现如本发明实施例二所述的报文信息管理方法;该方法包括:
根据报文发送任务构建报文顺序号,并将所述报文顺序号发送至所述服务器集群的数据库服务器中,以通过所述数据库服务器更新报文发送控制表;
若获取到所述数据库服务器发送的更新失败标识,则根据预设查询周期,向所述数据库服务器发送报文查询指令,以通过所述数据库服务器,获取所述报文顺序号对应的报文状态;
若所述报文状态为处理失败,则对所述报文顺序号进行増序处理,并将増序处理后的所述报文顺序号发送至数据库服务器,直至获取到所述数据库服务器发送的更新成功标识,或者所述报文顺序号的发送次数到达预设次数阈值,或者所述报文顺序号对应的报文状态为处理成功为止。
或者根据所述服务器集群中各应用服务器发出的多个报文顺序号,判断所述多个报文顺序号中是否存在相同报文顺序号;若确定存在相同报文顺序号,则在所述相同报文顺序号中获取指定报文顺序号,并根据所述指定报文顺序号,更新报文发送控制表;向所述相同报文顺序号中,除所述指定报文顺序号之外的其它报文顺序号对应的第一应用服务器发送更新失败标识,以使所述第一应用服务器根据预设查询周期发出报文查询指令;响应于获取所述第一应用服务器发出的报文查询指令,将所述报文查询指令对应的报文状态,发送给所述第一应用服务器。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (10)

1.一种报文信息管理方法,其特征在于,应用于服务器集群的应用服务器中,包括:
根据报文发送任务构建报文顺序号,并将所述报文顺序号发送至所述服务器集群的数据库服务器中,以通过所述数据库服务器更新报文发送控制表;
若获取到所述数据库服务器发送的更新失败标识,则根据预设查询周期,向所述数据库服务器发送报文查询指令,以通过所述数据库服务器,获取所述报文顺序号对应的报文状态;
若所述报文状态为处理失败,则对所述报文顺序号进行増序处理,并将増序处理后的所述报文顺序号发送至数据库服务器,直至获取到所述数据库服务器发送的更新成功标识,或者所述报文顺序号的发送次数到达预设次数阈值,或者所述报文顺序号对应的报文状态为处理成功为止。
2.根据权利要求1所述的方法,其特征在于,在根据预设查询周期,向所述数据库服务器发送报文查询指令,以通过所述数据库服务器,获取所述报文顺序号对应的报文状态后,还包括:
若所述报文状态为处理成功,则删除所述报文发送任务。
3.根据权利要求1所述的方法,其特征在于,在将所述报文顺序号发送至所述服务器集群的数据库服务器中,以通过所述数据库服务器更新报文发送控制表后,还包括:
若获取到所述数据库服务器发送的更新成功标识,则根据所述报文发送任务构建报文信息,并将所述报文信息发送至外部业务系统;
响应于获取到所述外部业务系统针对所述报文信息的报文回执,将所述报文回执发送至所述数据库服务器,以通过所述数据库服务器更新报文信息表。
4.一种报文信息管理方法,其特征在于,应用于服务器集群的数据库服务器中,包括:
根据所述服务器集群中各应用服务器发出的多个报文顺序号,判断所述多个报文顺序号中是否存在相同报文顺序号;
若确定存在相同报文顺序号,则在所述相同报文顺序号中获取指定报文顺序号,并根据所述指定报文顺序号,更新报文发送控制表;
向所述相同报文顺序号中,除所述指定报文顺序号之外的其它报文顺序号对应的第一应用服务器发送更新失败标识,以使所述第一应用服务器根据预设查询周期发出报文查询指令;
响应于获取所述第一应用服务器发出的报文查询指令,将所述报文查询指令对应的报文状态,发送给所述第一应用服务器。
5.根据权利要求4所述的方法,其特征在于,在根据所述指定报文顺序号,更新报文发送控制表后,还包括:
向所述相同报文顺序号中,所述指定报文顺序号对应的第二应用服务器发送更新成功标识,以使所述第二应用服务器构建报文信息,并通过所述第二应用服务器将所述报文信息发送至外部业务系统;
响应于获取到所述第二应用服务器发送的所述报文信息的报文回执,根据所述报文回执更新报文信息表。
6.根据权利要求4所述的方法,其特征在于,所述在所述相同报文顺序号中获取指定报文顺序号,包括:
获取所述相同报文顺序号对应的各应用服务器的历史报文记录,并根据所述历史报文记录获取报文信息发送次数最少的目标应用服务器;
将所述目标应用服务器发出的报文顺序号,作为指定报文顺序号。
7.一种报文信息管理装置,其特征在于,应用于服务器集群的应用服务器中,包括:
报文顺序号构建模块,用于根据报文发送任务构建报文顺序号,并将所述报文顺序号发送至所述服务器集群的数据库服务器中,以通过所述数据库服务器更新报文发送控制表;
报文状态查询模块,用于若获取到所述数据库服务器发送的更新失败标识,则根据预设查询周期,向所述数据库服务器发送报文查询指令,以通过所述数据库服务器,获取所述报文顺序号对应的报文状态;
増序处理执行模块,用于若所述报文状态为处理失败,则对所述报文顺序号进行増序处理,并将増序处理后的所述报文顺序号发送至数据库服务器,直至获取到所述数据库服务器发送的更新成功标识,或者所述报文顺序号的发送次数到达预设次数阈值,或者所述报文顺序号对应的报文状态为处理成功为止。
8.一种报文信息管理装置,其特征在于,应用于服务器集群的数据库服务器中,包括:
报文顺序号判断模块,用于根据所述服务器集群中各应用服务器发出的多个报文顺序号,判断所述多个报文顺序号中是否存在相同报文顺序号;
控制表更新执行模块,用于若确定存在相同报文顺序号,则在所述相同报文顺序号中获取指定报文顺序号,并根据所述指定报文顺序号,更新报文发送控制表;
更新标识发出模块,用于向所述相同报文顺序号中,除所述指定报文顺序号之外的其它报文顺序号对应的第一应用服务器发送更新失败标识,以使所述第一应用服务器根据预设查询周期发出报文查询指令;
查询指令获取模块,用于响应于获取所述第一应用服务器发出的报文查询指令,将所述报文查询指令对应的报文状态,发送给所述第一应用服务器。
9.一种服务器,其特征在于,所述服务器包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-3中任一所述的报文信息管理方法,或者实现如权利要求4-6中任一所述的报文信息管理方法。
10.一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行权利要求1-3中任一所述的报文信息管理方法,或者执行权利要求4-6中任一所述的报文信息管理方法。
CN202111576878.6A 2021-12-22 2021-12-22 一种报文信息管理方法、装置、服务器和存储介质 Pending CN114285807A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111576878.6A CN114285807A (zh) 2021-12-22 2021-12-22 一种报文信息管理方法、装置、服务器和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111576878.6A CN114285807A (zh) 2021-12-22 2021-12-22 一种报文信息管理方法、装置、服务器和存储介质

Publications (1)

Publication Number Publication Date
CN114285807A true CN114285807A (zh) 2022-04-05

Family

ID=80873921

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111576878.6A Pending CN114285807A (zh) 2021-12-22 2021-12-22 一种报文信息管理方法、装置、服务器和存储介质

Country Status (1)

Country Link
CN (1) CN114285807A (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017067215A1 (zh) * 2015-10-21 2017-04-27 深圳市中兴微电子技术有限公司 众核网络处理器及其微引擎的报文调度方法、系统、存储介质
CN111611134A (zh) * 2020-05-21 2020-09-01 中国建设银行股份有限公司 一种时间监控方法、装置、应用端及存储介质
CN112511449A (zh) * 2019-09-16 2021-03-16 华为技术有限公司 一种报文流乱序检测方法、报文处理方法及装置
CN112753198A (zh) * 2018-09-30 2021-05-04 华为技术有限公司 在网络中的负载均衡和报文重排序方法及装置
CN112953769A (zh) * 2021-02-10 2021-06-11 中国工商银行股份有限公司 数据传输方法、装置、计算机系统及可读存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017067215A1 (zh) * 2015-10-21 2017-04-27 深圳市中兴微电子技术有限公司 众核网络处理器及其微引擎的报文调度方法、系统、存储介质
CN112753198A (zh) * 2018-09-30 2021-05-04 华为技术有限公司 在网络中的负载均衡和报文重排序方法及装置
CN112511449A (zh) * 2019-09-16 2021-03-16 华为技术有限公司 一种报文流乱序检测方法、报文处理方法及装置
CN111611134A (zh) * 2020-05-21 2020-09-01 中国建设银行股份有限公司 一种时间监控方法、装置、应用端及存储介质
CN112953769A (zh) * 2021-02-10 2021-06-11 中国工商银行股份有限公司 数据传输方法、装置、计算机系统及可读存储介质

Similar Documents

Publication Publication Date Title
CN110968586B (zh) 分布式事务处理方法及装置
CN109710190B (zh) 一种数据存储方法、装置、设备及存储介质
CN112836152B (zh) 页面渲染方法、系统、计算机设备及计算机可读存储介质
CN113204345A (zh) 页面生成方法、装置、电子设备及存储介质
CN111338834B (zh) 数据存储方法和装置
CN105373563B (zh) 数据库切换方法及装置
CN109271193B (zh) 一种数据处理方法、装置、设备及存储介质
CN111282263A (zh) 事件消息的处理方法、装置、电子设备及可读存储介质
CN114584618A (zh) 信息交互方法、装置、设备、存储介质和系统
CN113326146A (zh) 一种消息处理方法、装置、电子设备及存储介质
CN111049913B (zh) 数据文件的传输方法及装置、存储介质、电子设备
CN111679892A (zh) 分布式事务的处理方法、装置、设备及介质
CN111309693A (zh) 一种数据同步方法、装置、系统、电子设备及存储介质
CN111367948A (zh) 数据处理方法、装置、电子设备及计算机可读存储介质
CN114285807A (zh) 一种报文信息管理方法、装置、服务器和存储介质
CN115934378A (zh) 业务数据处理方法、装置、电子设备和存储介质
US10728323B2 (en) Method and apparatus for operating infrastructure layer in cloud computing architecture
CN112860746B (zh) 一种基于缓存削减的方法、设备及系统
CN112995932B (zh) 基于哈希算法的短信链路监控方法、装置、设备及介质
CN111405015B (zh) 一种数据处理方法、装置、设备及存储介质
CN113760986A (zh) 一种数据查询方法、装置、设备及存储介质
CN114036218A (zh) 一种数据模型切换方法、装置、服务器和存储介质
CN101523352A (zh) 用于并发控制的持久锁/资源
CN114036195A (zh) 一种数据请求处理方法、装置、服务器和存储介质
CN109309583B (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