CN108710661A - 一种基于内存顺序表实现文本文件的数据管理方法和装置 - Google Patents
一种基于内存顺序表实现文本文件的数据管理方法和装置 Download PDFInfo
- Publication number
- CN108710661A CN108710661A CN201810453546.0A CN201810453546A CN108710661A CN 108710661 A CN108710661 A CN 108710661A CN 201810453546 A CN201810453546 A CN 201810453546A CN 108710661 A CN108710661 A CN 108710661A
- Authority
- CN
- China
- Prior art keywords
- data
- database
- sequence list
- memory sequence
- memory
- 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
Links
- 230000015654 memory Effects 0.000 title claims abstract description 186
- 238000000034 method Methods 0.000 title claims abstract description 57
- 238000011022 operating instruction Methods 0.000 claims abstract description 37
- 230000004044 response Effects 0.000 claims abstract description 30
- 238000003780 insertion Methods 0.000 claims description 23
- 230000037431 insertion Effects 0.000 claims description 23
- 230000008676 import Effects 0.000 claims description 12
- 238000013523 data management Methods 0.000 claims description 8
- 238000007726 management method Methods 0.000 claims description 7
- 230000008859 change Effects 0.000 claims description 5
- 238000012545 processing Methods 0.000 abstract description 13
- 230000008569 process Effects 0.000 description 16
- 230000004048 modification Effects 0.000 description 9
- 238000012986 modification Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000012217 deletion Methods 0.000 description 3
- 230000037430 deletion Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 206010068052 Mosaicism Diseases 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 239000002243 precursor Substances 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 210000003765 sex chromosome Anatomy 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于内存顺序表实现文本文件的数据管理方法和装置,在当前网页处于激活状态时,将原始文本文件导入所述当前网页对应的预设全局变量控件中,以使所述预设全局变量控件根据所述原始文本文件生成第一数据库数据;将所述预设全局变量控件中的第一数据库数据导入当前网页的内存顺序表,以获得满足所述内存顺序表形式的第二数据库数据;响应于用户输入的数据库操作指令,根据所述数据库操作指令对所述内存顺序表中的第二数据库数据进行管理,进而能够在计算机应用软件或计算机硬件没有升级的前提下,能够通过使用文本文件代替高度集成的SQL命令来管理数据库,可以更快地提升数据处理速度。
Description
技术领域
本发明涉及计算机信息技术领域,尤其涉及一种基于内存顺序表实现文本文件的数据管理方法和装置。
背景技术
在如今的网络时代,数据库是网页设计的核心部分。可以说,没有数据库,就没有人们现在的无卡支付。因此,提高数据库的处理速度显得特别重要。然而,现实中的网页设计只是普遍追求更新更好用的网络语言,而往往忽视了新的网络语言其执行速度更慢而对计算机的配置要求更高。因此,盲目追求新的网络语言,只会导致计算机软硬件必须升级才能适应新的网络语言的需要,而这在现实生活中会造成电子产品的大量浪费。因此,在现有计算机软硬件不变得情况下,通过技术处理手段提高数据库的处理速度具有非常现实的意义。
发明内容
本发明的主要目的在于提供了一种基于内存顺序表实现文本文件的数据管理方法和装置,旨在解决现有技术中如何在计算机应用软件或计算机硬件没有升级的前提下,如何在应用软件在运行时,提高的数据库访问管理的运行速度的问题。。
为实现上述目的,本发明提供了一种基于内存顺序表实现文本文件的数据管理方法,所述方法包括以下步骤:
在当前网页处于激活状态时,将原始文本文件导入所述当前网页对应的预设全局变量控件中,以使所述预设全局变量控件根据所述原始文本文件生成第一数据库数据;
将所述预设全局变量控件中的第一数据库数据导入当前网页的内存顺序表,以获得满足所述内存顺序表形式的第二数据库数据;
响应于用户输入的数据库操作指令,根据所述数据库操作指令对所述内存顺序表中的第二数据库数据进行管理。
优选地,所述响应于用户输入的数据库操作指令,根据所述数据库操作指令对所述内存顺序表中的第二数据库数据进行管理,具体包括:
接收用户输入的数据查询关键字;
根据所述数据查询关键字对所述内存顺序表中的第二数据库数据进行查询;
对所述内存顺序表中的与所述数据查询关键字相关的查询结果进行展示。
优选地,所述响应于用户输入的数据库操作指令,根据所述数据库操作指令对所述内存顺序表中的第二数据库数据进行管理,具体包括:
响应于用户输入的数据库调整指令;
根据所述数据库调整指令对所述内存顺序表中的第二数据库数据进行更新,并获取新的第二数据库数据;
通过所述内存顺序表中新的第二数据库数据对所述预设全局变量控件中的第一数据库数据进行替换,以获取新的第一数据库数据;
通过所述预设全局变量控件中新的第一数据库数据对所述原始文本文件中的数据进行替换,以对所述原始文本文件进行更新。
优选地,所述响应于用户输入的数据库调整指令,根据所述数据库调整指令对所述内存顺序表中的第二数据库数据进行更新,并获取新的第二数据库数据,具体包括:
接收用户输入的待插入数据与插入位置,确定所述插入位置在所述内存顺序表中的目标地址
将所述待插入数据插入到所述内存顺序表的所述目标位置上,以对所述第二数据库数据进行更新,并获取新的第二数据库数据。
优选地,所述响应于用户输入的数据库调整指令,根据所述数据库调整指令对所述内存顺序表中的第二数据库数据进行更新,并获取新的第二数据库数据,具体包括:
接收用户输入的待删除数据关键字;
判断所述内存顺序表中是否存在与所述待删除数据关键字相关的数据记录;
若是,则将所述内存顺序表中与所述待删除数据关键字相关的数据记录进行删除,以对所述第二数据库数据进行更新,并获取新的第二数据库数据。
优选地,所述响应于用户输入的数据库调整指令,根据所述数据库调整指令对所述内存顺序表中的第二数据库数据进行更新,并获取新的第二数据库数据,具体包括:
接收用户输入的待修改数据关键字;
判断所述内存顺序表中是否存在与所述待修改数据关键字相关的目标数据记录;
若是,则根据所述待修改数据关键字对所述内存顺序表中的所述目标数据记录进行修改,以对所述第二数据库数据进行更新,并获取新的第二数据库数据。
优选地,所述预设全局变量控件为session控件;
相应地,所述通过所述预设全局变量控件中新的第一数据库数据对所述原始文本文件中的数据进行替换,以对所述原始文本文件进行更新之后,还包括:
在所述当前网页关闭时,对所述session控件中的数据进行清除。
此外为实现上述目的,本发明还提出一种基于内存顺序表实现文本文件的数据管理装置,所述装置包括:
第一导入模块,用于在当前网页处于激活状态时,将原始文本文件导入所述当前网页对应的预设全局变量控件中,以使所述预设全局变量控件根据所述原始文本文件生成第一数据库数据;
第二导入模块,用于将所述预设全局变量控件中的第一数据库数据导入当前网页的内存顺序表,以获得满足所述内存顺序表形式的第二数据库数据;
管理模块,用于响应于用户输入的数据库操作指令,根据所述数据库操作指令对所述内存顺序表中的第二数据库数据进行管理。
此外为实现上述目的,本发明还提出一种基于内存顺序表实现文本文件的数据管理装置,所述装置包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于内存顺序表实现文本文件的数据管理程序,所述基于内存顺序表实现文本文件的数据管理程序配置为实现如上所述的基于内存顺序表实现文本文件的数据管理方法的步骤。
此外为实现上述目的,本发明还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有基于内存顺序表实现文本文件的数据管理程序,所述基于内存顺序表实现文本文件的数据管理程序被处理器执行时实现如上所述的基于内存顺序表实现文本文件的数据管理方法的步骤。
本发明在当前网页处于激活状态时,将原始文本文件导入所述当前网页对应的预设全局变量控件中,以使所述预设全局变量控件根据所述原始文本文件生成第一数据库数据;将所述预设全局变量控件中的第一数据库数据导入当前网页的内存顺序表,以获得满足所述内存顺序表形式的第二数据库数据;响应于用户输入的数据库操作指令,根据所述数据库操作指令对所述内存顺序表中的第二数据库数据进行管理,进而能够在计算机应用软件或计算机硬件没有升级的前提下,能够通过使用文本文件代替高度集成的SQL命令来管理数据库,可以更快地提升数据处理速度。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的基于内存顺序表实现文本文件的数据管理装置的结构示意图;
图2为本发明一种基于内存顺序表实现文本文件的数据管理方法第一实施例的流程示意图;
图3为本发明一实施例中以Session控件作为预设全局变量控件来实现文本文件的数据管理的流程示意图;
图4为本发明一种基于内存顺序表实现文本文件的数据管理方法第三实施例的流程示意图;
图5为本发明一实施例中以Application控件作为预设全局变量控件来实现文本文件的数据管理的流程示意图;
图6为本发明一种基于内存顺序表实现文本文件的数据管理装置的结构框图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明实施例方案涉及的硬件运行环境的装置结构示意图。
如图1所示,该基于内存顺序表实现文本文件的数据管理装置可以包括:处理器1001,例如CPU,通信总线1002,用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的基于内存顺序表实现文本文件的数据管理装置结构并不构成对基于内存顺序表实现文本文件的数据管理装置的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、用户接口模块、网络通信模块以及基于内存顺序表实现文本文件的数据管理程序。
在图1所示的基于内存顺序表实现文本文件的数据管理装置中,本发明基于内存顺序表实现文本文件的数据管理装置中的处理器1001、存储器1005可以设置在基于内存顺序表实现文本文件的数据管理装置中,所述基于内存顺序表实现文本文件的数据管理装置通过处理器1001调用存储器1005中存储的基于内存顺序表实现文本文件的数据管理程序,并执行以下操作:
在当前网页处于激活状态时,将原始文本文件导入所述当前网页对应的预设全局变量控件中,以使所述预设全局变量控件根据所述原始文本文件生成第一数据库数据;
将所述预设全局变量控件中的第一数据库数据导入当前网页的内存顺序表,以获得满足所述内存顺序表形式的第二数据库数据;
响应于用户输入的数据库操作指令,根据所述数据库操作指令对所述内存顺序表中的第二数据库数据进行管理。
进一步地,处理器1001可以调用存储器1005中存储的基于内存顺序表实现文本文件的数据管理程序,还执行以下操作:
接收用户输入的数据查询关键字;
根据所述数据查询关键字对所述内存顺序表中的第二数据库数据进行查询;
对所述内存顺序表中的与所述数据查询关键字相关的查询结果进行展示。
进一步地,处理器1001可以调用存储器1005中存储的基于内存顺序表实现文本文件的数据管理程序,还执行以下操作:
响应于用户输入的数据库调整指令;
根据所述数据库调整指令对所述内存顺序表中的第二数据库数据进行更新,并获取新的第二数据库数据;
通过所述内存顺序表中新的第二数据库数据对所述预设全局变量控件中的第一数据库数据进行替换,以获取新的第一数据库数据;
通过所述预设全局变量控件中新的第一数据库数据对所述原始文本文件中的数据进行替换,以对所述原始文本文件进行更新。
进一步地,处理器1001可以调用存储器1005中存储的基于内存顺序表实现文本文件的数据管理程序,还执行以下操作:
接收用户输入的待插入数据与插入位置,确定所述插入位置在所述内存顺序表中的目标地址
将所述待插入数据插入到所述内存顺序表的所述目标位置上,以对所述第二数据库数据进行更新,并获取新的第二数据库数据。
进一步地,处理器1001可以调用存储器1005中存储的基于内存顺序表实现文本文件的数据管理程序,还执行以下操作:
接收用户输入的待删除数据关键字;
判断所述内存顺序表中是否存在与所述待删除数据关键字相关的数据记录;
若是,则将所述内存顺序表中与所述待删除数据关键字相关的数据记录进行删除,以对所述第二数据库数据进行更新,并获取新的第二数据库数据。
进一步地,处理器1001可以调用存储器1005中存储的基于内存顺序表实现文本文件的数据管理程序,还执行以下操作:
接收用户输入的待修改数据关键字;
判断所述内存顺序表中是否存在与所述待修改数据关键字相关的目标数据记录;
若是,则根据所述待修改数据关键字对所述内存顺序表中的所述目标数据记录进行修改,以对所述第二数据库数据进行更新,并获取新的第二数据库数据。
进一步地,处理器1001可以调用存储器1005中存储的基于内存顺序表实现文本文件的数据管理程序,还执行以下操作:
在所述当前网页关闭时,对所述session控件中的数据进行清除。
本实施例在当前网页处于激活状态时,将原始文本文件导入所述当前网页对应的预设全局变量控件中,以使所述预设全局变量控件根据所述原始文本文件生成第一数据库数据;将所述预设全局变量控件中的第一数据库数据导入当前网页的内存顺序表,以获得满足所述内存顺序表形式的第二数据库数据;响应于用户输入的数据库操作指令,根据所述数据库操作指令对所述内存顺序表中的第二数据库数据进行管理,进而能够在计算机应用软件或计算机硬件没有升级的前提下,能够通过使用文本文件代替高度集成的SQL命令来管理数据库,可以更快地提升数据处理速度。
基于上述硬件结构,提出本发明一种基于内存顺序表实现文本文件的数据管理方法第一实施例。
在计算机动态网页设计中,最重要的是系统的后台管理,而后台管理的中心问题就是数据库的管理。然而,运用高度集成的SQL命令管理数据库的速度比较慢。虽然文本文件所能存储的数据不是很大,但完全能够满足一般数据库的需要。因此,如果用文本文件作为数据库文件,然后配以适当的数据处理技术,就可以获得更快的数据处理速度。虽然用C语言能提高文本文件的数据处理速度,但它无法在网络系统中运行。同时,文本文件作为一种顺序文件,只能顺序读写而无法随机访问。如果不采取一定的处理方式,会因为访问速度慢而不能作为数据库文件来处理。实施例以asp语言为例,运用顺序表实现对文本文件的随机访问,从而大大提高了网络系统中的数据访问速度。理论和实践都表明,用顺序表能实现文本文件的数据管理功能,能够极大提高数据库的访问速度。需要说明的是,本技术不仅仅适合文本文件,对其他类型的数据库文件同样适合,此处只想通过文本文件的数据库管理来说明本技术的可行性。
参照图2,图2为本发明一种基于内存顺序表实现文本文件的数据管理方法第一实施例的流程示意图。
本实施例中,所述方法包括以下步骤:
步骤S10:在当前网页处于激活状态时,将原始文本文件导入所述当前网页对应的预设全局变量控件中,以使所述预设全局变量控件根据所述原始文本文件生成第一数据库数据;
需要说明的,本实施例的执行主体是基于内存顺序表实现文本文件的数据管理装置的处理器,本实施例以服务器作为所述基于内存顺序表实现文本文件的数据管理装置为例进行说明。
原始文本文件中有p个字段和q条记录,可以将文本文件看作一个数据库文件,其中字段名分别为x1,x2,…,xp,第i条记录中的元素分别xi1,xi2,…,xip。
可理解的是,本实施例在具体实现中,以所述网页是由基于asp语言编程设计的网页为例进行说明,所述预设全局变量控件可以是session控件,也可以是application控件,session控件是独享式全局变量,而application控件是一个共享式全局变量。因此,可以通过session或application实现不同网页中顺序表元素的交换。本实施例以预设全局变量控件为session控件进行说明。
本实施是基于内存顺序表实现网络服务器上文本文件的随机访问,由于文本文件只能顺序读写,不能随机访问。如果直接对其进行数据库操作,则需要频繁访问外存,而这样做必然导致处理数据速度的降低。如果能将文本文件的数据导入内存顺序表,则可以实现数据的随机访问,从而大大提高了数据的处理速度。由于在每个网页中定义的顺序表是一个局部变量,作用域只在当前激活的网页中生效。要使一个发生变化的顺序表能最终导致外存文本文件也随之发生变化,则需要一个类似全局变量的模块来传递这个顺序表的内容。通过这个顺序表的传递器,实现不同网页中顺序表内容的交换。
在具体实现中,以Session为预设全局变量控件为例,当用户打开浏览器时,让其自动执行所述将原始文本文件导入所述当前网页对应的预设全局变量控件中的步骤,即处理器将文本文件看作一个数据库文件,即Session(“xi”)=xi,i=1,2,…,p即将原始文本文件(即数据库文件)导入所述当前网页对应的预设全局变量控件中,将导入到预设全局变量控件后的数据库数据作为第一数据库数据;
步骤S20:将所述预设全局变量控件中的第一数据库数据导入当前网页的内存顺序表,以获得满足所述内存顺序表形式的第二数据库数据;
可理解的是,顺序表是逻辑上相邻而物理地址连续的一序列元素组成的集合。从计算机的角度看,数组满足顺序表的要求。但仅仅满足要求还不够,还必须满足下列条件:只有一个被称为“第一”的数据元素;只有一个被称为“最后”的数据元素;除第一个元素外,每个元素都只有一个直接前驱元素;除最后一个元素外,每个元素都只有一个直接后继元素。
在具体实现中,当用户激活某个有关顺序表操作的网页时,将session控件中的数据导入到该网页中定义的内存顺序表中,以获得满足所述内存顺序表形式的第二数据库数据。
步骤S30:响应于用户输入的数据库操作指令,根据所述数据库操作指令对所述内存顺序表中的第二数据库数据进行管理。
在具体实现中,原始文本文件中有p个字段和q条记录,其中字段名分别为x1,x2,…,xp,第i条记录中的元素分别xi1,xi2,…,xip,
在响应于用户输入的数据库操作指令后,处理器会确定字段x1是关键字,i∈{1,2,…,q},然后通过对顺序表的操作实现对文本数据库的操作,即对所述当前网页对应的顺序表进行查找、插入、删除以及修改操作。参考图3,如果对顺序表进行了插入,删除或修改等操作,则需要用顺序表中的内容更新session控件中的内容;当退出浏览器时,如果顺序表的操作涉及内容的修改,则需要将session控件中的内容替换文本文件,最后销毁session控件中的内容数据。
本实施例在当前网页处于激活状态时,将原始文本文件导入所述当前网页对应的预设全局变量控件中,以使所述预设全局变量控件根据所述原始文本文件生成第一数据库数据;将所述预设全局变量控件中的第一数据库数据导入当前网页的内存顺序表,以获得满足所述内存顺序表形式的第二数据库数据;响应于用户输入的数据库操作指令,根据所述数据库操作指令对所述内存顺序表中的第二数据库数据进行管理,进而能够在计算机应用软件或计算机硬件没有升级的前提下,能够通过使用文本文件代替高度集成的SQL命令来管理数据库,可以更快地提升数据处理速度。
进一步地,基于上述方法的第一实施例提出本发明方法的第二实施例;所述第二实施例以对所述内存顺序表中数据进行查询为例进行说明。
本实施例中,所述步骤S30具体包括:
首先,接收用户输入的数据查询关键字,然后,根据所述数据查询关键字对所述内存顺序表中的第二数据库数据进行查询;
可理解的是,查询分为两种,一种是顺序查询,其时间复杂度为O(n);另一种是折半查找,其查找速度最快,但要求顺序表必须有序,其时间复杂度为设顺序表是由n个元素组成的序列,用X={x1,x1,…,xn}。又设元素y是待查询的元素。
顺序查询在具体实现中,例如设i=1,表示顺序查询的首位置。如果xi=y,则查询结束;否则,通过i=i+1使查询位置后移。该过程循环进行,直至查询成功或者i>n位置。如果最终出现i>n,则意味着否则,有i∈{1,2,…,n}使得xi=y,即y∈X。这种查找通常称为从前到后查找,有时也称为从左到右查找。总之,它是一种顺序查找。
设i=n,表示顺序查询的首位置。如果xi=y,则查询结束;否则,通过i=i-1u使查询位置前移。该过程循环进行,直至查询成功或者i<1位置。如果最终出现i<1,则意味着否则,有i∈{1,2,…,n}使得xi=y,即y∈X。这种查找通常称为从后到前查找,有时也称为从右到左查找。总之,它也是一种顺序查找。无论是有序顺序表还是无序顺序表,该方法都能查询,但是其查询速度最慢。
折半查找在具体实现中,该方法要求顺序表必须是一个有序表。为方便起见,不妨设X={x1,x1,…,xn}满足x1≥x2≥…≥xn,至于x1≤x2≤…≤xn的情况类似。则折半查找的过程如下:
(1)令p=1和q=n,即分别指示有序顺表序的第一个元素和最后一个元素;
(2)计算中位素位置
(3)如果y>xm,则使q=m-1;
(4)如果y<xm,则使p=m+1;
(5)如果y=xm,则查询过程结束;
(6)重复步骤(2),(3),(4),直至y=xm或p>q。
显然,本方法是速度最快的查询方式,但它要求顺序表必须是有序的。
最后,对所述内存顺序表中的与所述数据查询关键字相关的查询结果进行展示。
进一步地,参考图4,基于上述方法的第一实施例提出本发明方法的第三实施例;所述第三实施例以对所述内存顺序表中数据进行数据插入、修改或删除为例进行说明。
本实施例中,所述步骤S30具体包括:
步骤S301:响应于用户输入的数据库调整指令;
步骤S302:根据所述数据库调整指令对所述内存顺序表中的第二数据库数据进行更新,并获取新的第二数据库数据;
在具体实现中,若判断出数据数据库调整指令为数据插入指令,则确定待插入数据与插入位置,确定所述插入位置在所述内存顺序表中的目标地址;将所述待插入数据插入到所述内存顺序表的所述目标位置上,以对所述第二数据库数据进行更新,并获取新的第二数据库数据。
可理解的是,顺序表的插入原理为根据插入位置的不同,分为表首插入,表尾插入以及表的任意位置插入三种方式。其中表首插入需要后移n-1个元素,表尾插入不需要移动元素,而位置插入元素则根据具体插入位置来决定是否需要移动元素。同样,设X={x1,x1,…,xn}是需要添加新元素的顺序表,而元素y是待插入的元素。
其中,表首插入具体实现过程为:首先,需要为元素y的表首插入腾出位置,即xi+1=xi,其中i=n,n-1,…,2。然后,执行x1=y。最后,是表长n增1,即n=n+1。注意,此处插入没有考虑元素的唯一问题。即表中元素不是关键字,否则需要先判断y在顺序表中是否已经存在。
表尾插入具体实现过程为:表尾插入不需要移动任何元素,从其执行过程便可看出:xn+1=y和n=n+1。需要指出的是,如果y∈{x1,x1,…,xn}并且要求元素唯一,则不能插入。
位置插入具体实现过程为:设k是元素的插入位置,则需要判断k值的合法性问题。如果k<1或k>n+1,则由于插入位置不对而无法插入;否则,插入过程如下:
xi+1=xi,i=n,n-1,…,k,xk=y和n=n+1。
同样,如果要求插入的元素唯一,则要求否则,无法插入。当k=1时,就是表首插入。当k=n+1,就是表尾插入。
进一步地,若判断出数据数据库调整指令为数据删除指令,接收用户输入的待删除数据关键字;判断所述内存顺序表中是否存在与所述待删除数据关键字相关的数据记录;若是,则将所述内存顺序表中与所述待删除数据关键字相关的数据记录进行删除,以对所述第二数据库数据进行更新,并获取新的第二数据库数据。
可理解的是,顺序表的元素删除,按删除位置可将顺序表的删除分为表首删除,表尾删除及任意位置删除三种情况。在顺序表的元素删除过程中,同样需要移动元素,以便顺序表的中间不会留下空当。
表首删除的具体实现过程为:当删除的元素是表首元素,则其后的n-1个元素需要前移,同时使表长减1,即执行下列过程:
xi-1=xi,i=2,3,…,n和n=n-1。
表尾删除的具体实现过程为:当删除的元素是表尾元素,则没有元素需要前移,只需要使表长减1,即n=n-1即可。
位置删除的具体实现过程为:设要删除顺序表X中的第k个元素,则需要对k的合法性进行判断。如果k<1或k>n,则没有对应位置的元素可以被删除。反之,如果k∈{1,2,…,n},则删除过程如下:
xi-1=xi,i=k+1,k+2,…,n和n=n-1;显然,当k=1就是表首删除,而k=n就是表尾删除。
进一步地,若判断出数据数据库调整指令为数据修改指令,则确定输入的待修改数据关键字,判断所述内存顺序表中是否存在与所述待修改数据关键字相关的目标数据记录;若是,则根据所述待修改数据关键字对所述内存顺序表中的所述目标数据记录进行修改,以对所述第二数据库数据进行更新,并获取新的第二数据库数据。
可理解的是,修改元素的过程中不存在元素移动。但如果要求表中的元素必须唯一,则需要对修改后的元素进行唯一性判判断。比如,修改表中第k个元素为y,则要求y∈{1,2,…,k-1}和y∈{k+1,k+2,…,n}。
步骤S303:通过所述内存顺序表中新的第二数据库数据对所述预设全局变量控件中的第一数据库数据进行替换,以获取新的第一数据库数据;
步骤S304:通过所述预设全局变量控件中新的第一数据库数据对所述原始文本文件中的数据进行替换,以对所述原始文本文件进行更新。
可理解的是,如果仅仅对顺序表进行查找操作,则预设全局变量控件中的第一数据库数据内容不需要更新,但如果对顺序表进行了插入,删除或修改等操作,顺序表一旦发生改变,都及时存储在预设全局变量控件application控件中。如果服务器一旦关机,则application控件中的内容会全部丢失。所以,在关机之前,一定要将application控件的内容替换掉原文本文件的内容。
本实施例由于需要将更新后的数据保存到外存中的原始文本文件中,而要想将内存表的数据保存到外存中必须通过预设全局变量控件,因此需要用内存顺序表中的第二数据库数据更新所述预设全局变量控件中的第一数据库数据,然后通过所述预设全局变量控件中新的第一数据库数据对所述原始文本文件中的数据进行替换,以将修改的数据保存到外存中的所述原始文本文件中。
进一步地,基于上述方法的第一实施例提出本发明方法的第四实施例;
本实施例参考图5,以application控件为预设全局控件为例来实现不同网页中顺序表中元素的共享;
考虑到用session作为数据传递器时,如果多个用户都在上网,并通过顺序表实现对元素的插入,删除或修改操作时,会导致一个人的顺序表操作结果会覆盖掉另一个的操作结果。为了使多个上网用户的顺序表操作都有效,则需要使用application空间来实现,图2是一个完整的多用户操作顺序表的数据库管理过程:
虽然每个用户都有可能通过自己的浏览器对同一文本数据库进行管理,但服务器只会为所有个用户分配一个共享的application控件。因此,如果多个用户同时上网,并对同一文本进行数据库管理,只要保证用户在更新application时不会受到其他人干扰即可。所以,要实现基于application控件的顺序表管理数据,所以授权用户都可以改变顺序表,从而真正实现了网络服务器上文本数据库的随机访问。
进一步地,用application控件实现多用户共享式处理线性表:通过session控件和application控件的比较可以发现,为了使操作的结果对每个用户都有效,则必须用application控件实现不同网页中数据的传递。在对顺序表进行操作,必须先进行初始化工作:
当服务器启动时,需要要将文本数据库的内容导入application控件,即一方面,通过一个网页将外存数据导入内存顺序表;另一方面,将顺序表的内容导入application控件:Application(“xi”)=xi,i=1,2,…,p。
此外,参照图6,本发明还提出一种基于内存顺序表实现文本文件的数据管理装置实施例,本实施例中,所述装置包括:
第一导入模块10,用于在当前网页处于激活状态时,将原始文本文件导入所述当前网页对应的预设全局变量控件中,以使所述预设全局变量控件根据所述原始文本文件生成第一数据库数据;
第二导入模块20,用于将所述预设全局变量控件中的第一数据库数据导入当前网页的内存顺序表,以获得满足所述内存顺序表形式的第二数据库数据;
管理模块30,用于响应于用户输入的数据库操作指令,根据所述数据库操作指令对所述内存顺序表中的第二数据库数据进行管理。
本发明基于内存顺序表实现文本文件的数据管理装置的具体实现方式可参照上述基于内存顺序表实现文本文件的数据管理装置方法实施例,此处不再赘述。
本实施例在当前网页处于激活状态时,将原始文本文件导入所述当前网页对应的预设全局变量控件中,以使所述预设全局变量控件根据所述原始文本文件生成第一数据库数据;将所述预设全局变量控件中的第一数据库数据导入当前网页的内存顺序表,以获得满足所述内存顺序表形式的第二数据库数据;响应于用户输入的数据库操作指令,根据所述数据库操作指令对所述内存顺序表中的第二数据库数据进行管理,进而能够在计算机应用软件或计算机硬件没有升级的前提下,能够通过使用文本文件代替高度集成的SQL命令来管理数据库,可以更快地提升数据处理速度。
此外,本发明还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有基于内存顺序表实现文本文件的数据管理程序,所述基于内存顺序表实现文本文件的数据管理程序被处理器执行时实现如下操作:
在当前网页处于激活状态时,将原始文本文件导入所述当前网页对应的预设全局变量控件中,以使所述预设全局变量控件根据所述原始文本文件生成第一数据库数据;
将所述预设全局变量控件中的第一数据库数据导入当前网页的内存顺序表,以获得满足所述内存顺序表形式的第二数据库数据;
响应于用户输入的数据库操作指令,根据所述数据库操作指令对所述内存顺序表中的第二数据库数据进行管理。
进一步地,所述基于内存顺序表实现文本文件的数据管理程序被处理器执行时还实现如下操作:
接收用户输入的数据查询关键字;
根据所述数据查询关键字对所述内存顺序表中的第二数据库数据进行查询;
对所述内存顺序表中的与所述数据查询关键字相关的查询结果进行展示。
进一步地,所述基于内存顺序表实现文本文件的数据管理程序被处理器执行时还实现如下操作:
响应于用户输入的数据库调整指令;
根据所述数据库调整指令对所述内存顺序表中的第二数据库数据进行更新,并获取新的第二数据库数据;
通过所述内存顺序表中新的第二数据库数据对所述预设全局变量控件中的第一数据库数据进行替换,以获取新的第一数据库数据;
通过所述预设全局变量控件中新的第一数据库数据对所述原始文本文件中的数据进行替换,以对所述原始文本文件进行更新。
进一步地,所述基于内存顺序表实现文本文件的数据管理程序被处理器执行时还实现如下操作:
接收用户输入的待插入数据与插入位置,确定所述插入位置在所述内存顺序表中的目标地址;
将所述待插入数据插入到所述内存顺序表的所述目标位置上,以对所述第二数据库数据进行更新,并获取新的第二数据库数据。
进一步地,所述基于内存顺序表实现文本文件的数据管理程序被处理器执行时还实现如下操作:
接收用户输入的待删除数据关键字;
判断所述内存顺序表中是否存在与所述待删除数据关键字相关的数据记录;
若是,则将所述内存顺序表中与所述待删除数据关键字相关的数据记录进行删除,以对所述第二数据库数据进行更新,并获取新的第二数据库数据。
进一步地,所述基于内存顺序表实现文本文件的数据管理程序被处理器执行时还实现如下操作:
接收用户输入的待修改数据关键字;
判断所述内存顺序表中是否存在与所述待修改数据关键字相关的目标数据记录;
若是,则根据所述待修改数据关键字对所述内存顺序表中的所述目标数据记录进行修改,以对所述第二数据库数据进行更新,并获取新的第二数据库数据。
进一步地,所述基于内存顺序表实现文本文件的数据管理程序被处理器执行时还实现如下操作:
在所述当前网页关闭时,对所述session控件中的数据进行清除。
本实施例在当前网页处于激活状态时,将原始文本文件导入所述当前网页对应的预设全局变量控件中,以使所述预设全局变量控件根据所述原始文本文件生成第一数据库数据;将所述预设全局变量控件中的第一数据库数据导入当前网页的内存顺序表,以获得满足所述内存顺序表形式的第二数据库数据;响应于用户输入的数据库操作指令,根据所述数据库操作指令对所述内存顺序表中的第二数据库数据进行管理,进而能够在计算机应用软件或计算机硬件没有升级的前提下,能够通过使用文本文件代替高度集成的SQL命令来管理数据库,可以更快地提升数据处理速度。
进一步需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台装置(可以是手机,,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种基于内存顺序表实现文本文件的数据管理方法,其特征在于,所述方法包括:
在当前网页处于激活状态时,将原始文本文件导入所述当前网页对应的预设全局变量控件中,以使所述预设全局变量控件根据所述原始文本文件生成第一数据库数据;
将所述预设全局变量控件中的第一数据库数据导入当前网页的内存顺序表,以获得满足所述内存顺序表形式的第二数据库数据;
响应于用户输入的数据库操作指令,根据所述数据库操作指令对所述内存顺序表中的第二数据库数据进行管理。
2.如权利要求1所述的方法,其特征在于,所述响应于用户输入的数据库操作指令,根据所述数据库操作指令对所述内存顺序表中的第二数据库数据进行管理,具体包括:
接收用户输入的数据查询关键字;
根据所述数据查询关键字对所述内存顺序表中的第二数据库数据进行查询;
对所述内存顺序表中的与所述数据查询关键字相关的查询结果进行展示。
3.如权利要求1所述的方法,其特征在于,所述响应于用户输入的数据库操作指令,根据所述数据库操作指令对所述内存顺序表中的第二数据库数据进行管理,具体包括:
响应于用户输入的数据库调整指令;
根据所述数据库调整指令对所述内存顺序表中的第二数据库数据进行更新,并获取新的第二数据库数据;
通过所述内存顺序表中新的第二数据库数据对所述预设全局变量控件中的第一数据库数据进行替换,以获取新的第一数据库数据;
通过所述预设全局变量控件中新的第一数据库数据对所述原始文本文件中的数据进行替换,以对所述原始文本文件进行更新。
4.如权利要求3所述的方法,其特征在于,所述响应于用户输入的数据库调整指令,根据所述数据库调整指令对所述内存顺序表中的第二数据库数据进行更新,并获取新的第二数据库数据,具体包括:
接收用户输入的待插入数据与插入位置,确定所述插入位置在所述内存顺序表中的目标地址;
将所述待插入数据插入到所述内存顺序表的所述目标位置上,以对所述第二数据库数据进行更新,并获取新的第二数据库数据。
5.如权利要求3所述的方法,其特征在于,所述响应于用户输入的数据库调整指令,根据所述数据库调整指令对所述内存顺序表中的第二数据库数据进行更新,并获取新的第二数据库数据,具体包括:
接收用户输入的待删除数据关键字;
判断所述内存顺序表中是否存在与所述待删除数据关键字相关的数据记录;
若是,则将所述内存顺序表中与所述待删除数据关键字相关的数据记录进行删除,以对所述第二数据库数据进行更新,并获取新的第二数据库数据。
6.如权利要求3所述的方法,其特征在于,所述响应于用户输入的数据库调整指令,根据所述数据库调整指令对所述内存顺序表中的第二数据库数据进行更新,并获取新的第二数据库数据,具体包括:
接收用户输入的待修改数据关键字;
判断所述内存顺序表中是否存在与所述待修改数据关键字相关的目标数据记录;
若是,则根据所述待修改数据关键字对所述内存顺序表中的所述目标数据记录进行修改,以对所述第二数据库数据进行更新,并获取新的第二数据库数据。
7.如权利要求3-6任一项所述的方法,其特征在于,所述预设全局变量控件为session控件;
相应地,所述通过所述预设全局变量控件中新的第一数据库数据对所述原始文本文件中的数据进行替换,以对所述原始文本文件进行更新之后,还包括:
在所述当前网页关闭时,对所述session控件中的数据进行清除。
8.一种基于内存顺序表实现文本文件的数据管理装置,其特征在于,所述装置包括:
第一导入模块,用于在当前网页处于激活状态时,将原始文本文件导入所述当前网页对应的预设全局变量控件中,以使所述预设全局变量控件根据所述原始文本文件生成第一数据库数据;
第二导入模块,用于将所述预设全局变量控件中的第一数据库数据导入当前网页的内存顺序表,以获得满足所述内存顺序表形式的第二数据库数据;
管理模块,用于响应于用户输入的数据库操作指令,根据所述数据库操作指令对所述内存顺序表中的第二数据库数据进行管理。
9.一种基于内存顺序表实现文本文件的数据管理装置,其特征在于,所述装置包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于内存顺序表实现文本文件的数据管理程序,所述基于内存顺序表实现文本文件的数据管理程序配置为实现如权利要求1至7中任一项所述的基于内存顺序表实现文本文件的数据管理方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有基于内存顺序表实现文本文件的数据管理程序,所述基于内存顺序表实现文本文件的数据管理程序被处理器执行时实现如权利要求1至7中任一项所述的基于内存顺序表实现文本文件的数据管理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810453546.0A CN108710661B (zh) | 2018-05-11 | 2018-05-11 | 一种基于内存顺序表实现文本文件的数据管理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810453546.0A CN108710661B (zh) | 2018-05-11 | 2018-05-11 | 一种基于内存顺序表实现文本文件的数据管理方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108710661A true CN108710661A (zh) | 2018-10-26 |
CN108710661B CN108710661B (zh) | 2020-10-27 |
Family
ID=63868118
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810453546.0A Expired - Fee Related CN108710661B (zh) | 2018-05-11 | 2018-05-11 | 一种基于内存顺序表实现文本文件的数据管理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108710661B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112860668A (zh) * | 2021-02-23 | 2021-05-28 | 浪潮云信息技术股份公司 | 一种Store禁用和启用功能的实现方法 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102118268A (zh) * | 2011-02-18 | 2011-07-06 | 中兴通讯股份有限公司 | 一种保存话务数据的方法及系统 |
CN102769626A (zh) * | 2012-07-26 | 2012-11-07 | 北京神州绿盟信息安全科技股份有限公司 | 一种会话信息同步方法、装置以及系统 |
US20140195528A1 (en) * | 2013-01-04 | 2014-07-10 | International Business Machines Corporation | System and method for reflective searching of previous search results |
CN105045891A (zh) * | 2015-07-31 | 2015-11-11 | 中国科学院计算技术研究所 | 提高顺序表性能方法、系统、架构、优化方法及存储装置 |
CN105812351A (zh) * | 2016-02-23 | 2016-07-27 | 平安科技(深圳)有限公司 | 实现会话共享的方法和系统 |
CN105933324A (zh) * | 2016-06-03 | 2016-09-07 | 中国科学院信息工程研究所 | 一种基于网络流在线实时分析跳转链和溯源的方法和系统 |
CN106933903A (zh) * | 2015-12-31 | 2017-07-07 | 北京国双科技有限公司 | 应用于分布式存储的存储方法及装置 |
CN106933931A (zh) * | 2015-12-31 | 2017-07-07 | 远光软件股份有限公司 | 一种网页数据的显示方法及装置 |
US20170243306A1 (en) * | 2016-02-24 | 2017-08-24 | Andrew Lloyd Lenczycki | Multiple database application for creating and coordinating food orders for groups |
-
2018
- 2018-05-11 CN CN201810453546.0A patent/CN108710661B/zh not_active Expired - Fee Related
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102118268A (zh) * | 2011-02-18 | 2011-07-06 | 中兴通讯股份有限公司 | 一种保存话务数据的方法及系统 |
CN102769626A (zh) * | 2012-07-26 | 2012-11-07 | 北京神州绿盟信息安全科技股份有限公司 | 一种会话信息同步方法、装置以及系统 |
US20140195528A1 (en) * | 2013-01-04 | 2014-07-10 | International Business Machines Corporation | System and method for reflective searching of previous search results |
CN105045891A (zh) * | 2015-07-31 | 2015-11-11 | 中国科学院计算技术研究所 | 提高顺序表性能方法、系统、架构、优化方法及存储装置 |
CN106933903A (zh) * | 2015-12-31 | 2017-07-07 | 北京国双科技有限公司 | 应用于分布式存储的存储方法及装置 |
CN106933931A (zh) * | 2015-12-31 | 2017-07-07 | 远光软件股份有限公司 | 一种网页数据的显示方法及装置 |
CN105812351A (zh) * | 2016-02-23 | 2016-07-27 | 平安科技(深圳)有限公司 | 实现会话共享的方法和系统 |
US20170243306A1 (en) * | 2016-02-24 | 2017-08-24 | Andrew Lloyd Lenczycki | Multiple database application for creating and coordinating food orders for groups |
CN105933324A (zh) * | 2016-06-03 | 2016-09-07 | 中国科学院信息工程研究所 | 一种基于网络流在线实时分析跳转链和溯源的方法和系统 |
Non-Patent Citations (2)
Title |
---|
刘亚东,等: "《C/C++常用算法手册 第3版》", 30 September 2017 * |
臧铁钢,等: "《工程软件开发技术基础》", 31 January 2017 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112860668A (zh) * | 2021-02-23 | 2021-05-28 | 浪潮云信息技术股份公司 | 一种Store禁用和启用功能的实现方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108710661B (zh) | 2020-10-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104412249B (zh) | 基于云的文件系统内的文件处置 | |
CN102262620B (zh) | 一种文档协作方法 | |
US8750144B1 (en) | System and method for reducing required memory updates | |
CN101866357B (zh) | 一种三态内容寻址存储器的表项更新方法及装置 | |
CN108255958A (zh) | 数据查询方法、装置和存储介质 | |
CN107038044A (zh) | 基于Unity3D的游戏资源离散加载方法及系统 | |
CN106464669B (zh) | 基于访问模式的智能文件预取 | |
CN106796588B (zh) | 索引表的更新方法和设备 | |
CN102365636A (zh) | 用于再现页的设备和方法 | |
CN107004013A (zh) | 用于使用基于硬件的处理来提供分布式树遍历的系统和方法 | |
CN104965826B (zh) | 基于浏览器的检索方法及检索装置 | |
CN104331428A (zh) | 一种小文件和大文件的存储及访问方法 | |
CN105677904B (zh) | 基于分布式文件系统的小文件存储方法及装置 | |
CN111506604B (zh) | 访问数据的方法、装置和计算机程序产品 | |
CN103019964B (zh) | 一种缓存数据访问方法及数据缓存系统 | |
US20160094500A1 (en) | Context-based automated/intelligent content management | |
CN104268159A (zh) | 一种基于动态镜像的实时数据仓库数据预存取方法 | |
CN107105336A (zh) | 数据处理方法及数据处理装置 | |
US11593268B2 (en) | Method, electronic device and computer program product for managing cache | |
US20190034520A1 (en) | Spontaneous networking | |
CN105204861B (zh) | 一种注册表重定向方法及装置 | |
CN110532198A (zh) | 一种存储空间分配的方法及装置 | |
US8818971B1 (en) | Processing bulk deletions in distributed databases | |
CN114792009A (zh) | 一种数据管理的方法、设备及系统 | |
CN107450711A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20201027 |
|
CF01 | Termination of patent right due to non-payment of annual fee |