手机浏览器扫描二维码访问
看到这里,叶新晨心里有了底,开始观察程序所在目录,果然在里面找到个dat文件;用十六进制编辑器打开,里面果然是网上传来的原始报文信息,二进制格式。
报文格式是网元编号:信息。
再检查相关代码,很显然,这是因为网元编号被底层通讯模块丢弃了,只把文本信息返回给了上层;这就使得上层无法区分信息来自哪个网元。
平常这样做还没有问题;但遇到同时连接多个网元且需要同时检查多个网元返回、且返回信息还比较多时,数据就乱了。
这个东西太基础。
因为它和上层关系太过紧密,修改它影响太大;而且底层通讯模块的源码已经丢失……
于是,叶新晨尝试用字符串分析的办法来恢复它,鉴于不同命令返回格式不同、数据各异,叶新晨也是用程序尝试识别每个字段的数据类型,然后再检测它是否为有序内容。
叶新晨把这类列叫“索引列”
,索引列有三种,一种是1、2、3这样的数字编号,另一种是网元编号这样一整个都是某个固定数字字符的,还有就是年月日时分秒这样的时间信息;它们可能同时全部出现,但也可能只出现其中一种,甚至全都没有。
当识别出索引列之后,叶新晨就把顺序不乱、时间不跳变的若干行视为一个整体;然后像分析单词的“编辑距离”
一样,寻找一种使得数据整体上“编辑距离”
调整最小的方案,把混淆的数据分隔开。
因为一组数据可能有多个索引列,按照不同索引列拆分的方案还可能不一样。
因此叶新晨也是不得不遍历各种拆分方案,寻找综合最优的那种方案……
这是个挺复杂的程序。
实际上它超出了TCL的能力范围——它的确能工作,而且没有出错时消耗很小;但一旦出错,它需要一分多钟才能恢复。
总之,叶新晨还是把这个程序写出来了,而且的确能自动识别并纠正这种问题;但性能消耗太严重,不是可用于生产的正常解决方案。
想到这里,叶新晨还是决定帮他们重写底层通讯模块,修改通讯约定。
虽然这的确会引起底层代码的大量更改,但毕竟范围还算可控,而且不需要付出恐怖的性能代价。
就以上种种这一次是真的占用了叶新晨挺长时间,一个星期还没有完成。
因为发布悬赏的这个小公司也是意识到了叶子是个大神级别的人物,所以原本他们的悬赏价格只是两万,后来发现了那个积年老BUG又提升到了三万,到现在悬赏价格已经提升到了八万,就是想让叶新晨也一起寻找BUG根新底层模块的需求分析和代码编写。
看在悬赏这么高的份上,叶新晨也是其中帮他们设计了一下新通讯模块。
也因此,就因为这个悬赏,直接干了叶新晨整整七天,好在悬赏已经结算了,不然的话叶新晨都觉得是不是太累了点,当然还有一些方向上的代码编写,叶新晨为了职业道德还是需要给他们写一点的。
PS:感谢神文2019的一百起点币打赏。
一个略懂风水的愣头小子,为了调查朋友的死因,开启的一系列诡异的冒险旅程而仙山中遗迹诡秘的地宫消失的古国,一个又一个的神秘之地,就像一个个择人而噬的陷阱,等待着下一个闯进来的陌生人...
为了孩子,勉强结个婚。小柚子想要弟弟,小龙眼想要妹妹,嗯,我可以再勉强一次。去你的大爷的!谁要你勉强!...
缉毒警察赵明哲,执行卧底任务时出现意外,重生到异界大陆,发现自己竟然以男儿身,成为和女子有婚约的小妾,连上门女婿都不如。万幸,赵明哲偶得武神赵子龙传承,经历无数阴谋阳谋,踏上了一段可歌可泣的崛起之路...
我不是做梦吧?诸葛家的那个耻辱,居然召唤出魔宠了,一只,两只…好痛,你掐我做什么?痛了?!那真不是梦!诸葛家的那个异类,真的成为召唤师了!而且,她居然能召唤出这么多魔宠,我靠,还在召唤!要掐掐你自己啊,我叉你个贱人!众人不解,一夕之间,那自卑的鸡窝头少女变的如此飞扬,如此明艳,如此霸气是怎么回事?她一朝穿越,成了个人人唾弃的大家族私生女。没有任何资质,被断言一辈子都无法成为召唤师,在他人眼里她就是家族的耻辱。在这个召唤师为尊的世界里,她要如何面对?没实力,没关系,我会强到横着走,无人敢拦!没地位?没关系,我会让所有人的都仰视我。仰视到他们的脖子都痛为止!没钱?没关系,我自己赚。赚到钱多的可以砸晕人!她终会名动天下,举世瞩目!...
猩红的酒水灌入她的口中,从和那个魔鬼签订协议开始,那个曾经自带光环的伊家大小姐开始变得不同,外表风光无限,可是他的一句话就能让她家破人亡,她不得不留在他的身边,受尽折磨。...
现代中医师,误闯入古代农家小院,成为一名名副其实的小村姑凭借自己的医术与现代知识,小村姑一步步华丽蜕变,成了村里人人称扬的大夫原本就这样一辈子过下去也挺好,却不想,一次意外,遇见了从未路面的便宜爹爹,还是个在京城做大官的?莫名其妙成了京城众人耻笑的官家小姐,没关系,你是正牌小姐,老娘不稀罕,老娘有医术傍身,奇异动物在手,还怕你们所谓的小姐公子不成?且看沈雅如何在古代的名门望族,带着母亲和弟弟,吃香喝辣求收藏,求推荐,求各种包养!...