CN111190914A - 一种应用于高精度地图的中间层数据安全提交方法、装置、设备及存储介质 - Google Patents
一种应用于高精度地图的中间层数据安全提交方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN111190914A CN111190914A CN201911406200.6A CN201911406200A CN111190914A CN 111190914 A CN111190914 A CN 111190914A CN 201911406200 A CN201911406200 A CN 201911406200A CN 111190914 A CN111190914 A CN 111190914A
- Authority
- CN
- China
- Prior art keywords
- data
- submission
- instruction
- intermediate layer
- cache
- 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
Links
Images
Classifications
-
- 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
- G06F16/2365—Ensuring data consistency and integrity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0893—Caches characterised by their organisation or structure
- G06F12/0895—Caches characterised by their organisation or structure of parts of caches, e.g. directory or tag array
-
- 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
- G06F16/2379—Updates performed during online database operations; commit processing
-
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
-
- 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/25—Integrating or interfacing systems involving database management systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1032—Reliability improvement, data loss prevention, degraded operation etc
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/16—General purpose computing application
- G06F2212/163—Server or database system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/45—Caching of specific data in cache memory
- G06F2212/452—Instruction code
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种应用于高精度地图的中间层数据安全提交方法、装置、设备及存储介质,该方法主要步骤包括:设置数据流服务管理层与控制中间层两部分,约定相关数据和指令格式;控制中间层提交指令,数据流服务管理层提取和解析指令,形成逻辑处理单元;读取缓存数据,实现数据库连接和事务化提交,将结果写入数据库;提交失败时,把执行失败的任务回填,缓存数据保留,继续订阅任务重新执行;提交成功时,则完成数据写入过程,清理缓存数据。该方法使用Redis做数据缓存中间层,通过数据流服务管理与控制中间层和数据库的双向交互,起到安全连接、任务有序排队的防护作用,极大降低了数据提交的故障率,使得数据提交过程更加安全。
Description
技术领域
本发明涉及高精度地图数据处理技术领域,尤其涉及一种应用于高精度地图的中间层数据安全提交方法、装置、设备及存储介质。
背景技术
随着通信及互联网领域的迅猛发展,高精度地图已经在人们的生活中得到了越来越多的应用。
高精度地图,通俗来讲就是精度更高、数据维度更多的电子地图。与一般电子导航地图面向的是驾驶员,主要起的是辅助驾驶的导航功能不一样的是,高精度地图更多的面向无人驾驶时代的自动行驶汽车,通过高精度多维度数据提供有效的地图数据。传统导航地图只需要存储和处理永久静态数据(更新频率为1个月)和半永久静态数据(频率为1小时),而高精度地图为了应对各类突发状况,保证自动驾驶安全,还需要存储和处理半动态数据(频率为1分钟)和动态数据(频率为1秒)。因此高精度地图将大量的行车辅助信息存储为结构化数据的过程中,数据处理量更大,对数据的实时性,可靠性要求也更高。
在现有技术中,为了提高数据的可靠性,对数据进行本地缓存是常用的防护机制。中间层数据缓存可以用来保护数据的完整性,在提交失败的时候可以使用缓存数据重新提交,增加一层安全机制。原始数据通过业务逻辑解算后得到最终结果,进行安全提交。但大量生产数据同时并发提交结果时,由于每个任务进程都需要连接数据库并写入数据,若干个作业员同时提交数据的现象在所难免。可以通过消息队列指令(MQ指令)使数据提交过程有序排队,可以减小据提交过程中的数据库并发连接量。但服务器上的数据库最大连接数总有上限,网络带宽也有上限,遇到大量数据同时提交的情况引起异常还是不能避免,如数据写入过程出错,数据丢失等。
发明内容
本发明针对在高精度地图应用领域中存在的大量并发作业环境下数据往往无法安全提交的问题,提供一种应用于高精度地图的中间层数据安全提交方法、装置、设备及存储介质,使用Redis做数据缓存中间层,通过数据流服务管理与控制中间层和数据库的双向交互,起到安全连接、任务有序排队的防护作用,达到解决问题的目的。
本发明解决上述技术问题的技术方案如下:
第一方面,本发明提供一种应用于高精度地图的中间层数据安全提交方法,主要包含以下步骤:
步骤1,在Redis中,设置数据流服务管理层与控制中间层两部分,控制中间层包含数据缓存和指令缓存两部分;
步骤2,在Redis中约定待缓存数据的格式;
其中,缓存数据包括相关数据的字段、结构和类型等,数据格式包括JSON、文本等。使用HashSet保存缓存结果数据,HashSet是Redis里的一种数据结构,也被称为集合或容器,该容器中只能存储不重复的对象。
步骤3,在Redis中约定数据提交指令格式;
其中,相关指令包括数据库连接信息、提交类型等,以保证数据的正确提取。
步骤4,在有数据提交任务时,控制中间层提交指令,供数据流服务管理层提取和解析;
步骤5,数据流服务管理层订阅指令,实现指令提取,形成业务逻辑,交由逻辑处理单元处理;
步骤6,逻辑处理单元执行业务逻辑,读取控制中间层的缓存数据,并实现数据库连接和事务化提交,将最终结果写入数据库;
步骤7,当事务化提交失败时,中间层服务将把执行失败的任务回填指令缓存,缓存数据保留,继续订阅任务重新执行;当事务化提交成功时,则完成数据写入过程,可清理缓存数据以便下次任务正常执行。
第二方面,本发明实施例还提供一种应用于高精度地图的中间层数据安全提交装置,该装置包括:
中间控制单元,主要实现控制中间层功能,包含数据缓存和指令缓存两部分,用于缓存数据和指令,在有数据提交任务时,提交指令供数据流服务管理单元提取和解析;
数据流服务管理单元,主要用于实现数据流服务管理层功能,订阅指令,并提取和解析指令,形成业务逻辑;
逻辑处理单元,主要实现执行业务逻辑,读取中间控制单元的缓存数据,并实现数据库连接和事务化提交,将最终结果写入数据库。
第三方面,本发明提供一种应用于高精度地图的中间层数据安全提交设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现所述应用于高精度地图的中间层数据安全提交方法的步骤。
第四方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现所述应用于高精度地图的中间层数据安全提交方法的步骤。
与现有技术相比,本发明具有如下显而易见的突出特点和显著的技术进步:引入中间层缓存和指令有序排队,以及事务化提交、容错,提供安全可靠的数据本地缓存,即使提交失败,也能找回。通过指令缓存实现指令排队,作业员数据写入本地缓存且不直连数据库,减小数据库连接压力,只有双向数据流服务与数据库直连并获得缓存数据进行数据库写入,极大降低了数据提交的故障率,使得数据提交过程更加安全。
附图说明
图1为本发明实施例一开的一种应用于高精度地图的中间层数据安全提交方法流程图;
图2为本发明实施例二开的一种应用于高精度地图的中间层数据安全提交装置的结构框图。
具体实施方式
为了使本发明实施例中的目的、技术方案和优点进行清楚、完整地描述,下面将结合本发明实施例中的附图对本发明作进一步说明。以下结合附图所举实例只用于解释本发明,并非用于限定本发明的范围。
本发明的实施例一提供一种应用于高精度地图的中间层数据安全提交方法,解决在高精度地图领域中大量并发作业环境下数据往往无法安全提交的问题,实现安全连接、任务有序排队的防护作用,达到降低数据提交故障率,数据提交过程更加安全的目的。
本发明实施例中使用的电脑环境为postgres9.4,postgis9.4,开发环境为vs2015+qt5,Redis2.4.5。
图1为本发明实施的流程图,其具体的实施方法如下所示:
步骤1,在Redis中,设置数据流服务管理层与控制中间层两部分,控制中间层包含数据缓存和指令缓存两部分,所要提交的数据集写入数据缓存,同时生成解析任务指令,写入指令缓存。
步骤2:数据流服务管理层获取解析任务指令,将任务信息提交逻辑处理单元。
步骤3:逻辑处理单元读取任务信息的缓存数据并连接数据库,事务化提交结果。
步骤4:获取提交状态。
步骤5:提交异常,则保留数据缓存,回填指令,以待重新执行成功。
步骤6:提交成功,则完成数据入库,清理数据缓存以便下次任务写入。
本发明的实施例二提供了能够实现上述应用于高精度地图的中间层数据安全提交方法全部步骤的一种应用于高精度地图的中间层数据安全提交装置的具体实施方式,所述中间层数据安全提交装置具体包括如下内容:
中间控制单元,主要实现控制中间层功能,包含数据缓存和指令缓存两部分,用于缓存数据和指令,在有数据提交任务时,提交指令供数据流服务管理单元提取和解析;
数据流服务管理单元,主要用于实现数据流服务管理层功能,订阅指令,并提取和解析指令,形成业务逻辑;
逻辑处理单元,主要实现执行业务逻辑,读取中间控制单元的缓存数据,并实现数据库连接和事务化提交,将最终结果写入数据库。
本发明提供的一种应用于高精度地图的中间层数据安全提交装置的实施例具体可以用于执行上述应用于高精度地图的中间层数据安全提交方法实施例的处理流程,其功能在此不再赘述,可以参照上述方法实施例的详细描述。
本发明实施例三提供了一种能够实现上述应用于高精度地图的中间层数据安全提交方法全部步骤的一种应用于高精度地图的中间层数据安全提交设备的具体实施方式,所述设备包括:处理器、存储器和总线;
其中,处理器和存储器通过所述总线完成相互间的通信;
处理器用于调用存储器中的程序指令,以执行上述方法实施例所提供的方法,具体步骤不再赘述,可以参照上述方法实施例的详细描述。
此外,上述的存储器中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
本发明实施例提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,具体步骤不再赘述,可以参照上述方法实施例的详细描述。
本发明实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的方法,体步骤不再赘述,可以参照上述方法实施例的详细描述。
以上所描述的装置及设备等实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (8)
1.一种应用于高精度地图的中间层数据安全提交方法,其特征在于,包括:步骤1,在Redis中设置数据流服务管理层与控制中间层两部分;步骤2,约定待缓存数据的格式;步骤3,约定数据提交指令格式;步骤4,在有数据提交任务时,控制中间层提交指令,供数据流服务管理层提取和解析;步骤5,数据流服务管理层订阅指令,实现指令提取,形成逻辑处理单元;步骤6,逻辑处理单元执行业务逻辑,读取控制中间层的缓存数据,并实现数据库连接和事务化提交,将最终结果写入数据库;步骤7,当事务化提交失败时,中间层服务将把执行失败的任务回填指令缓存,缓存数据保留,继续订阅任务重新执行;当事务化提交成功时,完成数据写入过程,清理缓存数据。
2.根据权利要求1所述一种应用于高精度地图的中间层数据安全提交方法,其特征在于,所述步骤1中,控制中间层包含数据缓存和指令缓存两部分。
3.根据权利要求1所述一种应用于高精度地图的中间层数据安全提交方法,其特征在于,所述步骤2中,缓存数据包括相关数据的字段、结构和类型,数据格式包括JSON、文本。
4.根据权利要求1所述一种应用于高精度地图的中间层数据安全提交方法,其特征在于,所述步骤2中,使用HashSet保存缓存结果数据。
5.根据权利要求1所述一种应用于高精度地图的中间层数据安全提交方法,其特征在于,所述步骤3中,指令包括数据库连接信息、提交类型。
6.一种应用于高精度地图的中间层数据安全提交装置,其特征在于,包括:
中间控制单元,所述中间控制单元主要用于缓存数据和指令,在有数据提交任务时,提交指令供数据流服务管理单元提取和解析;
数据流服务管理单元,所述数据流服务管理单元主要用于订阅指令,并提取和解析指令,形成业务逻辑;
逻辑处理单元,所述逻辑处理单元主要用于读取中间控制单元的缓存数据,并实现数据库连接和事务化提交,将最终结果写入数据库。
7.一种应用于高精度地图的中间层数据安全提交设备,其特征在于,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至5任一项所述获取方法的步骤。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至5任一项所述获取方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911406200.6A CN111190914A (zh) | 2019-12-31 | 2019-12-31 | 一种应用于高精度地图的中间层数据安全提交方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911406200.6A CN111190914A (zh) | 2019-12-31 | 2019-12-31 | 一种应用于高精度地图的中间层数据安全提交方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111190914A true CN111190914A (zh) | 2020-05-22 |
Family
ID=70707965
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911406200.6A Pending CN111190914A (zh) | 2019-12-31 | 2019-12-31 | 一种应用于高精度地图的中间层数据安全提交方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111190914A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102306197A (zh) * | 2011-09-22 | 2012-01-04 | 用友软件股份有限公司 | 保证跨数据源操作结果一致性的装置和方法 |
CN103886079A (zh) * | 2014-03-26 | 2014-06-25 | 北京京东尚科信息技术有限公司 | 一种数据处理方法和*** |
US20180210834A1 (en) * | 2017-01-20 | 2018-07-26 | Mz Ip Holdings, Llc | Systems and methods for reconstructing cache loss |
CN109408203A (zh) * | 2018-11-01 | 2019-03-01 | 无锡华云数据技术服务有限公司 | 一种队列消息一致性的实现方法、装置、计算*** |
-
2019
- 2019-12-31 CN CN201911406200.6A patent/CN111190914A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102306197A (zh) * | 2011-09-22 | 2012-01-04 | 用友软件股份有限公司 | 保证跨数据源操作结果一致性的装置和方法 |
CN103886079A (zh) * | 2014-03-26 | 2014-06-25 | 北京京东尚科信息技术有限公司 | 一种数据处理方法和*** |
US20180210834A1 (en) * | 2017-01-20 | 2018-07-26 | Mz Ip Holdings, Llc | Systems and methods for reconstructing cache loss |
CN109408203A (zh) * | 2018-11-01 | 2019-03-01 | 无锡华云数据技术服务有限公司 | 一种队列消息一致性的实现方法、装置、计算*** |
Non-Patent Citations (1)
Title |
---|
龚德志等: "基于开源分布式的业务***技术架构研究", 《电信技术》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11814077B2 (en) | Method and apparatus for storing autonomous driving test data and electronic device | |
US8473783B2 (en) | Fault tolerance in distributed systems | |
US8364636B2 (en) | Real time data replication | |
CN111414389B (zh) | 一种数据处理方法、装置、电子设备及存储介质 | |
US9898376B2 (en) | Recovery of a transaction after XA end | |
US20110252426A1 (en) | Processing batch transactions | |
CN109241015B (zh) | 用于在分布式存储***中写入数据的方法 | |
US20150193526A1 (en) | Schemaless data access management | |
EP4141687A1 (en) | Global secondary index method and apparatus for distributed database | |
EP4053770A1 (en) | Schedule information acquiring method, apparatus, device, storage medium and program | |
CN113094362A (zh) | 一种异步消息可靠投递和处理的方法和装置 | |
US11893041B2 (en) | Data synchronization between a source database system and target database system | |
CN107277022B (zh) | 进程标记方法及装置 | |
CN111818145A (zh) | 一种文件传输方法、装置、***、设备及存储介质 | |
US10769307B2 (en) | Processing system using natural language processing for performing dataset filtering and sanitization | |
CN109254977A (zh) | 数据生成方法、大数据风控平台及计算机存储介质 | |
CN111190914A (zh) | 一种应用于高精度地图的中间层数据安全提交方法、装置、设备及存储介质 | |
CN111738728A (zh) | 交易补偿方法及装置 | |
CN111429140A (zh) | 一种实现多层级智能合约栈的原子性的方法和装置 | |
CN110827001A (zh) | 一种会计事件记账方法、***、设备和存储介质 | |
US20220350689A1 (en) | Instinctive Slither Application Assessment Engine | |
CN114743586A (zh) | 存储器模型的镜像存储实现方法、装置及存储介质 | |
CN114035864A (zh) | 接口处理方法、接口处理装置、电子设备和存储介质 | |
CN108874811B (zh) | 一种数据恢复和迁移的方法和装置 | |
CN112667614A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200522 |