流式分类统计方法

文档序号:6330652阅读:361来源:国知局
专利名称:流式分类统计方法
技术领域
本发明属于计算机信息处理的方法,具体地说是一种流式分类统计方法。
背景技术
现在的信息时代,获得信息已不是什么难事,重要的是如何处理信息、统计信息和使用信息。
IE浏览器等网络软件解决的是信息的获取问题。
WORD、WPS等办公软件,解决的是编辑、排版等信息表达的形式问题。
FOX、EXCEL、ORACLE等数据库软件,解决的是信息的组织、管理问题,采用的是“库”的思想,侧重的是状态管理,“库”有固定的格式,数据的录入也有固定的格式,数据录入后,数据即写入库结构的字段中,除字段记录的信息外,其他的历史性或个性化的痕迹就没有了。
这里所称痕迹是指那些隐含的特征或属性,它与历史的阶段性或个人的习惯有关,这些痕迹的存在,会使人觉得有亲和力和可靠的感觉。比如,一篇报道,只凭内容你就能看出它是解放前的或文革时期的或是改革开放以后的;你自己的日记本,你打开以后,你就能确定这是自己写的日记,一般情况下你不怀疑你看到的这些内容是别人记的,你对它肯定是充满了亲切和信任。如果没有这些痕迹的存在,你可能会觉得不安全。
库软件,采用的是“锅烩式”的“库”方法,“库”总是有满的时候,在一次统计中,处理的记录数目也必定是有限的。如DOS下的FOXBASE能处理的库的记录最大数只有几千个。如果某字段的数据出错,系统可能无法运行。库方法是一种集中式的方法,而日常工作和生活中的信息有往往是海量的、随机的、分散的、变化的、发展的、流水式的,用库方法来处理日常信息虽然可以使用,但肯定是蹩脚的。
现在所用的办公信息管理系统、财务管理软件,也都是采用“库”的思想,注重的是状态管理,没有记载历史的痕迹,更谈不上有什么个性化。在计算机中存储的数据与人们有很大的距离感,备份起来的数据,离开专用软件的支持无法使用,人自己也无法解读。
有些软件,如财务软件,可以打印输出供人查阅的资料,但这些资料又不能为计算机所识别。
随着计算机的普及,计算机进入家庭已成不可逆转的趋势,计算机已经完全来到了我们身边,最大限度的保留输入信息的个性化痕迹,做到人和计算机在信息识别方面的高度统一,对于提高计算机软件与人的亲和力,消除人与计算机的距离感,进一步普及计算机的使用,是非常重要的。

发明内容
本发明的目的就是为了解决上述问题,而提供一种流式分类统计方法。
流式分类统计方法,其特征在于(1)、在数据输入时数据文件以文本文件形式存放,数据文件由若干组数据组成,每一组数据可以包含标题行、参数行或数据行;标题行是本组数据的起始标志,也是上组数据的结束标志,它还包含着以后检索会用到的关键字或关键变量;参数行是对统计程序进行设置,以满足不同的统计需要。
数据行是记录各种类型属性的符号描述;每一种类型有一个名称,同时具备两种属性数值和数量。
在数据文件开始,没有标题行的数据(在文件开始在遇到标题行以前出现的数据)被认为是公共数据;有标题行,但标题内容为空的数据,也被作为公共数据来处理。
在一组数据中,参数行或数据行,根据需要,可以有,也可以没有,可以是一行,也可以是多行。
一个数据行,记录的可以是一个类型的数据,也可以是多个类型的数据,先后顺序不限。
数量和数值可以用表达式给出。
在表达式中可以使用数字、变量、类型的数值和数量。
(2)、在对上述数据文件统计时统计程序会顺序扫描文件的每一行;遇到标题行时,首先看是否有上组已统计的数据,如果有则输出该组数据的统计结果并将该结果汇总到总结果中;然后判断该标题行是否满足指定的检索条件,如果没有指定检索条件则意味着统计所有数据,如果满足条件,就对随后的参数行和数据行进行统计处理,直到遇到下一个标题行;如果标题行不满足指定条件,则跳过随后扫描到的参数行和数据行,直到遇到下一个标题行。
程序不断重复以上过程,直到文件结束。
最后输出各组数据的汇总结果。
在对数据行统计时程序为每一个类型准备一个初始化好的数值单元和数量单元;遇到一个类型的数值,就将其记录到该类型的数值单元中去;遇到一个类型的数量,就将其累加到该类型的数量单元中。
如果指定了多个文件,程序会继续统计其余文件,直到全部文件统计完毕。
如果不指定检索条件,则程序会统计全部数据,最后汇总。
如果指定了检索条件,则程序会根据检索条件,只统计那些满足检索条件的数据。
在检索条件中可以使用逻辑表达式,它由关键字、关键变量条件以及与、或、非关系运算符组成。即在逻辑表达式中可以进行“与”、“或”、“非”混合逻辑运算。
关键字,是一组数据属性的字符串表达,如科学、文学、天文、地理、张三、李四......等,如果某组数据的标题中包含该字符串(关键字),则认为该组数据满足该关键字。
关键变量,是一组数据属性的数值表达,因为有些属性是无法只用字符串表示的,如身高、血压、速度、......等,它们必须配合一个数值才可以完整准确的表达。
关键变量条件,表示的是关键变量的取值或取值范围,如身高=1.7、体重≤80、......等。如果一组数据标题中有与关键变量条件相同的关键变量,且其取值满足关键变量条件指定的范围,则认为该组数据满足该关键变量条件。
流式统计方法,恰恰与日常信息海量的、随机的、分散的、变化的、发展的、流水式的这些特征相吻合,因此采用流式统计是处理日常信息统计的最佳途径。你每天得到或产生的信息,可以看作一个信息流,通过对这个信息流进行扫描,得到你所需要的信息。
本发明提供的方法,具有如下特点1、输入的数据可以是流式结构。由于本方法在一次统计中只对数据扫描一次,因此可以处理流式数据。采用本方法的软件对所处理文件的大小是没有限制的,可以任意长度,不仅如此,它还可以一次统计多个文件,将多个文件的内容统计到一起。
2、流式统计是一种分散的数据结构形式,当某个数据出错,不会影响系统的运行,因此具有很高的可靠性。
3、格式自由,可读性好。将数据录入计算机,任何支持文本文件的平台都可进行数据输入,在格式上为用户保留了最大限度的自由,与记日记类似,可以随时、随意录入数据,可以随时、随意浏览这些原汁原味的信息,又可以让计算机从这些原汁原味、却又纷繁杂乱的信息中抓取和统计出我们需要的信息。发货记录、物料收发记录、成本统计、财务计算、现金流量记录、工作记录、私人日记....等等,所有这些都可以原汁原味地搬到计算机中,也可让计算机从这些原汁原味的信息中找出、统计出你要的东西。
4、这些信息和数据的存放采用文本格式,是最通用的文件格式,不依赖于特定的软件就可以编辑和阅读,而且节省存储空间。
5、录入的信息数据可以直接打印出来作为文件性的资料加以保存,一旦存储的数据出现问题,可以直接用打印出来的数据进行核对或用机器扫描的方式重新录入恢复。
6、模拟了人阅读和处理数据的方法,所以和使用者有着天然的亲和力,不但不排斥人工统计的方法,而且还很好地兼容了人工统计的方法,在极端的情况下,你可以根据打印出的资料,不依赖软件,不依赖计算机,完全用人工的方法,统计出你所需要的信息和数据。因此,本方法在信息资料存储和使用中的安全方面是绝对可靠的。
7、信息记录原始性强,未来的应用空间就很大。正是由于信息的原始性,可以适应以后千变万化的统计需求。
具体实施例方式
实例一以下是一个销售流水帐,较好体现了流式分类统计的特点,日常的销售信息形成了一个信息流,从统计软件来说,信息流长度是不受限制的,只受系统存储空间的限制,平时只是简单地把销售信息简单地记录下来,而且格式自由,不象FOX或EXCEL那样,需要将数据填到固定的某个格子里去,而是可以随心所欲将数据按照你喜欢的方式进行记录,你可以一种产品占一行,也可以在一行中记录好几个产品的信息,为了更清楚,你可以增加需要的注释信息。利用该信息流,你可以进行各种统计。
该数据以文本文件形式存放,“;”后是注释,对于较长的注释以“1234”作为上下承接,假设流水帐文件名为SDAT1,统计程序名为ASUM。SDAT1的具体内容如下-----------------------------------------------------------------=hide option/p;1==″date=2002.0301″山东客户A销售员1″SN=001--008″″SN=011--020″;2电视=4800:8 冰箱=2800:10 ;3==″date=2002.0302″江苏客户B销售员2″SN=021--050″;4自行车=400:30==″date=2002.0304″上海客户C销售员1″SN=051--080″冰箱=2900:30
==″date=2002.0402″江苏客户B销售员2″SN=101--180″自行车=390:80==″date=2002.0403″山东客户A销售员1″SN=201--300″冰箱=2700:100==;注释---------------------------------------------------------;1=开头为参数行,在参数行中可以对统计程序进行设置,以满足不同的需要;option后面所跟的是运行开关,;/P 表示实值统计模式,即在统计过程中,类型的数值会发生变化;如,自行车的价格从400降到390。
;与其相对应的是定值统计模式,即在统计过程中不管数值是否;变化,仅在汇总时,以最后定义的数值进行统计。例如在成本;核算时,可以先统计出材料清单然后再根据已有的价格计算成;本。
;2==开头为标题行,它表示一组数据的开始,同时也包含关键字和关键变量; 关键字山东客户A销售员1,; 关键变量date表示的是时间2002年3月1日; SN表示的是编号.001-008和011-020; (表示关键变量的部分需用引号引起来);3分别记录了两个产品的价格和数量; 电视,价格是4800,数量是8台; 冰箱,价格是2800,数量是10台;4第二组数据的标题,第二组数据开始。
==;汇总------------------------------------------------------对于上述文件,如果需要统计总的销售情况,则可以键入以下命令行运行ASUM SDAT1以下是运行结果--------------------------------------------------------------------==″date=2002.0301″山东客户A销售员1″SN=001--008″″SN=011--020″ ;2电视=4800:8 冰箱=2800:10;3*************************************************************************冰箱=(2800):10 电视=(4800):8=================66,400.==================″date=2002.0302″江苏客户B销售员2″SN=021--050″ ;4自行车=400:30************************************************************************自行车=(400):30=================12,000.==================″date=2002.0304″上海客户C销售员1″SN=051--080″冰箱=2900:30************************************************************************冰箱=(2900):30=================87,000.==================″date=2002.0402″江苏客户B销售员2″SN=101--180″自行车=390:80**************************************************************************自行车=(390):80=================3 1,200.==================″date=2002.0403″山东客户A销售员1″SN=201--300″
冰箱=2700:100****************************************************冰箱=(2700):100====================270,000.==============;注释------------------------------------------------------------------------;1=开头为参数行,在参数行中可以对统计程序进行设置,以满足不同的需要;option后面所跟的是运行开关,;/P 表示实值统计模式,即在统计过程中,类型的数值会发生变化; 如,自行车的价格从400降到390。
; 与其相对应的是定值统计模式,即在统计过程中不管数值是否; 变化,仅在汇总时,以最后定义的数值进行统计。例如在成本; 核算时,可以先统计出材料清单然后再根据已有的价格计算成; 本。
;2==开头为标题行,它表示一组数据的开始,同时也包含关键字和关键变量; 关键字山东客户A销售员1,; 关键变量date表示的是时间2002年3月1日; SN表示的是编号.001-008和011-020; (表示关键变量的部分需用引号引起来);3分别记录了两个产品的价格和数量; 电视,价格是4800,数量是8台; 冰箱,价格是2800,数量是10台;4第二组数据的标题,第二组数据开始。
==;汇总--------------------------------------------------------------------------++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++冰箱=(2750):140 电视=(4800):8 自行车=(392.727272727273):110
===========Total466,600.=============从以上统计结果可以看出,对于输入文件中的注释,统计程序是不会理会的,也不会影响统计结果,但却可以大大增加数据资料的可读性。
如果指定检索条件,则可以将检索条件加括号后,放在命令行中输入文件名的后面,如ASUM SDAT1(″date=2002.0301--0331″)统计2002年3月1日至3月31日期间的销售情况ASUM SDAT1(客户A)统计对客户A的销售情况ASUM SDAT1(销售员2)统计销售员2的销售情况ASUM SDAT1(客户B.″date=2002.0101--1231″)统计对B在2002年1月1日至12月31日期间的销售情况ASUM SDAT1(山东)统计山东市场的销售情况ASUM SDAT1(山东+江苏)统计山东市场加江苏市场的销售情况ASUM SDAT1(″SN=088″)查找编号088的产品销往何处。
实施例二以下是家庭装修的工程预算,使用了较多的变量,使数据变得清晰易读,在基本数据中定义了项目的单价,这样在以后的价格调整中就非常方便,不需要逐一调整数据,而只是修改一下前面的定义即可,在该部分中所定义的变量其作用也大致如此,凡是要重复使用的数据,用变量就比较方便。在后面的项目计算中,对每一个局部中分别考虑,并列写算式,这样就不容易遗漏,也容易检查错误,程序会自动把相同的项目汇总在一起。利用这些数据,你还可以进行其它有用的计算。
假设流水帐文件名为SDAT2,其内容如下
------------------------------------------------------------------------=option/r/nt;/r整齐列表输出/nt最后不汇总;基本数据 分号开头的行为注释行天花板=125 ;天花板单价为125元/平米木地板=480 ;木地板单价为480元/平米地板砖=120 ;地板砖单价为120元/平米ICI涂料=20 ;ICI涂料单价为20元/平米防滑砖=80 ;防滑砖单价为80元/平米瓷片=75 ;瓷片单价为75元/平米SD=2*1.15 ;一个门的面积平米SW=1.2*1.5 ;一个窗的面积平米SN=53 ;标称面积53平米S=0 ;初始化累计有效使用面积的变量;客厅L=6 W=3.75 H=2.6;定义变量长L宽W高H,以便下面使用天花板L*W;天花板的面积=L*W,在统计汇总时,程序会自动;根据前面定义的单价计算金额。
地板砖L*W;地板砖的面积=L*WICI涂料L*H*2 W*H*2-SD*4 ;ICI涂料面积计算,后面的3个数据会自动加到一;起。
S=S+L*W ;累计有效使用面积,先计算右边的表达式,再给;左边的变量赋值,因此计算表达式时,S的;数值是原来的。
;房间L=5 W=3.75 H=2.6;变量可以重复使用天花板L*W木地板L*W
ICI涂料(L+W)*H*2-SD-SW ;复杂的计算,包括括号、括号嵌套。
S=S+L*W;厨房L=3 W=2 H=2.6天花板L*W防滑砖L*W瓷片(L+W)*H*2-SD-SWS=S+L*W==;计算;根据以上数据,程序可以统计出每一项目的数量、单价和金额并汇总出总金额,;同时还可以进行一些我们感兴趣的计算---------------------------------------------------------------------有效面积=S ;将前面累计的变量S的值赋给有效面积面积利用率=S/SN ;面积利用率=有效面积/标称面积工程费=& 税费=工程费*0.05 ;&表示上一组数据的总值(总金额),即每;个项目的数量乘以单价后加在一起。
;几个算式并列可以在一行中,程序会自动;逐一计算合计=工程费+税费=?有效面积 面积利用率 工程费 税费 合计;变量输出----------------------------------------------------------------------对于上述文件,如果需要统计总的情况,只要键入以下命令行运行即可ASUM SDAT2以下是运行结果----------------------------------------------------------------------=option/r/nt;/r整齐列表输出/nt最后不汇总
**********************************************************************ICI涂料=20 82.9 ; 1,658.00瓷片 =75 21.9 ; 1,642.50地板砖 =12022.5 ; 2,700.00防滑砖 =80 6; 480.00木地板 =48018.75; 9,000.00天花板 =12547.25; 5,906.25===============21,386.75===============;计算=?有效面积 面积利用率 工程费 税费 合计 ;变量输出-----------------------------------------------------------------有效面积 =47.25//面积利用率 =.891509433962264 //工程费 =21386.75 //税费 =1069.3375//合计 =22456.0875 //------------------------------------------------------------------实施例二选择了整齐列表输出的运行开关/r,因此输出结果整齐排列,并去掉注释行和数据行。
从以上实施例一、实施例二可知,本发明的统计方法基于可读性较好、文本文件格式的数据文件。至于标题行、参数行、数据行的具体表示,在不同的实现中可以有不同的定义形式。
本发明的统计方法本身,相当于一个解释执行系统,不同的人用同一种语言在同样的系统平台上也可以做出基于本方法的不同的实现程序;也可以用不同的计算机语言编写出来,也可以在不同的系统平台上实现;并且不同的人可能规定一套不同的符号体系,或者,对同一功能的行有不同的称谓,比如称参数行为设置行,可以规定以“==”开头的行为标题行,你也可以规定以“!”开始的行为标题行;你可以用“>=”表示大于等于,你也可以用“.ge.”表示大于等于;……等等;在本申请文件中不再另作说明。
权利要求
1.流式分类统计方法,其特征在于(1)、在数据输入时数据文件以文本文件形式存放,数据文件由若干组数据组成,每一组数据可以包含标题行、参数行或数据行;标题行是本组数据的起始标志,也是上组数据的结束标志,它还包含着以后检索会用到的关键字或关键变量;参数行是对统计程序进行设置,以满足不同的统计需要;数据行是记录各种类型属性的符号描述;每一种类型有一个名称,同时具备两种属性数值和数量;(2)、在对上述数据文件统计时统计程序会顺序扫描文件的每一行;遇到标题行时,首先看是否有上组已统计的数据,如果有则输出该组数据的统计结果并将该结果汇总到总结果中;然后判断该标题行是否满足指定的检索条件,如果没有指定检索条件则意味着统计所有数据,如果满足条件,就对随后的参数行和数据行进行统计处理,直到遇到下一个标题行;如果标题行不满足指定条件,则跳过随后扫描到的参数行和数据行,直到遇到下一个标题行;程序不断重复以上过程,直到文件结束;最后输出各组数据的汇总结果。
2.如权利要求1所述的流式分类统计方法的第(1)步,其特征在于在数据文件开始,没有标题行的数据(在文件开始在遇到标题行以前出现的数据)被认为是公共数据;有标题行,但标题内容为空的数据,也被作为公共数据来处理。
3.如权利要求1所述的流式分类统计方法的第(1)步,其特征在于在一组数据中,参数行或数据行,根据需要,可以有,也可以没有,可以是一行,也可以是多行。
4.如权利要求1所述的流式分类统计方法的第(1)步,其特征在于一个数据行,记录的可以是一个类型的数据,也可以是多个类型的数据,先后顺序不限。
5.如权利要求1所述的流式分类统计方法的第(1)步,其特征在于数量和数值可以用表达式给出。
6.如权利要求5所述的流式分类统计方法,其特征在于在表达式中可以使用数字、变量、类型的数值和数量。
7.如权利要求1所述的流式分类统计方法的第(2)步,其特征在于在对数据行统计时程序为每一个类型准备一个初始化好的数值单元和数量单元;遇到一个类型的数值,就将其记录到该类型的数值单元中去;遇到一个类型的数量,就将其累加到该类型的数量单元中。
8.如权利要求1所述的流式分类统计方法的第(2)步,其特征在于统计程序如果指定了多个文件,程序会继续统计其余文件,直到全部文件统计完毕。
9.如权利要求1所述的流式分类统计方法的第(2)步,其特征在于如果不指定检索条件,则程序会统计全部数据,最后汇总。
10.如权利要求1所述的流式分类统计方法的第(2)步,其特征在于如果指定了检索条件,则程序会根据检索条件,只统计那些满足检索条件的数据。
11.如权利要求1所述的流式分类统计方法的第(2)步,其特征在于在检索条件中可以使用逻辑表达式,它由关键字、关键变量条件以及与、或、非关系运算符组成。
12.如权利要求11所述的流式分类统计方法,其特征在于关键字,是一组数据属性的字符串表达。
13.如权利要求11所述的流式分类统计方法,其特征在于关键变量,是一组数据属性的数值表达。
14.如权利要求11所述的流式分类统计方法,其特征在于关键变量条件,表示的是关键变量的取值或取值范围。
全文摘要
流式分类统计方法,其特征在于(1)在数据输入时,数据文件以文本文件形式存放,数据文件由若干组数据组成;(2)在统计时,统计程序会顺序扫描文件的每一行;遇到标题行时,首先看是否有上组已统计的数据,如果有则输出该组数据的统计结果并将该结果汇总到总结果中;对随后的参数行和数据行进行统计处理,直到遇到下一个标题行;程序不断重复以上过程,直到文件结束;最后输出各组数据的汇总结果。信息和数据的存放采用文本格式,不依赖于特定的软件就可以编辑和阅读,格式自由,可读性好,而且节省存储空间。信息记录原始性强。
文档编号G06F9/45GK1540504SQ0312420
公开日2004年10月27日 申请日期2003年4月26日 优先权日2003年4月26日
发明者徐砚星 申请人:徐砚星
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1