CN112132685B - 信息处理方法及装置、计算机设备及计算机可读存储介质 - Google Patents
信息处理方法及装置、计算机设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN112132685B CN112132685B CN202011049113.2A CN202011049113A CN112132685B CN 112132685 B CN112132685 B CN 112132685B CN 202011049113 A CN202011049113 A CN 202011049113A CN 112132685 B CN112132685 B CN 112132685B
- Authority
- CN
- China
- Prior art keywords
- license plate
- plate information
- information
- memory queue
- current
- 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.)
- Active
Links
- 230000010365 information processing Effects 0.000 title claims abstract description 52
- 238000003672 processing method Methods 0.000 title claims abstract description 33
- 238000003860 storage Methods 0.000 title claims abstract description 13
- 238000000034 method Methods 0.000 claims abstract description 54
- 230000008569 process Effects 0.000 claims abstract description 44
- 230000002045 lasting effect Effects 0.000 claims abstract description 6
- 238000004590 computer program Methods 0.000 claims description 16
- 238000004519 manufacturing process Methods 0.000 claims description 14
- 230000002688 persistence Effects 0.000 claims description 10
- 238000004891 communication Methods 0.000 claims description 9
- 238000001514 detection method Methods 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 5
- 230000002085 persistent effect Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 241000283973 Oryctolagus cuniculus Species 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000011435 rock Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Development Economics (AREA)
- General Business, Economics & Management (AREA)
- Technology Law (AREA)
- Strategic Management (AREA)
- Marketing (AREA)
- Economics (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种信息处理方法及装置、计算机设备及计算机可读存储介质,该方法包括:将接收到的牌价信息推送至消息队列中;将消息队列中的牌价信息持久化到数据库表中;利用长挂进程将数据库表中的牌价信息读取到内存队列中;多线程调用dubbo服务,以确定是否根据内存队列中的牌价信息更新牌价信息表中的当前牌价信息。本发明基于分布式架构多实例接收牌价信息,同时多线程并发处理牌价信息更新,既可以提高牌价接收的效率,又能够将最新的牌价信息更新牌价信息表中,提高牌价接收的准确性。
Description
技术领域
本发明涉及信息处理技术领域,尤其涉及信息处理方法及装置、计算机设备及计算机可读存储介质。
背景技术
本部分旨在为权利要求书中陈述的本发明实施例提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
牌价信息是指外汇兑换挂牌价信息,是各银行根据中国人民银行公布的人民币市场中间价以及国际外汇市场行情,指定的各种外币与人民币之间的买卖价格。对于银行核心系统来说,外币兑换业务是一直以来的重要业务,其主要依据的接收到的牌价信息。
目前,其它各行系统需要将其牌价信息不断的发送至核心银行系统,以便核心银行系统对牌价信息进行接收和处理。然而,部分银行系统会频繁的下发牌价信息至核心银行系统。部分银行系统频繁的下发牌价信息,一方面会使得核心银行系统接收牌价信息的效率降低,另一方面银行核心系统接收到的牌价信息可能不是最新的,导致核心银行系统接收到的牌价信息不准确。
因此,现有核心银行系统接收牌价信息时存在接收效率低及准确率低的问题。
发明内容
本发明实施例提供一种信息处理方法,用以提高接收牌价信息的效率及准确性,应用于基于分布式架构的银行核心系统,该信息处理方法包括:
将接收到的牌价信息推送至消息队列中;
将消息队列中的牌价信息持久化到数据库表中;
利用长挂进程将数据库表中的牌价信息读取到内存队列中;
多线程调用dubbo服务,以确定是否根据内存队列中的牌价信息更新牌价信息表中的当前牌价信息。
本发明实施例还提供一种信息处理装置,用以提高接收牌价信息的效率及准确性,应用于基于分布式架构的银行核心系统,该信息处理装置包括:
推送模块,用于将接收到的牌价信息推送至消息队列中;
持久化模块,用于将消息队列中的牌价信息持久化到数据库表中;
读取模块,用于利用长挂进程将数据库表中的牌价信息读取到内存队列中;
更新判断模块,用于多线程调用dubbo服务,以确定是否根据内存队列中的牌价信息更新牌价信息表中的当前牌价信息。
本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述信息处理方法。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述信息处理方法的计算机程序。
本发明实施例中,将接收到的牌价信息推送至消息队列中;将消息队列中的牌价信息持久化到数据库表中;利用长挂进程将数据库表中的牌价信息读取到内存队列中;多线程调用dubbo服务,以确定是否根据内存队列中的牌价信息更新牌价信息表中的当前牌价信息。本发明实施例基于分布式架构多实例接收牌价信息,同时多线程并发处理牌价信息更新,既可以提高牌价接收的效率,又能够将最新的牌价信息更新牌价信息表中,提高牌价接收的准确性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1为本发明实施例提供的信息处理方法的实现流程图;
图2为本发明实施例提供的信息处理方法中步骤101的实现流程图;
图3为本发明实施例提供的信息处理方法中步骤103的实现流程图;
图4为本发明实施例提供的信息处理方法中步骤104的实现流程图;
图5为本发明实施例提供的信息处理方法中步骤104的另一实现流程图;
图6为本发明实施例提供的信息处理装置的功能模块图;
图7为本发明实施例提供的信息处理装置中推送模块601的结构框图;
图8为本发明实施例提供的信息处理装置中读取模块603的结构框图;
图9为本发明实施例提供的信息处理装置中更新判断模块604的结构框图;
图10为本发明实施例提供的信息处理装置中更新判断模块604的另一结构框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
图1示出了本发明实施例提供的信息处理方法的实现流程,为便于描述,仅示出了与本发明实施例相关的部分,详述如下:
如图1所示,信息处理方法,应用于基于分布式架构的核心银行系统中,信息处理方法包括:
步骤101,将接收到的牌价信息推送至消息队列中;
步骤102,将消息队列中的牌价信息持久化到数据库表中;
步骤103,利用长挂进程将数据库表中的牌价信息读取到内存队列中;
步骤104,多线程调用dubbo服务,以确定是否根据内存队列中的牌价信息更新牌价信息表中的当前牌价信息。
在接收牌价信息时,核心银行系统采用分布式架构、轻量级的核心银行系统,相较于以往的大型主机,分布式架构、轻量级的核心银行系统具有更低的成本,同时能够更加高效的接收牌价信息。
具体的,银行核心系统在接收到牌价信息后,将接收到的牌价信息推送至消息队列中。消息队列(Message Queue,简称MQ)是消息传输过程中保存消息的容器,是分布式系统的重要组件,主要用于解决应用耦合、异步消息及流量削锋等问题。消息队列主要包括Active MQ、Rabbit MQ、Zero MQ、Kafka、Meta MQ及Rocket MQ等。通过消息队列接收推送的牌价信息,能够进一步提高接收牌价信息的效率。
核心银行系统在将接收到的牌价信息推送至消息队列中后,通过持久化技术,将消息队列中的牌价信息持久化到数据库表中。数据库表中的数据为牌价信息中的应用数据体,消息队列可以包括双通道的消息队列,即将数据库表中的牌价信息读取到双通道的消息队列中进行传输。例如,双通道对应的输入队列名称分别为IPS.BOCS.REQ和IPS.BOCS.REQ.V1。
其中,保存在内存中的数据是处于瞬时状态的,保存在存储设备中的数据是处于持久状态的,持久化是程序数据在持久状态和瞬时状态间转换的机制,将内存中的瞬时数据保存到存储设备中,避免因进程退出导致的数据丢失问题。本发明实施例中的持久化,是指将消息队列中的牌价信息保存至数据库表中,以避免牌价信息的丢失,保证接收的牌价信息的准确性。
在将消息队列中的牌价信息持久化到数据库表中,进一步通过长挂进程将数据库表中的牌价信息读取到内存队列中。其中,长挂进程是指长期实时挂载进程,利用长挂进程将数据库表中的牌价信息读取到内存队列中,能够进一步提高接收牌价信息的准确性。
进而,在将数据库表中的牌价信息读取到内存队列中后,通过多线程调用dubbo服务,判断是否根据内存队列中的牌价信息更新牌价信息表中的当前牌价信息。其中,dubbo服务是某互联网公司开源的一个高性能优秀的Java RPC服务框架,可以和Spring框架无缝集成,具备三大核心功能:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。牌价信息表为数据库表,其存储有接收到的历史牌价信息。牌价信息表中的当前牌价信息为牌价信息表中最新的牌价信息。利用多线程调用dubbo服务,以确判断是否更新牌价信息,能够提高核心银行系统的并发能力,提高牌价接收的效率,有效支持其它系统频繁下发牌价信息的行为。
在本发明实施例中,将接收到的牌价信息推送至消息队列中;将消息队列中的牌价信息持久化到数据库表中;利用长挂进程将数据库表中的牌价信息读取到内存队列中;多线程调用dubbo服务,以确定是否根据内存队列中的牌价信息更新牌价信息表中的当前牌价信息。本发明实施例基于分布式架构多实例接收牌价信息,同时多线程并发处理牌价信息更新,既可以提高牌价接收的效率,又能够将最新的牌价信息更新牌价信息表中,提高牌价接收的准确性。
图2示出了本发明实施例提供的信息处理方法中步骤101的实现流程,为便于描述,仅示出了与本发明实施例相关的部分,详述如下:
在本发明的一实施例中,为了进一步提高牌价信息接收的效率,如图2所示,步骤101,将接收到的牌价信息推送至消息队列中,包括:
步骤201,接收牌价发布及投产管理系统下发的牌价信息;
步骤202,将接收到的牌价发布及投产管理系统下发的牌价信息推送至消息队列中。
具体在通过消息队列接收牌价信息时,首先核心银行系统通过接收牌价发布及投产管理系统下发的牌价信息,进而核心银行系统将接收到的牌价发布及投产管理系统下发的牌价信息推送至消息队列中,据此能够进一步提高牌价信息接收的效率。其中,牌价发布及投产管理系统(英文全称:QUICK EXCHANGE SYSTEM,简称QES),为本领域技术人员熟知的现有技术,此处不再详细赘述。
在本发明实施例中,接收牌价发布及投产管理系统下发的牌价信息,进而将接收到的牌价发布及投产管理系统下发的牌价信息推送至消息队列中,能够进一步提高牌价信息接收的效率。
图3示出了本发明实施例提供的信息处理方法中步骤103的实现流程,为便于描述,仅示出了与本发明实施例相关的部分,详述如下:
在本发明的一实施例中,进程包括由多个进程组成的进程池。为了进一步提高牌价信息接收的效率,如图3所示,步骤103,利用长挂进程将数据库表中的牌价信息读取到内存队列中,包括:
步骤301,利用进程池实时将数据库表中的牌价信息读取到内存队列中。
其中,利用多个进程组成的进程池,实时地将数据库表中的牌价信息读取到内存队列中,能够更进一步的提高牌价信息接收的效率。
在本发明实施例中,利用进程池实时将数据库表中的牌价信息读取到内存队列中,能够进一步的提高牌价信息接收的效率。
图4示出了本发明实施例提供的信息处理方法中步骤104的实现流程,为便于描述,仅示出了与本发明实施例相关的部分,详述如下:
在本发明的一实施例中,为了进一步提高牌价信息接收的效率及准确性,如图4所示,步骤104,多线程调用dubbo服务,以确定是否根据内存队列中的牌价信息更新牌价信息表中的当前牌价信息,包括:
步骤401,多线程调用dubbo服务,比较内存队列中的牌价信息与牌价信息表中的当前牌价信息;
步骤402,在内存队列中的牌价信息的日期晚于牌价信息表中的当前牌价信息的日期,且内存队列中的牌价信息的版本信息大于牌价信息表中的当前牌价信息的版本信息时,利用内存队列中的牌价信息更新牌价信息表中的当前牌价信息;
步骤403,在内存队列中的牌价信息的日期早于牌价信息表中的当前牌价信息的日期,和/或内存队列中的牌价信息的版本信息不大于牌价信息表中的当前牌价信息的版本信息时,发出牌价信息无需更新的提示。
具体在判断是否更新牌价信息时,多线程调用dubbo服务,将内存队列中的牌价信息与牌价信息表中的当前牌价信息进行比较,以判断哪个牌价信息为最新版本的牌价信息。
其中,假如内存队列中的牌价信息的日期晚于牌价信息表中的当前牌价信息的日期,说明内存队列中的牌价信息有可能是比牌价信息表中的当前牌价信息较新的牌价信息,此时进一步判断内存队列中的牌价信息的版本信息大于牌价信息表中的当前牌价信息的版本信息。
假如内存队列中的牌价信息的日期晚于牌价信息表中的当前牌价信息的日期,同时内存队列中的牌价信息的版本信息大于牌价信息表中的当前牌价信息的版本信息,说明内存队列中的牌价信息相较于牌价信息表中的当前牌价信息较新,此时即利用内存队列中的牌价信息更新牌价信息表中的当前牌价信息,以将内存队列中的牌价信息更新为牌价信息表中的当前牌价信息。此时,牌价信息表中的当前牌价信息依然为最新的牌价信息。
一般来讲,若内存队列中的牌价信息的版本信息大于牌价信息表中的当前牌价信息的版本信息时,此时内存队列中的牌价信息的日期必然是晚于牌价信息表中的当前牌价信息的日期,故为了进一步提高牌价接收的效率,可以直接判断内存队列中的牌价信息的版本信息大于牌价信息表中的当前牌价信息的版本信息,而无需进一步判断内存队列中的牌价信息的日期是否晚于牌价信息表中的当前牌价信息的日期。
另外,内存队列中的牌价信息的日期也有可能早于牌价信息表中的当前牌价信息的日期,同时内存队列中的牌价信息的版本信息也有可能小于或者等于牌价信息表中的当前牌价信息的版本信息。若内存队列中的牌价信息的日期早于牌价信息表中的当前牌价信息的日期,说明内存队列中的牌价信息相较于牌价信息表中的当前牌价信息较旧,牌价信息表中的当前牌价信息为最新的牌价信息;若内存队列中的牌价信息的版本信息小于牌价信息表中的当前牌价信息的版本信息,或者内存队列中的牌价信息的版本信息等于牌价信息表中的当前牌价信息的版本信息,同样说明内存队列中的牌价信息相较于牌价信息表中的当前牌价信息较旧,牌价信息表中的当前牌价信息为最新的牌价信息,此时为保证牌价信息表中的当前牌价信息为最新的牌价信息,就无需更新牌价信息,则可以发出牌价信息无需更新的提示。
在本发明实施例中,多线程调用dubbo服务,比较内存队列中的牌价信息与牌价信息表中的当前牌价信息,在内存队列中的牌价信息的日期晚于牌价信息表中的当前牌价信息的日期,且内存队列中的牌价信息的版本信息大于牌价信息表中的当前牌价信息的版本信息时,利用内存队列中的牌价信息更新牌价信息表中的当前牌价信息;在内存队列中的牌价信息的日期早于牌价信息表中的当前牌价信息的日期,和/或内存队列中的牌价信息的版本信息不大于牌价信息表中的当前牌价信息的版本信息时,发出牌价信息无需更新的提示,本发明实施例能够基于牌价信息的日期及牌价信息的版本信息,比较内存队列中的牌价信息与牌价信息表中的当前牌价信息的新旧,从而确定是否更新牌价信息表中的当前牌价信息,能够进一步提高牌价信息接收的准确性,同时进一步提高牌价信息接收的效率。
图5示出了本发明实施例提供的信息处理方法中步骤104的另一实现流程,为便于描述,仅示出了与本发明实施例相关的部分,详述如下:
在本发明的一实施例中,为了进一步提高牌价信息接收的准确性,如图5所示,步骤104,在上述方法步骤的基础上,还包括:
步骤501,确定内存队列中牌价信息的公共包头中的交易码是否为预设交易码;
在内存队列中牌价信息的公共包头中的交易码是否为第一预设交易码时,执行步骤401,多线程调用dubbo服务,比较内存队列中的牌价信息与牌价信息表中的当前牌价信息;
步骤502,在内存队列中牌价信息的公共包头中的交易码是否为第二预设交易码时,发出通讯检测成功的信息提示。
在接收牌价信息之前,可以首先分析内存队列中牌价信息的公共包头中的交易码,以确定是否需要进一步接收牌价信息。其中,可以截取牌价信息中的字串到对应牌价信息的实体结构,确定内存队列中牌价信息的公共包头中的交易码是否为第一预设交易码。
在确定内存队列中牌价信息的公共包头中的交易码为预设交易码时,再进一步执行步骤401,即进一步比较内存队列中的牌价信息与牌价信息表中的当前牌价信息的新旧。而在内存队列中牌价信息的公共包头中的交易码是否为第二预设交易码时,发出通讯检测成功的信息提示,不再进一步执行后续比较内存队列中的牌价信息与牌价信息表中的当前牌价信息的步骤。
其中,第一预设交易码及第二预设交易码为预先设定的交易码,该第一预设交易码及第二预设交易码可以预先采用不同的内容设置。具体的,例如第一预设交易码为X001020001,第二预设交易码为X001010001,本领域技术人员还可以基于具体需求和实际情况预先设定该第一预设交易码及第二预设交易码为其它内容的交易码,本发明实施例对此不作特别的限制。
另外,在判断出内存队列中牌价信息的公共包头中的交易码是否为第一预设交易码时,还可以进一步判断核心银行系统是否停止服务,若停止服务则返回报错信息;若没有停止服务则进一步执行步骤401。
在本发明实施例中,确定内存队列中牌价信息的公共包头中的交易码是否为预设交易码,在内存队列中牌价信息的公共包头中的交易码是否为第一预设交易码时,执行步骤401;在内存队列中牌价信息的公共包头中的交易码是否为第二预设交易码时,发出通讯检测成功的信息提示,提前判断公共包头中的交易码,以确定是否需要进一步执行比较牌价信息的步骤,能够进一步提高牌价信息接收的准确性。
在本发明的一实施例中,为了保证将最新的牌价信息更新至牌价信息表,进一步提高接收牌价信息的准确性,如图5所示,在步骤104,在多线程调用dubbo服务,比较内存队列中的牌价信息与牌价信息表中的当前牌价信息之前,信息处理方法还包括:
步骤503,为牌价信息表添加排它锁。
在步骤402,在内存队列中的牌价信息的日期晚于牌价信息表中的当前牌价信息的日期,且内存队列中的牌价信息的版本信息大于牌价信息表中的当前牌价信息的版本信息时,利用内存队列中的牌价信息更新牌价信息表中的当前牌价信息之后,信息处理方法还包括:
步骤504,释放牌价信息表的排它锁。
鉴于在多线程调用dubbo服务时,可能会出现版本信息较小的牌价信息在版本信息大的牌价信息后面更新。例如,假设内存队列中的牌价信息的版本信息分别为A和B,牌价信息表中的当前牌价信息的版本信息为C,且版本信息的大小顺序分别为A>B>C,在多线程处理的情况下,某个线程先利用内存队列中版本信息为A的牌价信息更新牌价信息表中版本信息为C的当前牌价信息;而另一线程利用内存队列中版本信息为B的牌价信息更新牌价信息表中版本信息为C的当前牌价信息,导致版本信息为B的牌价信息在版本信息为A的牌价信息后面更新。
为了解决上述情况导致的牌价信息不准确的问题,我们在多线程调用dubbo服务期间,通过在牌价信息表上加排它锁,即在查询语句后增加for update,数据库会在查询过程中给牌价信息表增加排它锁,这样某个线程在读取牌价信息表中的当前牌价信息时,其他线程是无法读取牌价信息表中的当前牌价信息的,只有在某个线程执行完写入牌价信息表中的当前牌价信息后,释放牌价信息表的排它锁,其他进程才能读取牌价信息表中的当前牌价信息,这样就能保证写入牌价信息表中的当前牌价信息均为最新的牌价信息。同时,可将旧版本的牌价信息接入历史牌价表中保留。
故,在多线程调用dubbo服务,比较内存队列中的牌价信息与牌价信息表中的当前牌价信息之前,可以为牌价信息表添加排它锁,保证一段时间期内只有一个进程能够读取牌价信息表中的当前牌价信息;同时,在利用内存队列中的牌价信息更新牌价信息表中的当前牌价信息之后,释放牌价信息表的排它锁,以保证写入牌价信息表中的当前牌价信息均为最新的牌价信息,进一步提高接收牌价信息的准确性。
在本发明实施例中,在比较内存队列中的牌价信息与牌价信息表中的当前牌价信息之前,为牌价信息表添加排它锁;同时在利用内存队列中的牌价信息更新牌价信息表中的当前牌价信息之后,释放牌价信息表的排它锁,能够保证写入牌价信息表中的当前牌价信息均为最新的牌价信息,进一步提高接收牌价信息的准确性。
本发明实施例还提供一种信息处理装置,如下面的实施例所述。由于这些装置解决问题的原理与信息处理方法相似,因此这些装置的实施可以参见方法的实施,重复之处不再赘述。
图6示出了本发明实施例提供的信息处理装置的功能模块,为便于说明,仅示出了与本发明实施例相关的部分,详述如下:
参考图6,所述信息处理装置所包含的各个模块用于执行图1对应实施例中的各个步骤,具体请参阅图1以及图1对应实施例中的相关描述,此处不再赘述。本发明实施例中,信息处理装置应用于基于分布式架构的核心银行系统中。所述信息处理装置包括推送模块601、持久化模块602、读取模块603及更新判断模块604。
推送模块601,用于将接收到的牌价信息推送至消息队列中。
持久化模块602,用于将消息队列中的牌价信息持久化到数据库表中。
读取模块603,用于利用长挂进程将数据库表中的牌价信息读取到内存队列中。
更新判断模块604,用于多线程调用dubbo服务,以确定是否根据内存队列中的牌价信息更新牌价信息表中的当前牌价信息。
在本发明实施例中,推送模块601将接收到的牌价信息推送至消息队列中;持久化模块602将消息队列中的牌价信息持久化到数据库表中;读取模块603利用长挂进程将数据库表中的牌价信息读取到内存队列中;更新判断模块604多线程调用dubbo服务,以确定是否根据内存队列中的牌价信息更新牌价信息表中的当前牌价信息。本发明实施例基于分布式架构多实例接收牌价信息,同时多线程并发处理牌价信息更新,既可以提高牌价接收的效率,又能够将最新的牌价信息更新牌价信息表中,提高牌价接收的准确性。
图7示出了本发明实施例提供的信息处理装置中推送模块601的结构示意,为便于说明,仅示出了与本发明实施例相关的部分,详述如下:
在本发明的一实施例中,为了进一步提高牌价信息接收的效率,参考图7,所述推送模块601所包含的各个单元用于执行图2对应实施例中的各个步骤,具体请参阅图2以及图2对应实施例中的相关描述,此处不再赘述。本发明实施例中,所述推送模块601包括接收单元701及推送单元702。
接收单元701,用于接收牌价发布及投产管理系统下发的牌价信息;
推送单元702,用于将接收到的牌价发布及投产管理系统下发的牌价信息推送至消息队列中。
在本发明实施例中,接收单元701接收牌价发布及投产管理系统下发的牌价信息,进而推送单元702将接收到的牌价发布及投产管理系统下发的牌价信息推送至消息队列中,能够进一步提高牌价信息接收的效率。
图8示出了本发明实施例提供的信息处理装置中读取模块603的结构示意,为便于说明,仅示出了与本发明实施例相关的部分,详述如下:
在本发明的一实施例中,进程包括由多个进程组成的进程池。为了进一步提高牌价信息接收的效率,参考图8,所述读取模块603所包含的各个单元用于执行图3对应实施例中的各个步骤,具体请参阅图3以及图3对应实施例中的相关描述,此处不再赘述。本发明实施例中,所述读取模块603包括读取单元801。
读取单元801,用于利用进程池实时将数据库表中的牌价信息读取到内存队列中。
在本发明实施例中,读取单元801利用进程池实时将数据库表中的牌价信息读取到内存队列中,能够进一步的提高牌价信息接收的效率。
图9示出了本发明实施例提供的信息处理装置中更新判断模块604的结构示意,为便于说明,仅示出了与本发明实施例相关的部分,详述如下:
在本发明的一实施例中,为了进一步提高牌价信息接收的效率及准确性,参考图9,所述更新判断模块604所包含的各个单元用于执行图4对应实施例中的各个步骤,具体请参阅图4以及图4对应实施例中的相关描述,此处不再赘述。本发明实施例中,所述更新判断模块604包括比较单元901、更新单元902及不更新提示单元903。
比较单元901,用于多线程调用dubbo服务,比较内存队列中的牌价信息与牌价信息表中的当前牌价信息。
更新单元902,用于在内存队列中的牌价信息的日期晚于牌价信息表中的当前牌价信息的日期,且内存队列中的牌价信息的版本信息大于牌价信息表中的当前牌价信息的版本信息时,利用内存队列中的牌价信息更新牌价信息表中的当前牌价信息。
不更新提示单元903,用于在内存队列中的牌价信息的日期早于牌价信息表中的当前牌价信息的日期,和/或内存队列中的牌价信息的版本信息不大于牌价信息表中的当前牌价信息的版本信息时,发出牌价信息无需更新的提示。
在本发明实施例中,比较单元901多线程调用dubbo服务,比较内存队列中的牌价信息与牌价信息表中的当前牌价信息,更新单元902在内存队列中的牌价信息的日期晚于牌价信息表中的当前牌价信息的日期,且内存队列中的牌价信息的版本信息大于牌价信息表中的当前牌价信息的版本信息时,利用内存队列中的牌价信息更新牌价信息表中的当前牌价信息;不更新提示单元903在内存队列中的牌价信息的日期早于牌价信息表中的当前牌价信息的日期,和/或内存队列中的牌价信息的版本信息不大于牌价信息表中的当前牌价信息的版本信息时,发出牌价信息无需更新的提示,本发明实施例能够基于牌价信息的日期及牌价信息的版本信息,比较内存队列中的牌价信息与牌价信息表中的当前牌价信息的新旧,从而确定是否更新牌价信息表中的当前牌价信息,能够进一步提高牌价信息接收的准确性,同时进一步提高牌价信息接收的效率。
图10示出了本发明实施例提供的信息处理装置中更新判断模块604的另一结构示意,为便于说明,仅示出了与本发明实施例相关的部分,详述如下:
在本发明的一实施例中,为了进一步提高牌价信息接收的效率及准确性,参考图10,所述更新判断模块604所包含的各个单元用于执行图5对应实施例中的各个步骤,具体请参阅图5以及图5对应实施例中的相关描述,此处不再赘述。本发明实施例中,在上述模块结构的基础上,所述更新判断模块604还包括交易码判断单元1001及通讯提示单元1002。
交易码判断单元1001,用于确定内存队列中牌价信息的公共包头中的交易码是否为预设交易码。
在内存队列中牌价信息的公共包头中的交易码是否为第一预设交易码时,比较单元901多线程调用dubbo服务,比较内存队列中的牌价信息与牌价信息表中的当前牌价信息。
通讯提示单元1002,用于在内存队列中牌价信息的公共包头中的交易码是否为第二预设交易码时,发出通讯检测成功的信息提示。
在本发明实施例中,交易码判断单元1001确定内存队列中牌价信息的公共包头中的交易码是否为预设交易码,在内存队列中牌价信息的公共包头中的交易码是否为第一预设交易码时,执行步骤401;通讯提示单元1002在内存队列中牌价信息的公共包头中的交易码是否为第二预设交易码时,发出通讯检测成功的信息提示,提前判断公共包头中的交易码,以确定是否需要进一步执行比较牌价信息的步骤,能够进一步提高牌价信息接收的准确性。
在本发明的一实施例中,为了保证将最新的牌价信息更新至牌价信息表,进一步提高接收牌价信息的准确性,如图10所示,在上述模块结构的基础上,信息处理装置还包括:
加锁单元1003,用于为牌价信息表添加排它锁。
释锁单元1004,用于释放牌价信息表的排它锁。
在本发明实施例中,在比较内存队列中的牌价信息与牌价信息表中的当前牌价信息之前,加锁单元1003为牌价信息表添加排它锁;同时在利用内存队列中的牌价信息更新牌价信息表中的当前牌价信息之后,释锁单元100释放牌价信息表的排它锁,能够保证写入牌价信息表中的当前牌价信息均为最新的牌价信息,进一步提高接收牌价信息的准确性。
本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述信息处理方法。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述信息处理方法的计算机程序。
综上所述,本发明实施例将接收到的牌价信息推送至消息队列中;将消息队列中的牌价信息持久化到数据库表中;利用长挂进程将数据库表中的牌价信息读取到内存队列中;多线程调用dubbo服务,以确定是否根据内存队列中的牌价信息更新牌价信息表中的当前牌价信息。本发明实施例基于分布式架构多实例接收牌价信息,同时多线程并发处理牌价信息更新,既可以提高牌价接收的效率,又能够将最新的牌价信息更新牌价信息表中,提高牌价接收的准确性。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种信息处理方法,其特征在于,应用于基于分布式架构的银行核心系统,包括:
将接收到的牌价信息推送至消息队列中;
将消息队列中的牌价信息持久化到数据库表中;
利用长挂进程将数据库表中的牌价信息读取到内存队列中;
多线程调用dubbo服务,以确定是否根据内存队列中的牌价信息更新牌价信息表中的当前牌价信息;其中,牌价信息表存储有接收到的历史牌价信息;牌价信息表中的当前牌价信息为牌价信息表中最新的牌价信息;
其中,多线程调用dubbo服务,以确定是否根据内存队列中的牌价信息更新牌价信息表中的当前牌价信息,包括:
多线程调用dubbo服务,比较内存队列中的牌价信息与牌价信息表中的当前牌价信息;
在内存队列中的牌价信息的日期晚于牌价信息表中的当前牌价信息的日期,且内存队列中的牌价信息的版本信息大于牌价信息表中的当前牌价信息的版本信息时,利用内存队列中的牌价信息更新牌价信息表中的当前牌价信息;
在内存队列中的牌价信息的日期早于牌价信息表中的当前牌价信息的日期,和/或内存队列中的牌价信息的版本信息不大于牌价信息表中的当前牌价信息的版本信息时,发出牌价信息无需更新的提示。
2.如权利要求1所述的信息处理方法,其特征在于,将接收到的牌价信息推送至消息队列中,包括:
接收牌价发布及投产管理系统下发的牌价信息;
将接收到的牌价发布及投产管理系统下发的牌价信息推送至消息队列中。
3.如权利要求1所述的信息处理方法,其特征在于,进程包括由多个线程组成的线程池,利用长挂进程将数据库表中的牌价信息读取到内存队列中,包括:
利用线程池实时将数据库表中的牌价信息读取到内存队列中。
4.如权利要求1所述的信息处理方法,其特征在于,还包括:
确定内存队列中牌价信息的公共包头中的交易码是否为预设交易码;
在内存队列中牌价信息的公共包头中的交易码是否为第一预设交易码时,执行多线程调用dubbo服务,比较内存队列中的牌价信息与牌价信息表中的当前牌价信息;
在内存队列中牌价信息的公共包头中的交易码是否为第二预设交易码时,发出通讯检测成功的信息提示。
5.如权利要求1所述的信息处理方法,其特征在于,在多线程调用dubbo服务,比较内存队列中的牌价信息与牌价信息表中的当前牌价信息之前,还包括:
为牌价信息表添加排它锁。
6.如权利要求5所述的信息处理方法,其特征在于,在内存队列中的牌价信息的日期晚于牌价信息表中的当前牌价信息的日期,且内存队列中的牌价信息的版本信息大于牌价信息表中的当前牌价信息的版本信息时,利用内存队列中的牌价信息更新牌价信息表中的当前牌价信息之后,还包括:
释放牌价信息表的排它锁。
7.一种信息处理装置,其特征在于,应用于基于分布式架构的银行核心系统,包括:
推送模块,用于将接收到的牌价信息推送至消息队列中;
持久化模块,用于将消息队列中的牌价信息持久化到数据库表中;
读取模块,用于利用长挂进程将数据库表中的牌价信息读取到内存队列中;
更新判断模块,用于多线程调用dubbo服务,以确定是否根据内存队列中的牌价信息更新牌价信息表中的当前牌价信息;其中,牌价信息表存储有接收到的历史牌价信息;牌价信息表中的当前牌价信息为牌价信息表中最新的牌价信息;
其中,更新判断模块包括比较单元、更新单元及不更新提示单元;
比较单元,用于多线程调用dubbo服务,比较内存队列中的牌价信息与牌价信息表中的当前牌价信息;
更新单元,用于在内存队列中的牌价信息的日期晚于牌价信息表中的当前牌价信息的日期,且内存队列中的牌价信息的版本信息大于牌价信息表中的当前牌价信息的版本信息时,利用内存队列中的牌价信息更新牌价信息表中的当前牌价信息;
不更新提示单元,用于在内存队列中的牌价信息的日期早于牌价信息表中的当前牌价信息的日期,和/或内存队列中的牌价信息的版本信息不大于牌价信息表中的当前牌价信息的版本信息时,发出牌价信息无需更新的提示。
8.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6任一所述信息处理方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有执行权利要求1至6任一所述信息处理方法的计算机程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011049113.2A CN112132685B (zh) | 2020-09-29 | 2020-09-29 | 信息处理方法及装置、计算机设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011049113.2A CN112132685B (zh) | 2020-09-29 | 2020-09-29 | 信息处理方法及装置、计算机设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112132685A CN112132685A (zh) | 2020-12-25 |
CN112132685B true CN112132685B (zh) | 2024-02-23 |
Family
ID=73844688
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011049113.2A Active CN112132685B (zh) | 2020-09-29 | 2020-09-29 | 信息处理方法及装置、计算机设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112132685B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113421161A (zh) * | 2021-06-22 | 2021-09-21 | 中国银行股份有限公司 | 委托交易处理方法、装置、服务器及可读存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2241881A1 (en) * | 1998-06-29 | 1999-12-29 | Ibm Canada Limited - Ibm Canada Limitee | Remote procedure calls in distributed systems |
CN104598639A (zh) * | 2015-02-11 | 2015-05-06 | 北京京东尚科信息技术有限公司 | 提供商品价格实时展示的方法和系统 |
CN105426238A (zh) * | 2016-01-17 | 2016-03-23 | 浙江维融电子科技股份有限公司 | 一种基于内存的设备后台指令管理系统的控制方法 |
CN109450664A (zh) * | 2018-10-09 | 2019-03-08 | 北京医拍智能科技有限公司 | 一种基于区块链p2p网络的数据协同处理方法及装置 |
CN111104232A (zh) * | 2019-11-09 | 2020-05-05 | 苏州浪潮智能科技有限公司 | 一种加速消息队列写消息的方法、设备及介质 |
CN111143093A (zh) * | 2019-12-31 | 2020-05-12 | 中国银行股份有限公司 | 异步消息分布式处理方法、装置、设备及存储介质 |
CN111429236A (zh) * | 2020-04-21 | 2020-07-17 | 重庆新致金服信息技术有限公司 | 做市商成交模式的交易系统及方法 |
-
2020
- 2020-09-29 CN CN202011049113.2A patent/CN112132685B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2241881A1 (en) * | 1998-06-29 | 1999-12-29 | Ibm Canada Limited - Ibm Canada Limitee | Remote procedure calls in distributed systems |
CN104598639A (zh) * | 2015-02-11 | 2015-05-06 | 北京京东尚科信息技术有限公司 | 提供商品价格实时展示的方法和系统 |
CN105426238A (zh) * | 2016-01-17 | 2016-03-23 | 浙江维融电子科技股份有限公司 | 一种基于内存的设备后台指令管理系统的控制方法 |
CN109450664A (zh) * | 2018-10-09 | 2019-03-08 | 北京医拍智能科技有限公司 | 一种基于区块链p2p网络的数据协同处理方法及装置 |
CN111104232A (zh) * | 2019-11-09 | 2020-05-05 | 苏州浪潮智能科技有限公司 | 一种加速消息队列写消息的方法、设备及介质 |
CN111143093A (zh) * | 2019-12-31 | 2020-05-12 | 中国银行股份有限公司 | 异步消息分布式处理方法、装置、设备及存储介质 |
CN111429236A (zh) * | 2020-04-21 | 2020-07-17 | 重庆新致金服信息技术有限公司 | 做市商成交模式的交易系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112132685A (zh) | 2020-12-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10289443B2 (en) | System and method for sharing global transaction identifier (GTRID) in a transactional middleware environment | |
EP1025493B1 (en) | Queued method invocations on distributed component applications | |
US20070083569A1 (en) | Commit-time ordered message queue supporting arbitrary read and dequeue patterns from multiple subscribers | |
US9055065B2 (en) | Managing participant order in distributed transactions | |
US11681683B2 (en) | Transaction compensation for single phase resources | |
US8108627B2 (en) | Array comparison and swap operations | |
US20100083281A1 (en) | System and method for processing messages using a common interface platform supporting multiple pluggable data formats in a service-oriented pipeline architecture | |
US9417906B2 (en) | Transaction participant registration with caveats | |
KR20110000737A (ko) | 다수의 처리 명령어를 실시간으로 취급하고 처리하는 것과 관련된 개선 | |
US7917651B2 (en) | Apparatus, system, and method for asynchronous complex inbound transactions from SAP applications using service oriented architecture | |
US9542235B2 (en) | Process-safe read/write locks | |
US9553951B1 (en) | Semaphores in distributed computing environments | |
KR20160147909A (ko) | 트랜잭셔널 환경에서 리소스 관리자(rm) 인스턴스 인지에 기초하여 공통 트랜잭션 식별자(xid) 최적화 및 트랜잭션 친화성을 지원하기 위한 시스템 및 방법 | |
CN110336702A (zh) | 一种消息中间件的系统和实现方法 | |
US20100100890A1 (en) | Providing supplemental semantics to a transactional queue manager | |
US8499298B2 (en) | Multiprocessing transaction recovery manager | |
CN101350022B (zh) | 基于数据库逻辑锁的变更处理方法 | |
CN112132685B (zh) | 信息处理方法及装置、计算机设备及计算机可读存储介质 | |
US20090037807A1 (en) | Coordinated xml data parsing and processing from within separate computing processes | |
US20130254257A1 (en) | System and method for using a same program on a local system and a remote system | |
US20120143928A1 (en) | File system transaction log flush optimization | |
US7584454B1 (en) | Semantic-based transactional support and recovery for nested composite software services | |
CN113111077A (zh) | 一致性的控制方法、装置、电子设备、介质和程序产品 | |
US8756604B2 (en) | Async wrapper handling execution of asynchronous operations for synchronous and asynchronous routines | |
US10860402B2 (en) | Long-running storage manageability operation management |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |