CN109034781A - 一种收银系统识别方法、识别装置及计算机可读存储介质 - Google Patents
一种收银系统识别方法、识别装置及计算机可读存储介质 Download PDFInfo
- Publication number
- CN109034781A CN109034781A CN201810677644.2A CN201810677644A CN109034781A CN 109034781 A CN109034781 A CN 109034781A CN 201810677644 A CN201810677644 A CN 201810677644A CN 109034781 A CN109034781 A CN 109034781A
- Authority
- CN
- China
- Prior art keywords
- cash register
- register system
- database
- feature
- local
- 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
- 238000000034 method Methods 0.000 title claims abstract description 123
- 230000008569 process Effects 0.000 claims abstract description 99
- 238000004364 calculation method Methods 0.000 claims abstract description 28
- 239000011159 matrix material Substances 0.000 claims description 55
- 230000003993 interaction Effects 0.000 claims description 25
- 238000004590 computer program Methods 0.000 claims description 14
- 230000009467 reduction Effects 0.000 claims description 8
- 238000002347 injection Methods 0.000 claims description 7
- 239000007924 injection Substances 0.000 claims description 7
- 230000002452 interceptive effect Effects 0.000 claims description 4
- 230000010365 information processing Effects 0.000 claims description 2
- 238000004422 calculation algorithm Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 230000009471 action Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- FFBHFFJDDLITSX-UHFFFAOYSA-N benzyl N-[2-hydroxy-4-(3-oxomorpholin-4-yl)phenyl]carbamate Chemical compound OC1=C(NC(=O)OCC2=CC=CC=C2)C=CC(=C1)N1CCOCC1=O FFBHFFJDDLITSX-UHFFFAOYSA-N 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 235000013399 edible fruits Nutrition 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000002939 deleterious effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 235000013305 food Nutrition 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000035800 maturation Effects 0.000 description 1
- 235000012054 meals Nutrition 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 239000000243 solution Substances 0.000 description 1
- 230000007474 system interaction Effects 0.000 description 1
- 230000026676 system process Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 235000013311 vegetables Nutrition 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/08—Payment architectures
- G06Q20/20—Point-of-sale [POS] network systems
-
- 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
- G06Q50/00—Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/12—Hotels or restaurants
Abstract
本发明提供了一种收银系统识别方法、识别装置及计算机可读存储介质,收银系统识别方法包括以下步骤:S101:预设一收银系统特征库,所述收银系统特征库包括至少一种收银系统的属性信息,所述属性信息包括进程名称、注册表字段、配置文件路径、DLL文件特征、数据库类型;S102:获取本地收银系统的属性信息,并根据所述属性信息与所述收银系统特征库的匹配结果形成一特征矩阵;S103:将所述特征矩阵与所述收银系统特征库进行相似度计算,选择所述收银系统特征库中相似度最高的收银系统作为与所述本地收银系统相匹配的收银系统。上述技术方案实施后,准确识别不同厂家的本地收银系统;兼容同一厂家的本地收银系统的不同版本。
Description
技术领域
本发明涉及收银系统领域,尤其涉及一种收银系统识别方法、识别装置及计算机可读存储介质。
背景技术
随着互联网技术的发展,传统的餐饮行业也纷纷通过互联网技术手段实现线上与线下运营的结合,例如常见的外卖点餐、远程点菜等服务,用户不需要直接面对餐厅,就能通过互联网进行点菜下单。这样的互联网餐饮系统往往需要接入不同的餐厅,特别是与餐厅的本地收银系统连接,实现下单自动化。
然而,各餐厅所使用的本地收银系统也可能来自不同的厂商,或者收银系统是同一厂商的不同版本,导致下单、结账等餐饮业务相关的数据无法有效兼容传输,这就给本地收银系统的接入造成了困难。因此,需要一种收银系统识别方法,能够准确识别餐厅使用的本地收银系统,实现外部与本地收银系统的业务数据交互。
发明内容
为了克服现有技术缺陷,本发明的目的在于提供一种收银系统识别方法、识别装置及计算机可读存储介质,基于收银系统特征库与本地收银系统的匹配,实现对本地收银系统准确识别的技术效果。
本发明公开了一种收银系统识别方法,包括以下步骤:
S101:预设一收银系统特征库,所述收银系统特征库包括至少一种收银系统的属性信息,所述属性信息包括进程名称、注册表字段、配置文件路径、DLL文件特征、数据库类型,其中,上述属性信息内容保存为矩阵形式,矩阵的列维度表示各属性信息的类别,矩阵的行维度表示不同的收银系统,每一种收银系统对应一行序号;
S102:获取本地收银系统的属性信息,并根据所述属性信息与所述收银系统特征库的匹配结果形成一特征矩阵,所述特征矩阵与所述收银系统特征库具有相同的列维度;
S103:将所述特征矩阵与所述收银系统特征库进行相似度计算,选择所述收银系统特征库中相似度最高的收银系统作为与所述本地收银系统相匹配的收银系统。
优选地,步骤S102进一步包括以下步骤:
S102-1:获取本地收银系统的进程名称,并将所述本地收银系统的进程名称与所述收银系统特征库中的所有进程名称相匹配,判断所述收银系统特征库中是否有进程名称匹配成功;
S102-2:当所述收银系统特征库中有进程名称匹配成功时,则记录匹配成功的进程名称在所述收银系统特征库中的行序号作为所述特征矩阵中对应进程名称的参数,并根据所述本地收银系统的进程名称获取所述本地收银系统的系统路径及所述系统路径下的DLL文件特征及exe文件特征,其中,DLL文件特征及exe文件特征分别表示为矩阵形式,其中行维度为DLL文件或exe文件的文件名,列维度为DLL文件或exe文件相对于系统路径的层级及创建时间,并对上述矩阵进行降维及归一化处理,得到DLL文件特征值及exe文件特征值,所述DLL文件特征值及exe文件特征值作为所述特征矩阵中对应DLL文件特征或exe文件特征的参数,转入步骤S102-4;
S102-3:当所述收银系统特征库中无进程名称匹配成功时,则所述特征矩阵中对应进程名的参数为0,对所述收银系统特征库内的配置文件路径执行遍历查找操作,将所述本地收银系统的配置文件路径与所述收银系统特征库中的所有配置文件路径相匹配,判断所述收银系统特征库中是否有配置文件路径匹配成功,若匹配成功,则记录匹配成功的配置文件路径在所述收银系统特征库中的行序号作为所述特征矩阵中对应配置文件路径的参数,转入步骤S102-4;
S102-4:遍历查找所述收银系统特征库内的注册表字段,将所述本地收银系统的注册表字段与所述收银系统特征库中的所有注册表字段相匹配,判断所述收银系统特征库中是否有注册表字段匹配成功,若匹配成功,则记录匹配成功的注册表字段在所述收银系统特征库中的行序号作为所述特征矩阵中对应注册表字段的参数,若未匹配成功,则所述特征矩阵中对应注册表字段的参数为0;
S102-5:从所述本地收银系统所在的计算机的服务列表中查找所述本地收银系统的数据库服务,若所述数据库服务已存在,则获取并记录所述本地收银系统的数据库类型;若所述数据库服务不存在,则所述特征矩阵中对应数据库类型的参数为0;
S102-6:若上述步骤S102-1至S102-5中得到的所述特征矩阵中各参数对应的行序号的数据库连接信息为空,则通过所述本地收银系统的配置文件或DLL文件注入的方式获取所述本地收银系统的数据库连接信息,将所述数据库连接信息记录在所述收银系统特征库中。
优选地,步骤S103之后,所述收银系统识别方法还进一步包括以下步骤:
S104:根据所述收银系统应用领域的业务的数据库表名称和字段判断所述收银系统特征库与所述本地收银系统的版本兼容性,其中,所述收银系统特征库中还包括数据库特征和数据表特征,其中所述数据库特征为针对至少一种业务的数据库操作语句相关联的表名称集合,所述数据表特征为针对至少一种业务的数据库操作语句相关联的字段集合;步骤S104包括以下步骤:
S104-1:获取所述本地收银系统所有的表名称;
S104-2:计算所述本地收银系统的表名称与所述数据库特征的相似度并归一化为相似百分比;
S104-3:取所述本地收银系统的表名称与所述数据库特征的并集,获取所述并集中的表的字段,得到基于表维度的收银系统表特征矩阵;
S104-4:将所述收银系统表特征矩阵与所述收银系统特征库中同一品牌下各版本的数据库特征及数据表特征进行相似度计算,得到各个版本的相似百分比;
S104-5:根据贝叶斯公式计算数据库特征相似前提下数据表特征最相似的收银系统版本作为所述本地收银系统的版本。
优选地,步骤S104之后,所述收银系统识别方法还进一步包括以下步骤:
S105:通过贝叶斯公式检验所述业务的关键路径的所有节点是否满足兼容性要求,其中关键路径为所述业务涉及的表名称及表内关键字段。
本发明还公开了一种收银系统识别装置,设于安装有收银系统的计算机内,包括:
收银系统特征库,预设于所述收银系统识别装置内,包括至少一种收银系统的属性信息,所述属性信息包括进程名称、注册表字段、配置文件路径、DLL文件特征、数据库类型,其中,上述属性信息内容保存为矩阵形式,矩阵的列维度表示各属性信息的类别,矩阵的行维度表示不同的收银系统,每一种收银系统对应一行序号;
特征获取模块,与所述收银系统特征库连接,获取安装于所述计算机内的本地收银系统的属性信息,并根据所述属性信息与所述收银系统特征库的匹配结果形成一特征矩阵,所述特征矩阵与所述收银系统特征库具有相同的列维度;
相似度计算模块,与所述收银系统特征库及特征获取模块连接,将所述特征矩阵与所述收银系统特征库进行相似度计算,选择所述收银系统特征库中相似度最高的收银系统作为与所述本地收银系统相匹配的收银系统。
优选地,所述收银系统识别装置还包括:数据交互模块,与所述收银系统特征库连接,所述数据交互模块根据所述收银系统特征库中已匹配的收银系统的配置文件与所述本地收银系统进行数据交互;应用模块,与所述数据交互模块连接,所述应用模块包括显示单元及输入单元,向用户提供交互界面,所述应用模块还通过接口与外部连接,获取订单信息,对所述订单信息处理后通过所述数据交互模块将处理后的订单信息推送给所述本地收银系统。
本发明还公开了一种计算机可读存储介质,设于安装有收银系统的计算机内,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
S106:预设一收银系统特征库,所述收银系统特征库包括至少一种收银系统的属性信息,所述属性信息包括进程名称、注册表字段、配置文件路径、DLL文件特征、数据库类型,其中,上述属性信息内容保存为矩阵形式,矩阵的列维度表示各属性信息的类别,矩阵的行维度表示不同的收银系统,每一种收银系统对应一行序号;
S107:获取本地收银系统的属性信息,并根据所述属性信息与所述收银系统特征库的匹配结果形成一特征矩阵,所述特征矩阵与所述收银系统特征库具有相同的列维度;
S108:将所述特征矩阵与所述收银系统特征库进行相似度计算,选择所述收银系统特征库中相似度最高的收银系统作为与所述本地收银系统相匹配的收银系统。
优选地,步骤S107进一步包括以下步骤:
S107-1:获取本地收银系统的进程名称,并将所述本地收银系统的进程名称与所述收银系统特征库中的所有进程名称相匹配,判断所述收银系统特征库中是否有进程名称匹配成功;
S107-2:当所述收银系统特征库中有进程名称匹配成功时,则记录匹配成功的进程名称在所述收银系统特征库中的行序号作为所述特征矩阵中对应进程名称的参数,并根据所述本地收银系统的进程名称获取所述本地收银系统的系统路径及所述系统路径下的DLL文件特征及exe文件特征,其中,DLL文件特征及exe文件特征分别表示为矩阵形式,其中行维度为DLL文件或exe文件的文件名,列维度为DLL文件或exe文件相对于系统路径的层级及创建时间,并对上述矩阵进行降维及归一化处理,得到DLL文件特征值及exe文件特征值,所述DLL文件特征值及exe文件特征值作为所述特征矩阵中对应DLL文件特征或exe文件特征的参数,转入步骤S107-4;
S107-3:当所述收银系统特征库中无进程名称匹配成功时,则所述特征矩阵中对应进程名的参数为0,对所述收银系统特征库内的配置文件路径执行遍历查找操作,将所述本地收银系统的配置文件路径与所述收银系统特征库中的所有配置文件路径相匹配,判断所述收银系统特征库中是否有配置文件路径匹配成功,若匹配成功,则记录匹配成功的配置文件路径在所述收银系统特征库中的行序号作为所述特征矩阵中对应配置文件路径的参数,转入步骤S107-4;
S107-4:遍历查找所述收银系统特征库内的注册表字段,将所述本地收银系统的注册表字段与所述收银系统特征库中的所有注册表字段相匹配,判断所述收银系统特征库中是否有注册表字段匹配成功,若匹配成功,则记录匹配成功的注册表字段在所述收银系统特征库中的行序号作为所述特征矩阵中对应注册表字段的参数,若未匹配成功,则所述特征矩阵中对应注册表字段的参数为0;
S107-5:从所述本地收银系统所在的计算机的服务列表中查找所述本地收银系统的数据库服务,若所述数据库服务已存在,则获取并记录所述本地收银系统的数据库类型;若所述数据库服务不存在,则所述特征矩阵中对应数据库类型的参数为0;
S107-6:若上述步骤S107-1至S107-5中得到的所述特征矩阵中各参数对应的行序号的数据库连接信息为空,则通过所述本地收银系统的配置文件或DLL文件注入的方式获取所述本地收银系统的数据库连接信息,将所述数据库连接信息记录在所述收银系统特征库中。
优选地,步骤S108之后,所述计算机程序还进一步包括以下步骤:
S109:根据所述收银系统应用领域的业务的数据库表名称和字段判断所述收银系统特征库与所述本地收银系统的版本兼容性,其中,所述收银系统特征库中还包括数据库特征和数据表特征,其中所述数据库特征为针对至少一种业务的数据库操作语句相关联的表名称集合,所述数据表特征为针对至少一种业务的数据库操作语句相关联的字段集合;步骤S109包括以下步骤:
S109-1:获取所述本地收银系统所有的表名称;
S109-2:计算所述本地收银系统的表名称与所述数据库特征的相似度并归一化为相似百分比;
S109-3:取所述本地收银系统的表名称与所述数据库特征的并集,获取所述并集中的表的字段,得到基于表维度的收银系统表特征矩阵;
S109-4:将所述收银系统表特征矩阵与所述收银系统特征库中同一品牌下各版本的数据库特征及数据表特征进行相似度计算,得到各个版本的相似百分比;
S109-5:根据贝叶斯公式计算数据库特征相似前提下数据表特征最相似的收银系统版本作为所述本地收银系统的版本。
优选地,步骤S109之后,所述计算机程序还进一步包括以下步骤:
S110:通过贝叶斯公式检验所述业务的关键路径的所有节点是否满足兼容性要求,其中关键路径为所述业务涉及的表名称及表内关键字段。
采用了上述技术方案后,与现有技术相比,具有以下有益效果:
1.准确识别不同厂家的本地收银系统;
2.兼容同一厂家的本地收银系统的不同版本;
3.实现自动化识别,操作方便,易于使用。
附图说明
图1为符合本发明一优选实施例中收银系统识别方法的流程示意图;
图2为图1中步骤S102的流程示意图;
图3为图1中步骤S104的流程示意图;
图4为符合本发明一优选实施例中收银系统识别装置的结构框图;
图5为符合本发明一优选实施例中所述计算机可读存储介质中计算机程序的流程示意图。
附图标记:
10-收银系统识别装置、11-收银系统特征库、12-特征获取模块、13-相似度计算模块、14-数据交互模块、15-应用模块。
具体实施方式
以下结合附图与具体实施例进一步阐述本发明的优点。
参阅图1,为符合本发明一优选实施例中收银系统识别方法的流程示意图,适用于餐饮行业的收银系统,所述收银系统识别方法包括以下步骤:
S101:预设一收银系统特征库,所述收银系统特征库包括至少一种收银系统的属性信息,所述属性信息包括进程名称、注册表字段、配置文件路径、DLL文件特征、数据库类型,其中,上述属性信息内容保存为矩阵形式,矩阵的列维度表示各属性信息的类别,矩阵的行维度表示不同的收银系统,每一种收银系统对应一行序号。
可针对现有的成熟的各厂商的收银系统建立上述收银系统特征库,记录多个收银系统的属性信息,甚至对于同一厂商品牌的的收银系统的不同版本也可分开记录。所述属性信息主要针对收银系统的数据库,不限于上述内容,还可包括收银系统厂商的品牌、exe文件特征等。举例来说,所述收银系统特征库对应的矩阵如表1所示:
表1
序号 | 品牌 | 进程名称 | 注册表字段 | 配置文件路径 | DLL文件特征 | 数据库类型 |
1 | 品牌1 | 进程1 | 注册表1 | 路径1 | DLL文件1 | 类型1 |
2 | 品牌1 | 进程1 | 注册表1 | 路径2 | DLL文件2 | 类型1 |
3 | 品牌2 | 进程2 | 注册表2 | 路径3 | DLL文件3 | 类型2 |
4 | 品牌3 | 进程3 | 注册表3 | 路径4 | DLL文件4 | 类型1 |
5 | 品牌4 | 进程4 | 注册表4 | 路径5 | DLL文件5 | 类型1 |
表1以矩阵形式展示了所述收银系统特征库,包括了5个收银系统的属性信息,每一行的信息都属于同一收银系统,每一列则代表一种属性信息,每个收银系统对应一个行序号。可以看出,表1中给出了4个品牌的收银系统,其中品牌1分别有两个版本不同的收银系统,分别为序号1和序号2。另外序号3、序号4及序号5分别对应不同品牌的收银系统,具有不同的进程名称、注册表字段、配置文件路径、DLL文件特征。其中进程名称即收银系统在其运行的计算机的操作系统中的进程名称;注册表字段则是收银系统在其运行的计算机的操作系统的注册表中的注册信息关键字;配置文件路径则是收银系统的数据库的配置文件在其运行的计算机中的存放路径;DLL文件特征则是收银系统安装目录下的所有DLL文件的MD5值,MD5即Message-Digest Algorithm 5(信息-摘要算法5),用于确保信息传输完整一致,是计算机广泛使用的杂凑算法之一(又译摘要算法、哈希算法),主流编程语言普遍已有MD5实现;数据库类型则是收银系统的数据库种类,如Oracle、SQL Server、DB2等。
S102:获取本地收银系统的属性信息,并根据所述属性信息与所述收银系统特征库的匹配结果形成一特征矩阵,所述特征矩阵与所述收银系统特征库具有相同的列维度。
本地收银系统即安装在餐厅计算机上的本地的收银系统,所述计算机可以是通用计算机,也可以是专用于收银的收银计算机或其他手持智能设备。本步骤中,获取所述本地收银系统的属性信息,也就是与表1中的属性信息相对应的内容,再将所述属性信息与所述收银系统特征库进行匹配,得到的匹配结果形成一特征矩阵,该特征矩阵的元素内容根据本地收银系统的不同而不同,且与所述收银系统特征库具有相同的列维度,即特征矩阵具有表1中相同的列数。
具体地,如图2所示,步骤S102进一步包括以下步骤:
S102-1:获取本地收银系统的进程名称,并将所述本地收银系统的进程名称与所述收银系统特征库中的所有进程名称相匹配,判断所述收银系统特征库中是否有进程名称匹配成功。
对于收银系统特征库的各项属性信息,首先对进程名称进行判断。可通过查找所述本地收银系统所在的计算机的进程列表,将系统进程去除,即可得到目标进程,即本地收银系统的进程名称,而后与所述收银系统特征库中的所有进程名称进行匹配,并判断所述收银系统特征库中是否有进程名称匹配成功,需要注意的是,可能会有多个进程名称匹配成功。然而,某些厂商品牌开发的本地收银系统,会出现与其他品牌的本地收银系统的进程名称相同的情况,还需要继续判断其他属性信息,详见下文步骤。
S102-2:当所述收银系统特征库中有进程名称匹配成功时,则记录匹配成功的进程名称在所述收银系统特征库中的行序号作为所述特征矩阵中对应进程名称的参数,并根据所述本地收银系统的进程名称获取所述本地收银系统的系统路径及所述系统路径下的DLL文件特征及exe文件特征,其中,DLL文件特征及exe文件特征分别表示为矩阵形式,其中行维度为DLL文件或exe文件的文件名,列维度为DLL文件或exe文件相对于系统路径的层级及创建时间,并对上述矩阵进行降维及归一化处理,得到DLL文件特征值及exe文件特征值,所述DLL文件特征值及exe文件特征值作为所述特征矩阵中对应DLL文件特征或exe文件特征的参数,转入步骤S102-4。
当步骤S102-1中进程名称匹配成功时,执行本步骤S102-2,执行的操作是将匹配成功的进程名称在收银系统特征库中的行序号进行记录,记录在所述特征矩阵中对应进程名称的列中。例如若本地收银系统的进程名为进程3,通过表1可知行序号为4的那一行的进程名称与本地收银系统匹配,则将行序号“4”作为对应进程名称的参数记录在所述特征矩阵内。当有多个收银系统特征库中的进程名称匹配时,记录符合条件的最小的行序号,下文步骤中的其他属性信息的判断选取也遵从此方式。由于一个餐厅一般只运行一套本地收银系统,因此针对本地收银系统的特征矩阵实际上是只有一行维度的行向量,该行向量的每个元素对应收银系统特征库中的一列,即对应一种属性信息。
此外,本步骤还对DLL文件特征及exe文件特征进行判断,具体地,根据本地收银系统的进程名称可以进一步获取该进程对应的系统路径,进而获知系统路径下的所有DLL文件及exe文件的内容。而后根据DLL文件及exe文件的信息分别构建DLL文件特征矩阵及exe文件特征矩阵,上述矩阵的行维度为DLL文件或exe文件的文件名,上述矩阵的列维度为DLL文件或exe文件相对于系统路径的层级及创建时间,上述相对系统路径的层级及创建时间均可用二进制数表示,故可作为矩阵的元素进行记录。本步骤还对DLL文件特征矩阵及exe文件特征矩阵进行降维及归一化处理,得到DLL文件特征值及exe文件特征值,也就是将一个矩阵转化为一个数值。具体地,降维的实现可通过不同列元素进行求和实现,归一化可通过每个元素除以各元素之和得到0~1之间的数值。最后将DLL文件特征值及exe文件特征值作为所述特征矩阵中对应DLL文件特征或exe文件特征的参数进行记录。本步骤执行完毕后进入步骤S102-4。
S102-3:当所述收银系统特征库中无进程名称匹配成功时,则所述特征矩阵中对应进程名的参数为0,对所述收银系统特征库内的配置文件路径执行遍历查找操作,将所述本地收银系统的配置文件路径与所述收银系统特征库中的所有配置文件路径相匹配,判断所述收银系统特征库中是否有配置文件路径匹配成功,若匹配成功,则记录匹配成功的配置文件路径在所述收银系统特征库中的行序号作为所述特征矩阵中对应配置文件路径的参数,转入步骤S102-4。
当步骤S102-1中无进程名称匹配成功时,执行本步骤S102-3,执行的操作是将所述特征矩阵中对应进程名的参数为0,意味着没有进程名称匹配。本步骤还对所述收银系统特征库内的配置文件路径执行遍历查找操作,核查收银系统特征库中是否有配置文件路径与所述本地收银系统的配置文件路径匹配,即在无法匹配进程名称的情况下,继续判断其他属性信息。若匹配成功,则记录收银系统特征库中匹配成功的配置文件路径的行序号在所述特征矩阵中;若不成功,则在所述特征矩阵对应配置文件路径的位置上记录为0。本步骤执行完毕后进入步骤S102-4。
S102-4:遍历查找所述收银系统特征库内的注册表字段,将所述本地收银系统的注册表字段与所述收银系统特征库中的所有注册表字段相匹配,判断所述收银系统特征库中是否有注册表字段匹配成功,若匹配成功,则记录匹配成功的注册表字段在所述收银系统特征库中的行序号作为所述特征矩阵中对应注册表字段的参数,若未匹配成功,则所述特征矩阵中对应注册表字段的参数为0。
本步骤则继续对注册表字段进行匹配,并根据匹配结果在所述特征矩阵对应注册表字段的位置记录匹配成功的行序号或0。
S102-5:从所述本地收银系统所在的计算机的服务列表中查找所述本地收银系统的数据库服务,若所述数据库服务已存在,则获取并记录所述本地收银系统的数据库类型;若所述数据库服务不存在,则所述特征矩阵中对应数据库类型的参数为0。
本步骤的实现须检索所述本地收银系统所在的计算机的服务列表,从所述服务列表中查找本地收银系统的数据库服务,若有数据库服务存在,则根据数据库服务判断本地收银系统的数据库类型,并记录在所述特征矩阵中对应数据库类型的位置上;若数据库服务不存在,则所述特征矩阵中对应数据库类型的参数为0。
S102-6:若上述步骤S102-1至S102-5中得到的所述特征矩阵中各参数对应的行序号的数据库连接信息为空,则通过所述本地收银系统的配置文件或DLL文件注入的方式获取所述本地收银系统的数据库连接信息,将所述数据库连接信息记录在所述收银系统特征库中。
经过步骤S102-1至S102-5,所述特征矩阵内的各属性信息均已填入所匹配的收银系统特征库中的行序号或者0。然而,进行收银系统匹配的目的在于实现与本地收银系统的数据库连接,进而实现业务数据交互,故本步骤完成数据库连接信息的获取。首先根据特征矩阵中记录的行序号从收银系统特征库中查找该行是否记录有数据库连接信息,所述数据库连接信息可以是与数据库连接所需的操作语句、表名称、字段等信息。若没有查找到数据库连接信息,则通过所述本地收银系统的配置文件或DLL文件注入的方式获取所述本地收银系统的数据库连接信息,再将所述数据库连接信息记录在所述收银系统特征库中。例如若通过配置文件路径获知了本地收银系统的配置文件,则配置文件中会记录有数据库连接信息;此外还可通过DLL文件注入的方式获取,即将一个DLL文件放进本地收银系统的进程的地址空间里,让它成为那个进程的一部分,根据进程的数据流可获知数据库连接信息。
综合上述步骤S102-1至S102-6,可实现对本地收银系统的属性信息进行匹配。举例来说,通过上述步骤获取到的本地收银系统的进程名称为进程2,注册表字段为注册表1,配置文件路径为路径4,DLL文件特征为DLL文件3,数据库类型为类型2,则得到的特征矩阵为:{3;1;4;3;3},特征矩阵的元素内容即收银系统特征库中对应上述属性信息的行序号,该特征矩阵仅有一个行维度,也可当做一个向量。
S103:将所述特征矩阵与所述收银系统特征库进行相似度计算,选择所述收银系统特征库中相似度最高的收银系统作为与所述本地收银系统相匹配的收银系统。
本步骤对步骤S102中得到的特征矩阵与所述收银系统特征库中的各收银系统的属性信息进行相似度计算,得到与本地收银系统相似度最高的收银系统特征库中的收银系统,相似度计算的算法可以是欧几里得距离算法、曼哈顿距离算法等。在相似度计算之前还可对特征矩阵进行归一化,例如归一化为百分比的形式,这样计算得到的相似度可以体现对本地收银系统的识别概率,例如计算得到的相似度最高的收银系统的相似度值为0.9,则表示90%的概率已经识别到收银系统特征库中的收银系统。
通过上述步骤S101至步骤S103,能够对本地收银系统进行全局性的评估,找到收银系统特征库中最匹配的收银系统,还能克服现有技术中不同收银系统采用相同进程名称或对exe文件名称修改的不利状况。通过步骤S102获取的数据库连接信息,可实现对本地收银系统的数据库的访问,进而实现外部与本地收银系统的数据交互,支持各种业务的运转。
S104:根据所述收银系统应用领域的业务的数据库表名称和字段判断所述收银系统特征库与所述本地收银系统的版本兼容性,其中,所述收银系统特征库中还包括数据库特征和数据表特征,其中所述数据库特征为针对至少一种业务的数据库操作语句相关联的表名称集合,所述数据表特征为针对至少一种业务的数据库操作语句相关联的字段集合。
考虑到同一品牌下会存在多个版本的本地收银系统,且这些版本的本地收银系统的属性参数会接近或一致,导致通过上述步骤很难进一步准确识别,故通过步骤S104对数据库表名称和字段进行判断来实现对不同版本的本地收银系统的识别,实现对不同版本的兼容。本发明中所述收银系统应用于餐饮领域,其业务主要有订单下单、收银结算等,根据业务的种类不同,每种业务涉及的数据库表名称及字段也会不同,例如订单下单业务会涉及菜品名称的表以及各个菜品名称字段,收银结算业务会涉及收支表及金额字段。对本发明而言,互联网餐饮系统与餐厅的数据交互并未覆盖本地收银系统的所有业务种类,只需对关键的几个业务对应的表名称及字段进行判别即可。本实施例中,通过数据库操作语句实现和本地收银系统的数据交互,每一业务都会有对应的数据库操作语句,从中可以获知该操作语句相关联的表名称,将表名称的集合作为数据库特征,将数据库操作语句相关联的字段的集合作为数据表特征。在收银系统特征库中,可预设各收银系统的数据库特征及数据表特征。所述收银系统特征库支持的所有收银系统的数据库特征及数据表特征构成矩阵形式的数据库特征库,其中数据库特征库的行维度是各个数据库操作语句所涉及的表名称,列维度是各个数据库操作语句里中所涉及到的字段。
具体地,如图3所示,步骤S104包括以下步骤:
S104-1:获取所述本地收银系统所有的表名称。
通过步骤S102获取的数据库连接信息可实现对本地收银系统数据库的访问,从而可以获知本地收银系统所有的表名称。
S104-2:计算所述本地收银系统的表名称与所述数据库特征的相似度并归一化为相似百分比。
本步骤对本地收银系统的表名称与收银系统特征库中的数据库特征计算相似度,并进行归一化处理,得到相似百分比。相似度可通过杰卡德系数来计算,又称为Jaccard相似系数(Jaccard similarity coefficient),用于比较有限样本集之间的相似性与差异性。
S104-3:取所述本地收银系统的表名称与所述数据库特征的并集,获取所述并集中的表的字段,得到基于表维度的收银系统表特征矩阵。
S104-2执行后,肯能仍无法排除不同版本的收银系统具有相同的表名称的情况,需要进一步对字段进行判断匹配。本步骤的目的在于获得收银系统表特征矩阵,也就是针对本地收银系统的数据库特征及数据表特征来构建对应的矩阵。具体地,先对本地收银系统的表名称与所述数据库特征取并集操作,这样可以滤除本地收银系统中与目标业务不相关的表,减小后期的匹配工作量。而后获取并集中的表的字段,构建基于表维度的收银系统表特征矩阵,其中该矩阵的每一行表示同一个表,列元素则为字段。
S104-4:将所述收银系统表特征矩阵与所述收银系统特征库中同一品牌下各版本的数据库特征及数据表特征进行相似度计算,得到各个版本的相似百分比。
本步骤中,本步骤仍然执行相似度计算,参与计算的各方为收银系统特征表矩阵以及收银系统特征库中同一品牌下各版本的数据库特征及数据表特征,即数据库特征库。相似度计算的算法可采用步骤S103中的相似度计算方法。本步骤还对计算得到的相似度结果进行归一化,例如归一化为0-1之间的数值,从而得到针对各个版本的相似百分比。
S104-5:根据贝叶斯公式计算数据库特征相似前提下数据表特征最相似的收银系统版本作为所述本地收银系统的版本。
得到各版本的相似百分比后,上述步骤实际上实现了对表名称和字段的两次相似度计算,需要得到综合的匹配结果,故采用贝叶斯公式计算数据库特征相似前提下数据表特征最相似的收银系统版本,并将最相思的收银系统版本作为所述本地收银系统的版本,实现对本地收银系统的识别。贝叶斯公式用于计算条件概率,也适用于本发明中在不同的数据库特征相似的情况下,对数据表特征的相似度进行综合计算,得到最合理的相似度结果。
进一步地,步骤S104之后,所述收银系统识别方法还进一步包括以下步骤:
S105:通过贝叶斯公式检验所述业务的关键路径的所有节点是否满足兼容性要求,其中关键路径为所述业务涉及的表名称及表内关键字段。
对于已经识别的本地收银系统,即便经过了各种匹配算法及相似度计算,仍有可能存在不完全兼容的问题,即需要与本地收银系统进行交互的所有业务中,存在某个无法交互的字段或表名称,导致业务无法顺利运行。因此需要对此类情况进行判断并规避与本地收银系统交互失败的风险。本步骤提出了关键路径的概念,餐饮行业中具有多项业务,每一项业务均有关键路径,比如获取账单业务,最关键的在于获取菜品以及订单总金额,这两项正确,获取账单进行付款的业务便可以使用,其他的信息对业务的实现没有必然影响,可忽略,而关键路径的节点是一系列业务步骤所涉及的表以及表内关键字段,只有关键路径的所有节点满足兼容性要求,方能实现业务的运行。具体地,通过贝叶斯公式对步骤S104中有关数据库特征及数据表特征的相似度进行计算,若某个表或字段的相似度小于1,则表明该业务在现有版本上无法完成;针对相似度低于1的表,生成限制标记,表明涉及该表的数据库操作语句不能执行,规避程序出错,并提示研发部门改进。如果关键路径上的所有节点的相似度均等于1,表明主业务无误,可以与餐厅实现交互。本步骤实现了对本地收银系统的兼容性进行检验,确保业务交互的成功率。
参阅图4,为符合本发明一优选实施例中收银系统识别装置10的结构框图,所述收银系统识别装置10设于安装有收银系统的计算机内,包括:
-收银系统特征库11
所述收银系统特征库预设于所述收银系统识别装置10内,包括至少一种收银系统的属性信息,所述属性信息包括进程名称、注册表字段、配置文件路径、DLL文件特征、数据库类型,其中,上述属性信息内容保存为矩阵形式,矩阵的列维度表示各属性信息的类别,矩阵的行维度表示不同的收银系统,每一种收银系统对应一行序号。
-特征获取模块12
所述特征获取模块12与所述收银系统特征库11连接,获取安装于所述计算机内的本地收银系统的属性信息,并根据所述属性信息与所述收银系统特征库11的匹配结果形成一特征矩阵,所述特征矩阵与所述收银系统特征库11具有相同的列维度。
-相似度计算模块13
所述相似度计算模块13与所述收银系统特征库11及特征获取模块12连接,将所述特征矩阵与所述收银系统特征库11进行相似度计算,选择所述收银系统特征库11中相似度最高的收银系统作为与所述本地收银系统相匹配的收银系统。
-数据交互模块14
所述数据交互模块14与所述收银系统特征库11连接,所述数据交互模块14根据所述收银系统特征库11中已匹配的收银系统的配置文件与所述本地收银系统进行数据交互。所述数据交互模块14根据所述配置文件中的数据库操作语句实现对本地收银系统的数据库的访问,从而实现业务交互。
-应用模块15
所述应用模块15与所述数据交互模块14连接,所述应用模块15包括显示单元及输入单元,向用户提供交互界面。所述应用模块15还通过接口与外部连接,如互联网通信接口等,获取来自外部的订单信息,对所述订单信息处理后通过所述数据交互模块14将处理后的订单信息推送给所述本地收银系统,实现餐饮下单业务的运行。
参阅图5,为符合本发明一优选实施例中所述计算机可读存储介质中计算机程序的流程示意图,所述计算机可读存储介质设于安装有收银系统的计算机内,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
S106:预设一收银系统特征库,所述收银系统特征库包括至少一种收银系统的属性信息,所述属性信息包括进程名称、注册表字段、配置文件路径、DLL文件特征、数据库类型,其中,上述属性信息内容保存为矩阵形式,矩阵的列维度表示各属性信息的类别,矩阵的行维度表示不同的收银系统,每一种收银系统对应一行序号;
S107:获取本地收银系统的属性信息,并根据所述属性信息与所述收银系统特征库的匹配结果形成一特征矩阵,所述特征矩阵与所述收银系统特征库具有相同的列维度;
S108:将所述特征矩阵与所述收银系统特征库进行相似度计算,选择所述收银系统特征库中相似度最高的收银系统作为与所述本地收银系统相匹配的收银系统。
具体地,步骤S107进一步包括以下步骤:
S107-1:获取本地收银系统的进程名称,并将所述本地收银系统的进程名称与所述收银系统特征库中的所有进程名称相匹配,判断所述收银系统特征库中是否有进程名称匹配成功;
S107-2:当所述收银系统特征库中有进程名称匹配成功时,则记录匹配成功的进程名称在所述收银系统特征库中的行序号作为所述特征矩阵中对应进程名称的参数,并根据所述本地收银系统的进程名称获取所述本地收银系统的系统路径及所述系统路径下的DLL文件特征及exe文件特征,其中,DLL文件特征及exe文件特征分别表示为矩阵形式,其中行维度为DLL文件或exe文件的文件名,列维度为DLL文件或exe文件相对于系统路径的层级及创建时间,并对上述矩阵进行降维及归一化处理,得到DLL文件特征值及exe文件特征值,所述DLL文件特征值及exe文件特征值作为所述特征矩阵中对应DLL文件特征或exe文件特征的参数,转入步骤S107-4;
S107-3:当所述收银系统特征库中无进程名称匹配成功时,则所述特征矩阵中对应进程名的参数为0,对所述收银系统特征库内的配置文件路径执行遍历查找操作,将所述本地收银系统的配置文件路径与所述收银系统特征库中的所有配置文件路径相匹配,判断所述收银系统特征库中是否有配置文件路径匹配成功,若匹配成功,则记录匹配成功的配置文件路径在所述收银系统特征库中的行序号作为所述特征矩阵中对应配置文件路径的参数,转入步骤S107-4;
S107-4:遍历查找所述收银系统特征库内的注册表字段,将所述本地收银系统的注册表字段与所述收银系统特征库中的所有注册表字段相匹配,判断所述收银系统特征库中是否有注册表字段匹配成功,若匹配成功,则记录匹配成功的注册表字段在所述收银系统特征库中的行序号作为所述特征矩阵中对应注册表字段的参数,若未匹配成功,则所述特征矩阵中对应注册表字段的参数为0;
S107-5:从所述本地收银系统所在的计算机的服务列表中查找所述本地收银系统的数据库服务,若所述数据库服务已存在,则获取并记录所述本地收银系统的数据库类型;若所述数据库服务不存在,则所述特征矩阵中对应数据库类型的参数为0;
S107-6:若上述步骤S107-1至S107-5中得到的所述特征矩阵中各参数对应的行序号的数据库连接信息为空,则通过所述本地收银系统的配置文件或DLL文件注入的方式获取所述本地收银系统的数据库连接信息,将所述数据库连接信息记录在所述收银系统特征库中。
进一步地,步骤S108之后,所述计算机程序还进一步包括以下步骤:
S109:根据所述收银系统应用领域的业务的数据库表名称和字段判断所述收银系统特征库与所述本地收银系统的版本兼容性,其中,所述收银系统特征库中还包括数据库特征和数据表特征,其中所述数据库特征为针对至少一种业务的数据库操作语句相关联的表名称集合,所述数据表特征为针对至少一种业务的数据库操作语句相关联的字段集合。
具体地,步骤S109包括以下步骤:
S109-1:获取所述本地收银系统所有的表名称;
S109-2:计算所述本地收银系统的表名称与所述数据库特征的相似度并归一化为相似百分比;
S109-3:取所述本地收银系统的表名称与所述数据库特征的并集,获取所述并集中的表的字段,得到基于表维度的收银系统表特征矩阵;
S109-4:将所述收银系统表特征矩阵与所述收银系统特征库中同一品牌下各版本的数据库特征及数据表特征进行相似度计算,得到各个版本的相似百分比;
S109-5:根据贝叶斯公式计算数据库特征相似前提下数据表特征最相似的收银系统版本作为所述本地收银系统的版本。
作为所述计算机程序的进一步改进,步骤S109之后,所述计算机程序还进一步包括以下步骤:
S110:通过贝叶斯公式检验所述业务的关键路径的所有节点是否满足兼容性要求,其中关键路径为所述业务涉及的表名称及表内关键字段。
上述计算机程序的方法步骤与本发明中的收银系统识别方法的实现方式一致,不再赘述。
应当注意的是,本发明的实施例有较佳的实施性,且并非对本发明作任何形式的限制,任何熟悉该领域的技术人员可能利用上述揭示的技术内容变更或修饰为等同的有效实施例,但凡未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何修改或等同变化及修饰,均仍属于本发明技术方案的范围内。
Claims (10)
1.一种收银系统识别方法,其特征在于,包括以下步骤:
S101:预设一收银系统特征库,所述收银系统特征库包括至少一种收银系统的属性信息,所述属性信息包括进程名称、注册表字段、配置文件路径、DLL文件特征、数据库类型,其中,上述属性信息内容保存为矩阵形式,矩阵的列维度表示各属性信息的类别,矩阵的行维度表示不同的收银系统,每一种收银系统对应一行序号;
S102:获取本地收银系统的属性信息,并根据所述属性信息与所述收银系统特征库的匹配结果形成一特征矩阵,所述特征矩阵与所述收银系统特征库具有相同的列维度;
S103:将所述特征矩阵与所述收银系统特征库进行相似度计算,选择所述收银系统特征库中相似度最高的收银系统作为与所述本地收银系统相匹配的收银系统。
2.如权利要求1所述的收银系统识别方法,其特征在于,
步骤S102进一步包括以下步骤:
S102-1:获取本地收银系统的进程名称,并将所述本地收银系统的进程名称与所述收银系统特征库中的所有进程名称相匹配,判断所述收银系统特征库中是否有进程名称匹配成功;
S102-2:当所述收银系统特征库中有进程名称匹配成功时,则记录匹配成功的进程名称在所述收银系统特征库中的行序号作为所述特征矩阵中对应进程名称的参数,并根据所述本地收银系统的进程名称获取所述本地收银系统的系统路径及所述系统路径下的DLL文件特征及exe文件特征,其中,DLL文件特征及exe文件特征分别表示为矩阵形式,其中行维度为DLL文件或exe文件的文件名,列维度为DLL文件或exe文件相对于系统路径的层级及创建时间,并对上述矩阵进行降维及归一化处理,得到DLL文件特征值及exe文件特征值,所述DLL文件特征值及exe文件特征值作为所述特征矩阵中对应DLL文件特征或exe文件特征的参数,转入步骤S102-4;
S102-3:当所述收银系统特征库中无进程名称匹配成功时,则所述特征矩阵中对应进程名的参数为0,对所述收银系统特征库内的配置文件路径执行遍历查找操作,将所述本地收银系统的配置文件路径与所述收银系统特征库中的所有配置文件路径相匹配,判断所述收银系统特征库中是否有配置文件路径匹配成功,若匹配成功,则记录匹配成功的配置文件路径在所述收银系统特征库中的行序号作为所述特征矩阵中对应配置文件路径的参数,转入步骤S102-4;
S102-4:遍历查找所述收银系统特征库内的注册表字段,将所述本地收银系统的注册表字段与所述收银系统特征库中的所有注册表字段相匹配,判断所述收银系统特征库中是否有注册表字段匹配成功,若匹配成功,则记录匹配成功的注册表字段在所述收银系统特征库中的行序号作为所述特征矩阵中对应注册表字段的参数,若未匹配成功,则所述特征矩阵中对应注册表字段的参数为0;
S102-5:从所述本地收银系统所在的计算机的服务列表中查找所述本地收银系统的数据库服务,若所述数据库服务已存在,则获取并记录所述本地收银系统的数据库类型;若所述数据库服务不存在,则所述特征矩阵中对应数据库类型的参数为0;
S102-6:若上述步骤S102-1至S102-5中得到的所述特征矩阵中各参数对应的行序号的数据库连接信息为空,则通过所述本地收银系统的配置文件或DLL文件注入的方式获取所述本地收银系统的数据库连接信息,将所述数据库连接信息记录在所述收银系统特征库中。
3.如权利要求1或2所述的收银系统识别方法,其特征在于,
步骤S103之后,所述收银系统识别方法还进一步包括以下步骤:
S104:根据所述收银系统应用领域的业务的数据库表名称和字段判断所述收银系统特征库与所述本地收银系统的版本兼容性,其中,所述收银系统特征库中还包括数据库特征和数据表特征,其中所述数据库特征为针对至少一种业务的数据库操作语句相关联的表名称集合,所述数据表特征为针对至少一种业务的数据库操作语句相关联的字段集合;
步骤S104包括以下步骤:
S104-1:获取所述本地收银系统所有的表名称;
S104-2:计算所述本地收银系统的表名称与所述数据库特征的相似度并归一化为相似百分比;
S104-3:取所述本地收银系统的表名称与所述数据库特征的并集,获取所述并集中的表的字段,得到基于表维度的收银系统表特征矩阵;
S104-4:将所述收银系统表特征矩阵与所述收银系统特征库中同一品牌下各版本的数据库特征及数据表特征进行相似度计算,得到各个版本的相似百分比;
S104-5:根据贝叶斯公式计算数据库特征相似前提下数据表特征最相似的收银系统版本作为所述本地收银系统的版本。
4.如权利要求3所述的收银系统识别方法,其特征在于,步骤S104之后,所述收银系统识别方法还进一步包括以下步骤:
S105:通过贝叶斯公式检验所述业务的关键路径的所有节点是否满足兼容性要求,其中关键路径为所述业务涉及的表名称及表内关键字段。
5.一种收银系统识别装置,设于安装有收银系统的计算机内,其特征在于,包括:
收银系统特征库,预设于所述收银系统识别装置内,包括至少一种收银系统的属性信息,所述属性信息包括进程名称、注册表字段、配置文件路径、DLL文件特征、数据库类型,其中,上述属性信息内容保存为矩阵形式,矩阵的列维度表示各属性信息的类别,矩阵的行维度表示不同的收银系统,每一种收银系统对应一行序号;
特征获取模块,与所述收银系统特征库连接,获取安装于所述计算机内的本地收银系统的属性信息,并根据所述属性信息与所述收银系统特征库的匹配结果形成一特征矩阵,所述特征矩阵与所述收银系统特征库具有相同的列维度;
相似度计算模块,与所述收银系统特征库及特征获取模块连接,将所述特征矩阵与所述收银系统特征库进行相似度计算,选择所述收银系统特征库中相似度最高的收银系统作为与所述本地收银系统相匹配的收银系统。
6.如权利要求5所述的收银系统识别装置,其特征在于,
所述收银系统识别装置还包括:
数据交互模块,与所述收银系统特征库连接,所述数据交互模块根据所述收银系统特征库中已匹配的收银系统的配置文件与所述本地收银系统进行数据交互;
应用模块,与所述数据交互模块连接,所述应用模块包括显示单元及输入单元,向用户提供交互界面,所述应用模块还通过接口与外部连接,获取订单信息,对所述订单信息处理后通过所述数据交互模块将处理后的订单信息推送给所述本地收银系统。
7.一种计算机可读存储介质,设于安装有收银系统的计算机内,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现以下步骤:
S106:预设一收银系统特征库,所述收银系统特征库包括至少一种收银系统的属性信息,所述属性信息包括进程名称、注册表字段、配置文件路径、DLL文件特征、数据库类型,其中,上述属性信息内容保存为矩阵形式,矩阵的列维度表示各属性信息的类别,矩阵的行维度表示不同的收银系统,每一种收银系统对应一行序号;
S107:获取本地收银系统的属性信息,并根据所述属性信息与所述收银系统特征库的匹配结果形成一特征矩阵,所述特征矩阵与所述收银系统特征库具有相同的列维度;
S108:将所述特征矩阵与所述收银系统特征库进行相似度计算,选择所述收银系统特征库中相似度最高的收银系统作为与所述本地收银系统相匹配的收银系统。
8.如权利要求7所述的计算机可读存储介质,其特征在于,
步骤S107进一步包括以下步骤:
S107-1:获取本地收银系统的进程名称,并将所述本地收银系统的进程名称与所述收银系统特征库中的所有进程名称相匹配,判断所述收银系统特征库中是否有进程名称匹配成功;
S107-2:当所述收银系统特征库中有进程名称匹配成功时,则记录匹配成功的进程名称在所述收银系统特征库中的行序号作为所述特征矩阵中对应进程名称的参数,并根据所述本地收银系统的进程名称获取所述本地收银系统的系统路径及所述系统路径下的DLL文件特征及exe文件特征,其中,DLL文件特征及exe文件特征分别表示为矩阵形式,其中行维度为DLL文件或exe文件的文件名,列维度为DLL文件或exe文件相对于系统路径的层级及创建时间,并对上述矩阵进行降维及归一化处理,得到DLL文件特征值及exe文件特征值,所述DLL文件特征值及exe文件特征值作为所述特征矩阵中对应DLL文件特征或exe文件特征的参数,转入步骤S107-4;
S107-3:当所述收银系统特征库中无进程名称匹配成功时,则所述特征矩阵中对应进程名的参数为0,对所述收银系统特征库内的配置文件路径执行遍历查找操作,将所述本地收银系统的配置文件路径与所述收银系统特征库中的所有配置文件路径相匹配,判断所述收银系统特征库中是否有配置文件路径匹配成功,若匹配成功,则记录匹配成功的配置文件路径在所述收银系统特征库中的行序号作为所述特征矩阵中对应配置文件路径的参数,转入步骤S107-4;
S107-4:遍历查找所述收银系统特征库内的注册表字段,将所述本地收银系统的注册表字段与所述收银系统特征库中的所有注册表字段相匹配,判断所述收银系统特征库中是否有注册表字段匹配成功,若匹配成功,则记录匹配成功的注册表字段在所述收银系统特征库中的行序号作为所述特征矩阵中对应注册表字段的参数,若未匹配成功,则所述特征矩阵中对应注册表字段的参数为0;
S107-5:从所述本地收银系统所在的计算机的服务列表中查找所述本地收银系统的数据库服务,若所述数据库服务已存在,则获取并记录所述本地收银系统的数据库类型;若所述数据库服务不存在,则所述特征矩阵中对应数据库类型的参数为0;
S107-6:若上述步骤S107-1至S107-5中得到的所述特征矩阵中各参数对应的行序号的数据库连接信息为空,则通过所述本地收银系统的配置文件或DLL文件注入的方式获取所述本地收银系统的数据库连接信息,将所述数据库连接信息记录在所述收银系统特征库中。
9.如权利要求7或8所述的计算机可读存储介质,其特征在于,
步骤S108之后,所述计算机程序还进一步包括以下步骤:
S109:根据所述收银系统应用领域的业务的数据库表名称和字段判断所述收银系统特征库与所述本地收银系统的版本兼容性,其中,所述收银系统特征库中还包括数据库特征和数据表特征,其中所述数据库特征为针对至少一种业务的数据库操作语句相关联的表名称集合,所述数据表特征为针对至少一种业务的数据库操作语句相关联的字段集合;
步骤S109包括以下步骤:
S109-1:获取所述本地收银系统所有的表名称;
S109-2:计算所述本地收银系统的表名称与所述数据库特征的相似度并归一化为相似百分比;
S109-3:取所述本地收银系统的表名称与所述数据库特征的并集,获取所述并集中的表的字段,得到基于表维度的收银系统表特征矩阵;
S109-4:将所述收银系统表特征矩阵与所述收银系统特征库中同一品牌下各版本的数据库特征及数据表特征进行相似度计算,得到各个版本的相似百分比;
S109-5:根据贝叶斯公式计算数据库特征相似前提下数据表特征最相似的收银系统版本作为所述本地收银系统的版本。
10.如权利要求9所述的计算机可读存储介质,其特征在于,步骤S109之后,所述计算机程序还进一步包括以下步骤:
S110:通过贝叶斯公式检验所述业务的关键路径的所有节点是否满足兼容性要求,其中关键路径为所述业务涉及的表名称及表内关键字段。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810677644.2A CN109034781B (zh) | 2018-06-27 | 2018-06-27 | 一种收银系统识别方法、识别装置及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810677644.2A CN109034781B (zh) | 2018-06-27 | 2018-06-27 | 一种收银系统识别方法、识别装置及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109034781A true CN109034781A (zh) | 2018-12-18 |
CN109034781B CN109034781B (zh) | 2022-02-22 |
Family
ID=64610735
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810677644.2A Active CN109034781B (zh) | 2018-06-27 | 2018-06-27 | 一种收银系统识别方法、识别装置及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109034781B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114691699A (zh) * | 2022-06-02 | 2022-07-01 | 上海金仕达软件科技有限公司 | 一种智能结算方法及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103226583A (zh) * | 2013-04-08 | 2013-07-31 | 北京奇虎科技有限公司 | 一种广告插件识别的方法和装置 |
CN104298757A (zh) * | 2014-10-22 | 2015-01-21 | 福建星网视易信息系统有限公司 | 一种兼容多版本移动客户端及数据库的方法及系统 |
US20150121397A1 (en) * | 2013-10-28 | 2015-04-30 | Foundation Of Soongsil University-Industry Cooperation | Data processing method, apparatus and computer program product for similarity comparison of software programs |
CN104915413A (zh) * | 2015-06-05 | 2015-09-16 | 广东顺德中山大学卡内基梅隆大学国际联合研究院 | 一种健康检测方法及系统 |
CN106709347A (zh) * | 2016-11-25 | 2017-05-24 | 腾讯科技(深圳)有限公司 | 应用运行的方法及装置 |
CN107851156A (zh) * | 2015-07-30 | 2018-03-27 | 日本电信电话株式会社 | 分析方法、分析装置和分析程序 |
-
2018
- 2018-06-27 CN CN201810677644.2A patent/CN109034781B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103226583A (zh) * | 2013-04-08 | 2013-07-31 | 北京奇虎科技有限公司 | 一种广告插件识别的方法和装置 |
US20150121397A1 (en) * | 2013-10-28 | 2015-04-30 | Foundation Of Soongsil University-Industry Cooperation | Data processing method, apparatus and computer program product for similarity comparison of software programs |
CN104298757A (zh) * | 2014-10-22 | 2015-01-21 | 福建星网视易信息系统有限公司 | 一种兼容多版本移动客户端及数据库的方法及系统 |
CN104915413A (zh) * | 2015-06-05 | 2015-09-16 | 广东顺德中山大学卡内基梅隆大学国际联合研究院 | 一种健康检测方法及系统 |
CN107851156A (zh) * | 2015-07-30 | 2018-03-27 | 日本电信电话株式会社 | 分析方法、分析装置和分析程序 |
CN106709347A (zh) * | 2016-11-25 | 2017-05-24 | 腾讯科技(深圳)有限公司 | 应用运行的方法及装置 |
Non-Patent Citations (3)
Title |
---|
FARIA, F.A等: "Automatic classifier fusion for produce recognition", 《2012 XXV SIBGRAPI - CONFERENCE ON GRAPHICS, PATTERNS AND IMAGES (SIBGRAPI 2012)》 * |
吴晨 等: "一种虚拟化恶意程序检测系统的实现", 《西安邮电大学学报》 * |
王礼刚: "基于XML的Web文本数据挖掘研究", 《中国优秀硕士学位论文全文数据库 (信息科技辑)》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114691699A (zh) * | 2022-06-02 | 2022-07-01 | 上海金仕达软件科技有限公司 | 一种智能结算方法及系统 |
CN114691699B (zh) * | 2022-06-02 | 2022-09-16 | 上海金仕达软件科技有限公司 | 一种智能结算方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN109034781B (zh) | 2022-02-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10860548B2 (en) | Generating and reusing transformations for evolving schema mapping | |
CA2728432C (en) | Querying joined data within a search engine index | |
US8375029B2 (en) | Data processing | |
Romero et al. | Automatic validation of requirements to support multidimensional design | |
US8996555B2 (en) | Question answering framework for structured query languages | |
Bidoit et al. | Query-based why-not provenance with nedexplain | |
US20140095343A1 (en) | Supply chain orchestration system with configure-to-order item matching | |
US9594816B2 (en) | System and method to provide analytical processing of data in a distributed data storage systems | |
US20120246154A1 (en) | Aggregating search results based on associating data instances with knowledge base entities | |
US8219572B2 (en) | System and method for searching enterprise application data | |
US20100106747A1 (en) | Dynamically building and populating data marts with data stored in repositories | |
US8396882B2 (en) | Systems and methods for generating issue libraries within a document corpus | |
US20070106938A1 (en) | Technology platform for electronic commerce and a method thereof | |
US11636078B2 (en) | Personally identifiable information storage detection by searching a metadata source | |
US20210149979A1 (en) | System and Method for Accessing and Managing Cognitive Knowledge | |
CN102270201B (zh) | 用于网络文件的多维索引的方法和设备 | |
CN109034781A (zh) | 一种收银系统识别方法、识别装置及计算机可读存储介质 | |
US20090030896A1 (en) | Inference search engine | |
US20170091214A1 (en) | System and method for populating dynamic folders for sharing content over the web | |
US20080208883A1 (en) | Method And System For A User-Customizable Interactive Physician Recall Message Database | |
US20110060745A1 (en) | Method and system for configurable index generation and application | |
Gruenberg | Multi-Model Snowflake Schema Creation | |
US20240061866A1 (en) | Methods and systems for a standardized data asset generator based on ontologies detected in knowledge graphs of keywords for existing data assets | |
US11960468B1 (en) | Late-binding database views | |
Storvoll | Comparative study of data transformation tools: An investigation of functionalities supported in common tools and case study of declarative and procedural data manipulation languages |
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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20231214 Address after: 200331, Room 515, No. 788 Zhenbei Road, Putuo District, Shanghai Patentee after: Meizhiwei (Shanghai) Information Technology Co.,Ltd. Address before: Building 88, 3rd Floor, No. 899 Zuchongzhi Road, Pudong New Area, Shanghai, 200000 Patentee before: DELICIOUS NOWAIT (SHANGHAI) INFORMATION TECHNOLOGY CO.,LTD. |
|
TR01 | Transfer of patent right |