微盟系统被员工删库,这事到底有多严重?相关各方将会面临什么样的处境?
我08年就开始从事软件工作,直到17年后才没有写程序。虽然没有进过大厂,但是对于软件开发的管理规范还是非常熟悉的。
我最早入行的时候,还没有云服务,都是公司自己架的服务器。有一台服务器是专门做程序和数据库的备份。那个时候我是经理,每天晚上下班前,我都要把数据同步到备份服务器里面,备份服务器只有我们进。机房也必须要公司的证明才能进,所以从理论上来说,如果要删库的话,只有我一个人有权限。
当然,这个大家也都可以想到,所以我也给老板提了建议,我每天把程序和数据库除了导到备份服务器外,还会导出到本地,然后发给老板。这样就算遇到意外,最多也就损失一天的数据。
后来去了几家大公司后,就更加严格,每一层的权限都控制的很死,老板手上一定自己管理着一个备份。
即使后来使用了云服务器,也会做一个备份,让老板管理。每天都要检查文件是不是最新的。微盟也算是做的挺大的一个公司,难道老板或者总监不知道要自己掌握好备份吗?我真的感觉这个太不可思议了,因为数据库和源文件,对于一个互联网公司就是命根。
二、程序员会不会做这种事?
我从业的经验来说,从来没有遇到一个程序员会真的这么干,虽然嘴上有时候会抱怨,但是大家都知道这是违法的。我做管理的时候,也是因为有这种担心,所以会把备份做到极为周全。
也会经常给下面的人强调,有任何不满,可以走法律程序,但是如果删源代码或者删库,那就是属于违法行为,要坐牢的,自己掂量清楚这个轻重关系。
所以我从来没有遇到一个程序员会真的做这种事,而且代价多大,大家心里都很清楚,我身边的朋友或者公司,也从来没有遇到这个现象,最有肯定就是批量操作出错,把数据弄乱了,但是数据回滚一下就行了。
三、总结
根据我自己的经验判断,这么大的一个公司,一个小小的程序员就能拿到数据库的最大操作权限,这种事情的可能性很小。
如果不是微盟的管理水平实在太低,那就是另有隐情。
小心翼翼的“手术”过后,更大的挑战在于如何将数据完整地提取出来。
2月26日,数据恢复工作已经开展了三天三夜。当天中午,第一批次的数据拿到,导入数据验证正常。但他们很快发现,他们扫描出来的最新一份数据是截止到2月17日的数据拷贝,完整性尚不确定。
“也就是说,即便这份数据完整,那17号到23号当天的数据也是缺失的。”徐勇州解释,“这个事情,好的一面是明确地告诉我们数据还在,恢复有希望。但是只找回一部分数据意义不大,我们需要完整的数据。”
扫描仍在继续尝试,工程师们逐步发现了更多数据的踪迹。到了周三深夜,新的问题再次出现:工程师们发现,现有的数据备份中,缺少大文件数据,而这些大文件极有可能是微盟最核心的业务数据。它们没有被扫描出来。
“用绝望来形容当时的心情都不夸张,核心数据如果没有,等于前期的工作都白做了,其他数据恢复了都没意义。”徐勇州说。
事实上,此时扫描出的数据大约是微盟数据整体的30%左右,已经符合甚至超过了此前行业对此类事故恢复程度的预期。“这难道真的是一个完不成的任务?”
徐勇州和技术团队不想放弃:核心数据找不回,影响的不止是微盟,还有那些商家的利益。“有一点希望都得试试看。”
徐勇州彻夜未眠。思量再三,决定两条腿走路:一是尝试对磁盘的每一块(block)进行二次扫描;二是让腾讯云的操作系统团队从OS底层入手,制定数据恢复方案PlanB,这需要极其庞大数量的尝试和数据验证,“方案一能成功是最理想的,方案二就意味着数据恢复的时间不确定,业务停摆,继续失血。”
周四上午,第一台服务器的第一块扫描成功,导回数据库查看是完整的。“方案一可行!大家信心一下子又起来了。”
从可行到成功,中间仍有艰难险阻。数据公司提取出来的单一的块,从体积来看还是达不到微盟核心文件的大小。这意味着,要获得完整数据,需要进行数据“拼接”。
就好像整块拼图被打散扔进了大海里,一块一块打捞上来是第一步,拼接是第二步。不同的是,拼图时还能够根据形状来判断哪些可以放在下一块,而拼接数据块,根本无法通过肉眼识别,只能靠一块块去扫描,寻找相似度高的拼接到一起,再重新扫描看断点是否能重合。
庆幸的是微盟的备份机制较为完备,数据的覆盖度和完整性检查等工作非常细致。徐勇州发现,文件类型只有一种,那么就能很容易判断出哪块是开头,拿着开头去找剩下的块,把工作量从“NN”降低到“1N”。
但“1N”的工作量也不小。最大的一个文件,由7块碎片组成。找到开头以后,工程师开始扫描其他有相似性的块。运气好的时候,相似度可能只有一块,运气不好的时候 ,有二三十块。每进行一次拼接,都需要把数据块从头到尾扫描一遍,验证是否匹配。这需要大量的计算力。为了加快扫描和验证,腾讯云服务器团队还临时从上海机房调拨了100多台服务器进行算力支持。
徐勇州已经不记得这样的“打捞、拼接、扫描、验证,重新打捞、拼接、扫描、验证”进行了多少次,只记得每一次都是四五个小时的煎熬。“大家每隔一会儿就在腾讯会议上吼,好了没,好了没,快看看!”
终于,一块又一块的数据被拼接出来,核心数据逐渐被修复。“太不容易了,心情真的跟过山车一样。”
2月28日,深夜,数据修复胜利在望。
“做到100分,在云上迎接重生的微盟”
虽然最初大家并不敢断言数据能否修复,随着两边团队的共同攻坚,大家关注的焦点逐渐变成数据能不能做到100%的修复。
然而,即便是方法论经过了验证,但就像写程序一样,在一些细微的地方总会有一些意想不到的bug出现。
2月29日凌晨,恢复到最后一台服务器时,徐勇州和技术团队盘查发现,前面找回来的那些数据只有整体数据量的70%-80%。按照前面核心数据恢复的方法推演,如果逻辑成立的话,此时恢复的数据应该是100%。
剩下的数据去哪了?到底是哪个环节出了问题?“我们的目标是要做100分,哪怕失掉5分,对一个商家来说可能就是全部。”徐勇州和团队连夜把所有的数据又重新盘点了一遍,把验证的逻辑再推导了一遍:扫描了多少?提取了多少?哪些校验过?哪些没有?
又是一夜未眠。3月1日凌晨,终于在另一个的区段中,被遗漏的数据被“打捞”了出来。原来有一部分数据在提取时因为环境等各种原因被疏忽了,在把所有的数据都汇总整理和对齐后,很快找到了对应的那段未提取区段,然后又是进行紧张的“打捞、拼接、扫描、验证”,但这时的团队已经是技术娴熟,胸有成竹。
3月1日晚,微盟发布公告称,数据已经全面找回。同时宣布基础设施全力上云。

根据微盟公告,微盟将采取以下措施提升对数据安全的保障:首先在权限管理方面,使用腾讯云CAM权限系统进行云资源管理,严格执行分级授权和最小集权制度,对高危险动作执行二次授权制度;使用腾讯云堡垒机替换自建堡垒机,进行细粒度许可权分级和授权管理。
其次,在北京、上海、南京等地区建立全备份的冷备系统架构,借助腾讯云IaaS的底层服务能力,建立高可用的同城双活架构;所有非结构化数据使用腾讯COS对象存储系统进行归档保存并启用多异地复制功能。
最后,借助腾讯云数据库MySQL的数据高可用和安全体系,逐步放弃自建数据库服务,迁移到腾讯云数据库(CDB),提升数据库跨可用区和易地灾备的能力,同时,将原来合作的黑石10物理机全面升级黑石20,全面使用云主机。
在徐勇州看来,微盟事故的发生对其他企业的数据安全保护也敲响了警钟,数据安全事件背后折射出的是,仅仅依靠单点防护难以达到真正的安全防护效果,而构建基于全生命周期的安全防护成为必然选择。
微盟公告发出以后,腾讯云技术团队在微信群里收到了微盟团队的集体致谢。那个全程见证事件进展的超长腾讯会议的会议号,被团队提议作为一个永久的番号保留。
小程序开发分两种
1:定制开发
定制开发周期长,费用高,靠谱的保底10万+(需求调研费用,开发费用,UI设计费用,测试费用,维护费用,服务器费用等)。
定制开发不提供服务,只负责帮你把小程序开发出来,后续的服务器,维护要再付一笔不菲的费用,这些总报价高于10万的开发团队不一定靠谱,低于10万的肯定不靠谱。
2:SAAS开发
目前市面上95%以上的商城小程序都是SAAS开发。
saas开发是现成软件加服务,服务器租用,bug,硬件,服务器,维护都不需要你操心。
开发周期短,费用低,性价比高,功能足以满足商城所有需求。
SAAS开发的商城小程序,功能大致一样,涵盖市面上所有商城类功能,去掉各种眼花缭乱不实用的功能,分为2种:
1:基础版功能
可以通过后台搭建、设计页面,上传产品,管理商品发货,入库,统计商品数据,会员数据,在线支付,购物车,商城订单,客服功能。
2:营销版功能
会员等级,会员VIP,会员储值,会员积分,优惠券功能,团购功能,限时秒杀功能,砍价功能,积分商城功能,三级分销功能。
做商城小程序仅仅是为了商品展示建议买基础版,如果是为了吸引流量,为了做营销活动,建议买营销版。
有赞和微盟性价比太低,价格贵,掺杂一堆没用的功能,服务也不怎么样,不推荐这两个。
现在能saas开发小程序的公司非常多,选择很广,我发几个自己参考,为防广告就不说公司名字了,对商城小程序价格有个谱,知道个大致范围。
做一个自己的商城小程序价格基本在1000-3000左右(超过3000做多出来的属于智商税)
1299的高级版是我现在在用的,以这家后台为例简单说下怎么搭建的
1:所有SAAS小程序都一样,先注册后台账号,注册完成后跳转选择模板
根据你自己行业选一个适合的模板,然后会进入到设计后台,设计页面很简单,将模块拖动到手机页面上,规划好主页从上到下放哪些模块,哪些产品。
然后就是上传商品,比如你卖的产品是鞋子,把鞋子名称、类别、品牌、价格、进货价、编号、市场价、库存、销量、货位号等数据填好,保存,主页设置超链接,就可直接在小程序上打开。
同样的如果要设置该产品活动,在后台每个功能栏指定活动添加该商品即可。
比如优惠券功能
积分功能
砍价功能
团购功能
限时秒杀功能
0条评论